You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Tanju Erinmez <ta...@gmail.com> on 2006/06/22 00:14:41 UTC
Versioning not working with InMemPersistenceManager
Greetings,
I'm investigating the mentioned PM to speed up unit testing when I
noticed that it throws a NoSuchItemStateException in connection with
versioning (neither jackrabbit-core-1.0.1 nor latest from trunk work).
After looking into the code a bit of InMemPersistenceManager.java, I
got the impression that the wrong store map seems to be populated
(stateStore instead of refsStore). I changed the code accordingly in
store(NodeReferences refs) and destroy(NodeReferences refs) and the
versioning runs fine (at least for me).
Is this a viable fix?
TIA,
Tanju
---------
CONFIG:
default repository.xml except the following in sections <Workspace>
and <Versioning>:
<PersistenceManager
class="org.apache.jackrabbit.core.state.mem.InMemPersistenceManager">
<param name="persistent" value="false"/>
</PersistenceManager>
TRACE:
Exception in thread "main" javax.jcr.RepositoryException:
/resources/jcr:baseVersion: unable to update item.:
4ab7c8b0-c685-4371-9d82-a6feb9d03481:
4ab7c8b0-c685-4371-9d82-a6feb9d03481
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1216)
at org.apache.jackrabbit.core.NodeImpl.checkin(NodeImpl.java:2891)
at VersioningAndWorkspaces.setupReview(VersioningAndWorkspaces.java:199)
at VersioningAndWorkspaces.main(VersioningAndWorkspaces.java:53)
Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
4ab7c8b0-c685-4371-9d82-a6feb9d03481
at org.apache.jackrabbit.core.state.SharedItemStateManager.getNodeReferences(SharedItemStateManager.java:307)
at org.apache.jackrabbit.core.state.SharedItemStateManager.updateReferences(SharedItemStateManager.java:995)
at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:484)
at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:687)
at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:717)
at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:316)
at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:323)
at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:292)
at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:258)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1208)
Re: Versioning not working with InMemPersistenceManager
Posted by Tobias Bocanegra <to...@day.com>.
hi tanju,
yes, you're correct. with is wrong. i will fix it asap.
regards, toby
On 6/22/06, Tanju Erinmez <ta...@gmail.com> wrote:
> Greetings,
>
> I'm investigating the mentioned PM to speed up unit testing when I
> noticed that it throws a NoSuchItemStateException in connection with
> versioning (neither jackrabbit-core-1.0.1 nor latest from trunk work).
>
> After looking into the code a bit of InMemPersistenceManager.java, I
> got the impression that the wrong store map seems to be populated
> (stateStore instead of refsStore). I changed the code accordingly in
> store(NodeReferences refs) and destroy(NodeReferences refs) and the
> versioning runs fine (at least for me).
>
> Is this a viable fix?
>
> TIA,
> Tanju
>
> ---------
>
> CONFIG:
> default repository.xml except the following in sections <Workspace>
> and <Versioning>:
> <PersistenceManager
> class="org.apache.jackrabbit.core.state.mem.InMemPersistenceManager">
> <param name="persistent" value="false"/>
> </PersistenceManager>
>
>
> TRACE:
> Exception in thread "main" javax.jcr.RepositoryException:
> /resources/jcr:baseVersion: unable to update item.:
> 4ab7c8b0-c685-4371-9d82-a6feb9d03481:
> 4ab7c8b0-c685-4371-9d82-a6feb9d03481
> at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1216)
> at org.apache.jackrabbit.core.NodeImpl.checkin(NodeImpl.java:2891)
> at VersioningAndWorkspaces.setupReview(VersioningAndWorkspaces.java:199)
> at VersioningAndWorkspaces.main(VersioningAndWorkspaces.java:53)
> Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
> 4ab7c8b0-c685-4371-9d82-a6feb9d03481
> at org.apache.jackrabbit.core.state.SharedItemStateManager.getNodeReferences(SharedItemStateManager.java:307)
> at org.apache.jackrabbit.core.state.SharedItemStateManager.updateReferences(SharedItemStateManager.java:995)
> at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:484)
> at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:687)
> at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:717)
> at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:316)
> at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:323)
> at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:292)
> at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:258)
> at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1208)
>
--
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---
Re: Versioning not working with InMemPersistenceManager
Posted by Tanju Erinmez <ta...@gmail.com>.
Great, thanks a lot toby.
- Tanju
On 6/22/06, Tobias Bocanegra <to...@day.com> wrote:
> oops...typo, i try again :-)
> --------------------------------------------------
> hi tanju,
> yes, you're correct. the InMemPersistenceManager is buggy. i will fix it asap.
> regards, toby
>
> On 6/22/06, Tanju Erinmez <ta...@gmail.com> wrote:
> > Greetings,
> >
> > I'm investigating the mentioned PM to speed up unit testing when I
> > noticed that it throws a NoSuchItemStateException in connection with
> > versioning (neither jackrabbit-core-1.0.1 nor latest from trunk work).
> >
> > After looking into the code a bit of InMemPersistenceManager.java, I
> > got the impression that the wrong store map seems to be populated
> > (stateStore instead of refsStore). I changed the code accordingly in
> > store(NodeReferences refs) and destroy(NodeReferences refs) and the
> > versioning runs fine (at least for me).
> >
> > Is this a viable fix?
> >
> > TIA,
> > Tanju
> >
> > ---------
> >
> > CONFIG:
> > default repository.xml except the following in sections <Workspace>
> > and <Versioning>:
> > <PersistenceManager
> > class="org.apache.jackrabbit.core.state.mem.InMemPersistenceManager">
> > <param name="persistent" value="false"/>
> > </PersistenceManager>
> >
> >
> > TRACE:
> > Exception in thread "main" javax.jcr.RepositoryException:
> > /resources/jcr:baseVersion: unable to update item.:
> > 4ab7c8b0-c685-4371-9d82-a6feb9d03481:
> > 4ab7c8b0-c685-4371-9d82-a6feb9d03481
> > at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1216)
> > at org.apache.jackrabbit.core.NodeImpl.checkin(NodeImpl.java:2891)
> > at VersioningAndWorkspaces.setupReview(VersioningAndWorkspaces.java:199)
> > at VersioningAndWorkspaces.main(VersioningAndWorkspaces.java:53)
> > Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
> > 4ab7c8b0-c685-4371-9d82-a6feb9d03481
> > at org.apache.jackrabbit.core.state.SharedItemStateManager.getNodeReferences(SharedItemStateManager.java:307)
> > at org.apache.jackrabbit.core.state.SharedItemStateManager.updateReferences(SharedItemStateManager.java:995)
> > at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:484)
> > at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:687)
> > at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:717)
> > at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:316)
> > at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:323)
> > at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:292)
> > at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:258)
> > at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1208)
> >
>
>
> --
> -----------------------------------------< tobias.bocanegra@day.com >---
> Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
> T +41 61 226 98 98, F +41 61 226 98 97
> -----------------------------------------------< http://www.day.com >---
>
Re: Versioning not working with InMemPersistenceManager
Posted by Tobias Bocanegra <to...@day.com>.
oops...typo, i try again :-)
--------------------------------------------------
hi tanju,
yes, you're correct. the InMemPersistenceManager is buggy. i will fix it asap.
regards, toby
On 6/22/06, Tanju Erinmez <ta...@gmail.com> wrote:
> Greetings,
>
> I'm investigating the mentioned PM to speed up unit testing when I
> noticed that it throws a NoSuchItemStateException in connection with
> versioning (neither jackrabbit-core-1.0.1 nor latest from trunk work).
>
> After looking into the code a bit of InMemPersistenceManager.java, I
> got the impression that the wrong store map seems to be populated
> (stateStore instead of refsStore). I changed the code accordingly in
> store(NodeReferences refs) and destroy(NodeReferences refs) and the
> versioning runs fine (at least for me).
>
> Is this a viable fix?
>
> TIA,
> Tanju
>
> ---------
>
> CONFIG:
> default repository.xml except the following in sections <Workspace>
> and <Versioning>:
> <PersistenceManager
> class="org.apache.jackrabbit.core.state.mem.InMemPersistenceManager">
> <param name="persistent" value="false"/>
> </PersistenceManager>
>
>
> TRACE:
> Exception in thread "main" javax.jcr.RepositoryException:
> /resources/jcr:baseVersion: unable to update item.:
> 4ab7c8b0-c685-4371-9d82-a6feb9d03481:
> 4ab7c8b0-c685-4371-9d82-a6feb9d03481
> at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1216)
> at org.apache.jackrabbit.core.NodeImpl.checkin(NodeImpl.java:2891)
> at VersioningAndWorkspaces.setupReview(VersioningAndWorkspaces.java:199)
> at VersioningAndWorkspaces.main(VersioningAndWorkspaces.java:53)
> Caused by: org.apache.jackrabbit.core.state.NoSuchItemStateException:
> 4ab7c8b0-c685-4371-9d82-a6feb9d03481
> at org.apache.jackrabbit.core.state.SharedItemStateManager.getNodeReferences(SharedItemStateManager.java:307)
> at org.apache.jackrabbit.core.state.SharedItemStateManager.updateReferences(SharedItemStateManager.java:995)
> at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(SharedItemStateManager.java:484)
> at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(SharedItemStateManager.java:687)
> at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:717)
> at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:316)
> at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:323)
> at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:292)
> at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:258)
> at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1208)
>
--
-----------------------------------------< tobias.bocanegra@day.com >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
-----------------------------------------------< http://www.day.com >---