New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception after rescan #175

Closed
jutzig opened this Issue Jan 17, 2014 · 0 comments

Comments

Projects
None yet
1 participant
@jutzig
Owner

jutzig commented Jan 17, 2014

If one user browses a project, while another invokes a full rescan on said project, the first user will get an error on his next request.
The reason is, that some pages are stateful and have a serialized object ID that is no longer valid because the rescan destroyed the old objects.
Refreshing again won't help in this case because the URL still points to a broken page version (e.g. ?17). To fix this, the user has to manually remove the page count parameter.
It would be nicer if we could automatically recover from this. Associated stacktrace below:

ERROR   o.a.w.DefaultExceptionMapper Unexpected error occurred
org.eclipse.emf.cdo.util.ObjectNotFoundException: Object OID107200 not found in branch 0 at *
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.createObject(AbstractCDOView.java:1097) ~[na:na]
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.getObject(AbstractCDOView.java:993) ~[na:na]
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.getObject(AbstractCDOView.java:940) ~[na:na]
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.getObject(AbstractCDOView.java:1) ~[na:na]
    at org.jabylon.common.resolver.impl.URIResolverImpl.resolve(URIResolverImpl.java:142) ~[na:na]
    at org.jabylon.rest.ui.model.AbstractEMFModel$LookupFunction.apply(AbstractEMFModel.java:80) ~[na:na]
    at org.jabylon.rest.ui.model.AbstractEMFModel$LoadingSupplier.get(AbstractEMFModel.java:113) ~[na:na]
    at com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:116) ~[na:na]
    at org.jabylon.rest.ui.model.AbstractEMFModel.getDomainObject(AbstractEMFModel.java:47) ~[na:na]
    at org.jabylon.rest.ui.model.EObjectModel.getObject(EObjectModel.java:27) ~[na:na]
    at org.jabylon.rest.ui.model.EObjectModel.getObject(EObjectModel.java:1) ~[na:na]
    at org.jabylon.rest.ui.wicket.panels.PropertyEditorSinglePanel.getRequiredPermission(PropertyEditorSinglePanel.java:417) ~[na:na]
    at org.jabylon.rest.ui.security.PermissionBasedAuthorizationStrategy.isActionAuthorized(PermissionBasedAuthorizationStrategy.java:38) ~[na:na]
    at org.apache.wicket.Component.isActionAuthorized(Component.java:2013) ~[na:na]
    at org.apache.wicket.Component.isEnableAllowed(Component.java:2023) ~[na:na]
    at org.apache.wicket.Component.isEnabledInHierarchy(Component.java:4375) ~[na:na]
    at org.apache.wicket.Component.isStateless(Component.java:2058) ~[na:na]
    at org.apache.wicket.Page$2.component(Page.java:471) ~[na:na]
    at org.apache.wicket.Page$2.component(Page.java:467) ~[na:na]
    at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) ~[na:na]
    at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) ~[na:na]
    at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:867) ~[na:na]
    at org.apache.wicket.Page.isPageStateless(Page.java:465) ~[na:na]
    at org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.getPageInfo(AbstractBookmarkableMapper.java:423) ~[na:na]
    at org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:370) ~[na:na]
    at org.apache.wicket.core.request.mapper.MountedMapper.mapHandler(MountedMapper.java:366) ~[na:na]
    at org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:170) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:403) ~[na:na]
    at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:159) ~[na:na]
    at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:165) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:814) ~[na:na]
    at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281) ~[na:na]
    at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188) ~[na:na]
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245) ~[na:na]
    at org.jabylon.rest.ui.JabylonFilter.doFilter(JabylonFilter.java:89) ~[na:na]
    at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:81) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:35) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:132) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76) ~[na:na]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) ~[javax.servlet_3.0.0.v201112011016.jar:na]
    at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:386) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:457) ~[na:na]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229) ~[na:na]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) ~[na:na]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) ~[na:na]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) ~[na:na]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) ~[na:na]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) ~[na:na]
    at org.eclipse.jetty.server.Server.handle(Server.java:368) ~[na:na]
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) ~[na:na]
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) ~[na:na]
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) ~[na:na]
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) ~[na:na]
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) ~[na:na]
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) ~[na:na]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) ~[na:na]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) ~[na:na]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) ~[na:na]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) ~[na:na]
    at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]
