[sakai-kernel] [Sakai Jira] Created: (KERN-750) If a remove and save of a JSON tree happens really fast after each other, we sometimes receives an error

1 view
Skip to first unread message

Christian Vuerings (JIRA)

unread,
Apr 22, 2010, 11:45:47 AM4/22/10
to sakai-...@googlegroups.com
If a remove and save of a JSON tree happens really fast after each other, we sometimes receives an error
--------------------------------------------------------------------------------------------------------

Key: KERN-750
URL: http://jira.sakaiproject.org/browse/KERN-750
Project: Nakamura
Issue Type: Bug
Components: Content - other
Affects Versions: 0.4
Environment: Firefox 3.6
Reporter: Christian Vuerings
Fix For: 0.5
Attachments: Screen shot 2010-04-22 at 16.14.38.png

When we fire a delete and a createtree operation very fast after each other, we sometimes get the following exceptions (1 in 10 times):
404
Missing source NonExistingResource, path=/_user/a/ad/admin/private/my_sakai_state for delete
500
javax.jcr.InvalidItemStateException: 1f7045f9-d1bf-464a-ae1b-79ff88a889e3/{}uid has been modified externally

Oszkar and Simon suggested to have an extra parameter for the createTree operation such as :delete = true that would also delete the tree under there.
This would take care of this current issue and would bring back 2 requests into 1.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
22.04.2010 16:15:09.711 *ERROR* [0:0:0:0:0:0:0:1%0 [1271949309564] POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1] org.sakaiproject.nakamura.batch.CreateTreeOperation Exception during response processing. javax.jcr.ItemNotFoundException: failed to build path of 89f6ce57-b04e-43d5-a5c1-080e3d02f300: f3999c11-2dcd-47fd-8607-ded692c3c145 has no child entry for 89f6ce57-b04e-43d5-a5c1-080e3d02f300
at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:291)
at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
at org.apache.jackrabbit.core.HierarchyManagerImpl.buildPath(HierarchyManagerImpl.java:280)
at org.apache.jackrabbit.core.CachingHierarchyManager.buildPath(CachingHierarchyManager.java:198)
at org.apache.jackrabbit.core.HierarchyManagerImpl.getPath(HierarchyManagerImpl.java:395)
at org.apache.jackrabbit.core.CachingHierarchyManager.getPath(CachingHierarchyManager.java:232)
at org.apache.jackrabbit.core.security.DefaultAccessManager.isGranted(DefaultAccessManager.java:233)
at org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultAccessManager.isGranted(PluggableDefaultAccessManager.java:118)
at org.apache.jackrabbit.core.ItemManager.canRead(ItemManager.java:447)
at org.apache.jackrabbit.core.ItemManager.canRead(ItemManager.java:434)
at org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:403)
at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:336)
at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:615)
at org.apache.jackrabbit.core.PropertyImpl.getParent(PropertyImpl.java:818)
at org.apache.jackrabbit.core.PropertyImpl.checkSetValue(PropertyImpl.java:224)
at org.apache.jackrabbit.core.PropertyImpl.setValue(PropertyImpl.java:635)
at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2356)
at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:1601)
at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2221)
at org.sakaiproject.nakamura.batch.CreateTreeOperation.createTree(CreateTreeOperation.java:121)
at org.sakaiproject.nakamura.batch.CreateTreeOperation.createTree(CreateTreeOperation.java:109)
at org.sakaiproject.nakamura.batch.CreateTreeOperation.createTree(CreateTreeOperation.java:109)
at org.sakaiproject.nakamura.batch.CreateTreeOperation.createTree(CreateTreeOperation.java:109)
at org.sakaiproject.nakamura.batch.CreateTreeOperation.doRun(CreateTreeOperation.java:86)
at org.apache.sling.servlets.post.AbstractSlingPostOperation.run(AbstractSlingPostOperation.java:87)
at org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:178)
at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:143)
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:338)
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:369)
at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:525)
at org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:421)
at org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
at org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.sakaiproject.nakamura.persistence.TransactionManagerFilter.doFilter(TransactionManagerFilter.java:95)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.sakaiproject.nakamura.cluster.ClusterTrackingFilter.doFilter(ClusterTrackingFilter.java:87)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:306)
at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:202)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.ops4j.pax.web.service.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.ops4j.pax.web.service.internal.HttpServiceContext.handle(HttpServiceContext.java:111)
at org.ops4j.pax.web.service.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)


22.04.2010 16:39:38.166 *ERROR* [0:0:0:0:0:0:0:1%0 [1271950778044] POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1] org.apache.sling.servlets.post.impl.operations.DeleteOperation Exception during response processing. javax.jcr.InvalidItemStateException: 1f7045f9-d1bf-464a-ae1b-79ff88a889e3/{}uid has been modified externally
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1145)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:919)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.sling.jcr.base.SessionProxyHandler$SessionProxyInvocationHandler.invoke(SessionProxyHandler.java:109)
at $Proxy11.save(Unknown Source)
at org.apache.sling.servlets.post.AbstractSlingPostOperation.run(AbstractSlingPostOperation.java:106)
at org.apache.sling.servlets.post.impl.SlingPostServlet.doPost(SlingPostServlet.java:178)
at org.apache.sling.api.servlets.SlingAllMethodsServlet.mayService(SlingAllMethodsServlet.java:143)
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:338)
at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:369)
at org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:525)
at org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:421)
at org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:64)
at org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.sakaiproject.nakamura.persistence.TransactionManagerFilter.doFilter(TransactionManagerFilter.java:95)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.sakaiproject.nakamura.cluster.ClusterTrackingFilter.doFilter(ClusterTrackingFilter.java:87)
at org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:60)
at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:306)
at org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:202)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at org.ops4j.pax.web.service.internal.HttpServiceServletHandler.handle(HttpServiceServletHandler.java:64)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.ops4j.pax.web.service.internal.HttpServiceContext.handle(HttpServiceContext.java:111)
at org.ops4j.pax.web.service.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:64)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)



22.04.2010 16:15:09.720 *INFO* [0:0:0:0:0:0:0:1%0 [1271949309564] POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1] logs/request.log 22/Apr/2010:16:15:09 +0100 [1838] <- 500 text/html 156ms
22.04.2010 16:15:09.720 *INFO* [0:0:0:0:0:0:0:1%0 [1271949309564] POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1] logs/access.log 0:0:0:0:0:0:0:1%0 - admin 22/Apr/2010:16:15:09 +0100 "POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1" 500 2617 "http://localhost:8080/dev/my_sakai.html" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
22.04.2010 16:15:10.352 *INFO* [0:0:0:0:0:0:0:1%0 [1271949310352] POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1] logs/request.log 22/Apr/2010:16:15:10 +0100 [1839] -> POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1
22.04.2010 16:15:10.369 *INFO* [0:0:0:0:0:0:0:1%0 [1271949310352] POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1] logs/request.log 22/Apr/2010:16:15:10 +0100 [1839] <- 404 text/html 17ms
22.04.2010 16:15:10.370 *INFO* [0:0:0:0:0:0:0:1%0 [1271949310352] POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1] logs/access.log 0:0:0:0:0:0:0:1%0 - admin 22/Apr/2010:16:15:10 +0100 "POST /_user/a/ad/admin/private/my_sakai_state HTTP/1.1" 404 2392 "http://localhost:8080/dev/my_sakai.html" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.sakaiproject.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira



--
You received this message because you are subscribed to the Google Groups "Sakai Kernel" group.
To post to this group, send email to sakai-...@googlegroups.com.
To unsubscribe from this group, send email to sakai-kernel...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/sakai-kernel?hl=en.

Simon Gaeremynck (JIRA)

unread,
Apr 22, 2010, 11:51:43 AM4/22/10
to sakai-...@googlegroups.com

[ http://jira.sakaiproject.org/browse/KERN-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Gaeremynck reassigned KERN-750:
-------------------------------------

Assignee: Simon Gaeremynck

> If a remove and save of a JSON tree happens really fast after each other, we sometimes receives an error
> --------------------------------------------------------------------------------------------------------
>
> Key: KERN-750
> URL: http://jira.sakaiproject.org/browse/KERN-750
> Project: Nakamura
> Issue Type: Bug
> Components: Content - other
> Affects Versions: 0.4
> Environment: Firefox 3.6
> Reporter: Christian Vuerings
> Assignee: Simon Gaeremynck

Simon Gaeremynck (JIRA)

unread,
Apr 22, 2010, 5:35:48 PM4/22/10
to sakai-...@googlegroups.com

[ http://jira.sakaiproject.org/browse/KERN-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Gaeremynck resolved KERN-750.
-----------------------------------

Resolution: Fixed

Added in http://github.com/simong/open-experiments/commit/8fe720a03569bd6562a790ef5c503a5c32139610

I'll update the docs to reflect the change.

> If a remove and save of a JSON tree happens really fast after each other, we sometimes receives an error
> --------------------------------------------------------------------------------------------------------
>
> Key: KERN-750
> URL: http://jira.sakaiproject.org/browse/KERN-750
> Project: Nakamura
> Issue Type: Bug
> Components: Content - other
> Affects Versions: 0.4
> Environment: Firefox 3.6
> Reporter: Christian Vuerings
> Assignee: Simon Gaeremynck
Reply all
Reply to author
Forward
0 new messages