jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Boston <...@tfd.co.uk>
Subject relentless InvalidItemStateException
Date Mon, 18 Oct 2010 19:38:30 GMT
I am having persistent/relentless problems with InvalidItemStateExceptions of the form  below.
In this http request there are multiple save operations, and when there are, under load (12
concurrent threads) I get random InvalidItemStateExceptions.

They can take 1000s of requests to happen or they can take just a few. Each request has a
unique path so I am reasonably certain no 2 requests are modifying the same node. If I remove
some of the save() operation, then the occurrence drops leading me to think that there is
a problem with doing a sequence of session.save operations.

I am also reasonably certain that there are no Observation managers making changes in other
threads, or SystemSessions making modifications in access control providers and the like.
The test is being run against a single node, no cluster, ClusterNode or Journal that could
be modifying.

Even Stranger is sometimes it reports InvalidItemState on the root node /, but that might
have been before I eliminated all Workspace.copy() operations.

any ideas, I am a bit stuck on this "bug" having been at it for 3 days.


18.10.2010 20:29:05.814 *ERROR* [ [1287430145192] POST /system/userManager/group.create.json
HTTP/1.1] org.sakaiproject.nakamura.personal.ProfileImporter Unable to import content for
profile node node /_group/t/te/tes/test/teste/tester4_gr1_14_4/public/authprofile javax.jcr.InvalidItemStateException:
Item cannot be saved because it has been modified externally: node /
	at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:249)
	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:981)
	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:920)
	at org.apache.sling.jcr.contentloader.internal.DefaultContentImporter.importContent(DefaultContentImporter.java:112)
	at org.sakaiproject.nakamura.personal.ProfileImporter.importFromJsonString(ProfileImporter.java:102)
	at org.sakaiproject.nakamura.personal.ProfileImporter.importFromParameters(ProfileImporter.java:90)
	at org.sakaiproject.nakamura.personal.PersonalAuthorizablePostProcessor.updateProfileProperties(PersonalAuthorizablePostProcessor.java:191)
	at org.sakaiproject.nakamura.personal.PersonalAuthorizablePostProcessor.createHomeFolder(PersonalAuthorizablePostProcessor.java:287)
	at org.sakaiproject.nakamura.personal.PersonalAuthorizablePostProcessor.process(PersonalAuthorizablePostProcessor.java:156)
	at org.sakaiproject.nakamura.user.AuthorizablePostProcessServiceImpl.process(AuthorizablePostProcessServiceImpl.java:132)
	at org.sakaiproject.nakamura.user.AuthorizablePostProcessServiceImpl.process(AuthorizablePostProcessServiceImpl.java:167)

View raw message