ERROR   o.a.w.u.l.ListenerCollection Error invoking listener: org.apache.wicket.Application$2@623f7562
org.eclipse.emf.cdo.util.ObjectNotFoundException: Object OID107200 not found in branch 0 at *
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.createObject(AbstractCDOView.java:1097) ~[na:na]
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.getObject(AbstractCDOView.java:993) ~[na:na]
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.getObject(AbstractCDOView.java:940) ~[na:na]
    at org.eclipse.emf.internal.cdo.view.AbstractCDOView.getObject(AbstractCDOView.java:1) ~[na:na]
    at org.jabylon.common.resolver.impl.URIResolverImpl.resolve(URIResolverImpl.java:142) ~[na:na]
    at org.jabylon.rest.ui.model.AbstractEMFModel$LookupFunction.apply(AbstractEMFModel.java:80) ~[na:na]
    at org.jabylon.rest.ui.model.AbstractEMFModel$LoadingSupplier.get(AbstractEMFModel.java:113) ~[na:na]
    at com.google.common.base.Suppliers$MemoizingSupplier.get(Suppliers.java:116) ~[na:na]
    at org.jabylon.rest.ui.model.AbstractEMFModel.getDomainObject(AbstractEMFModel.java:47) ~[na:na]
    at org.jabylon.rest.ui.model.EObjectModel.getObject(EObjectModel.java:27) ~[na:na]
    at org.jabylon.rest.ui.model.EObjectModel.getObject(EObjectModel.java:1) ~[na:na]
    at org.jabylon.rest.ui.wicket.panels.PropertyEditorSinglePanel.getRequiredPermission(PropertyEditorSinglePanel.java:417) ~[na:na]
    at org.jabylon.rest.ui.security.PermissionBasedAuthorizationStrategy.isActionAuthorized(PermissionBasedAuthorizationStrategy.java:38) ~[na:na]
    at org.apache.wicket.Component.isActionAuthorized(Component.java:2013) ~[na:na]
    at org.apache.wicket.Component.isEnableAllowed(Component.java:2023) ~[na:na]
    at org.apache.wicket.Component.isEnabledInHierarchy(Component.java:4375) ~[na:na]
    at org.apache.wicket.Component.isStateless(Component.java:2058) ~[na:na]
    at org.apache.wicket.Page$2.component(Page.java:471) ~[na:na]
    at org.apache.wicket.Page$2.component(Page.java:467) ~[na:na]
    at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) ~[na:na]
    at org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) ~[na:na]
    at org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:867) ~[na:na]
    at org.apache.wicket.Page.isPageStateless(Page.java:465) ~[na:na]
    at org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:163) ~[na:na]
    at org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:98) ~[na:na]
    at org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:73) ~[na:na]
    at org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:281) ~[na:na]
    at org.apache.wicket.Application$2.onDetach(Application.java:1628) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:105) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:101) ~[na:na]
    at org.apache.wicket.util.listener.ListenerCollection$1.notify(ListenerCollection.java:120) ~[na:na]
    at org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:144) ~[na:na]
    at org.apache.wicket.util.listener.ListenerCollection.reversedNotifyIgnoringExceptions(ListenerCollection.java:113) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:100) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:593) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:542) ~[na:na]
    at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:285) ~[na:na]
    at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188) ~[na:na]
    at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245) ~[na:na]
    at org.jabylon.rest.ui.JabylonFilter.doFilter(JabylonFilter.java:89) ~[na:na]
    at org.eclipse.equinox.http.registry.internal.FilterManager$FilterWrapper.doFilter(FilterManager.java:173) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.FilterRegistration.doFilter(FilterRegistration.java:81) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:35) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:132) ~[na:na]
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76) ~[na:na]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) ~[javax.servlet_3.0.0.v201112011016.jar:na]
    at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:386) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:457) ~[na:na]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:229) ~[na:na]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) ~[na:na]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) ~[na:na]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) ~[na:na]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) ~[na:na]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) ~[na:na]
    at org.eclipse.jetty.server.Server.handle(Server.java:368) ~[na:na]
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) ~[na:na]
    at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) ~[na:na]
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) ~[na:na]
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) ~[na:na]
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) ~[na:na]
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) ~[na:na]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628) ~[na:na]
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) ~[na:na]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) ~[na:na]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) ~[na:na]
    at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]

@ghost ghost assigned jutzig Jan 18, 2014

@jutzig jutzig closed this in 36147e8 Jan 18, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment