[jboss-jira] [JBoss JIRA] (WFLY-2213) UnsupportedOperationException in wildfly clustering web disrupts appliction access permanently
Paul Ferraro (JIRA)
jira-events at lists.jboss.org
Wed Oct 23 12:10:02 EDT 2013
[ https://issues.jboss.org/browse/WFLY-2213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12824364#comment-12824364 ]
Paul Ferraro edited comment on WFLY-2213 at 10/23/13 12:10 PM:
---------------------------------------------------------------
Looking at the com.sun.faces.application.view.ViewScopeContextManager source, I see that it is attempting to remove session attributes in the sessionDestroyed callback. While I don't quite see the point to removing session attributes on a session that is about to be destroyed, there is nothing in the spec that prohibits this, so perhaps these can become a no-op instead of throwing an UnsupportedOperationException.
was (Author: pferraro):
Looking at the com.sun.faces.application.view.ViewScopeContextManager source, I see that it is attempting to remove session attributes in the sessionDestroyed callback. While I don't see the point to removing session attributes on a session that is about to be destroyed, there is nothing in the spec that prohibits this, so perhaps these can become a no-op instead of throwing an UnsupportedOperationException.
> UnsupportedOperationException in wildfly clustering web disrupts appliction access permanently
> ----------------------------------------------------------------------------------------------
>
> Key: WFLY-2213
> URL: https://issues.jboss.org/browse/WFLY-2213
> Project: WildFly
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Clustering, Web (Undertow)
> Affects Versions: 8.0.0.Beta1
> Reporter: Thomas Frühbeck
> Assignee: Paul Ferraro
> Labels: cluster, session, timeout, web
>
> a <distributable> struts application is working correctly, after session timeout an UnsupportedOperationException permanently prohibits access to the application.
> I cannot find any possibility to access the app again else than redeploy the application.
> 2013-10-03 14:55:48,311 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (default task-10) ISPN000136: Execution error: org.infinispan.commons.CacheException: Caught exception [java.lang.Unsuppor
> tedOperationException] while invoking method [public void org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.removed(org.infinispan.notifications.cachelistener.event.CacheEntryRemovedEvent)]
> on listener instance: org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager at 56af236c
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:209)
> at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22)
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:228)
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:191)
> at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:181)
> at org.infinispan.commands.write.RemoveCommand.notify(RemoveCommand.java:98)
> at org.infinispan.commands.write.RemoveCommand.performRemove(RemoveCommand.java:207)
> at org.infinispan.commands.write.RemoveCommand.perform(RemoveCommand.java:90)
> at org.infinispan.interceptors.CallInterceptor.handleDefault(CallInterceptor.java:91)
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.distribution.TxDistributionInterceptor.handleTxWriteCommand(TxDistributionInterceptor.java:268)
> at org.infinispan.interceptors.distribution.TxDistributionInterceptor.visitRemoveCommand(TxDistributionInterceptor.java:77)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.CacheLoaderInterceptor.visitRemoveCommand(CacheLoaderInterceptor.java:133)
> at org.infinispan.interceptors.ActivationInterceptor.visitRemoveCommand(ActivationInterceptor.java:60)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:292)
> at org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:372)
> at org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:205)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitRemoveCommand(PessimisticLockingInterceptor.java:142)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:247)
> at org.infinispan.interceptors.TxInterceptor.visitRemoveCommand(TxInterceptor.java:188)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:193)
> at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:143)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:166)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:106)
> at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:70)
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
> at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:64)
> at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:37)
> at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:51)
> at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:321)
> at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1298)
> at org.infinispan.CacheImpl.removeInternal(CacheImpl.java:400)
> at org.infinispan.CacheImpl.remove(CacheImpl.java:393)
> at org.infinispan.DecoratedCache.remove(DecoratedCache.java:406)
> at org.infinispan.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:281)
> at org.wildfly.clustering.web.infinispan.Remover$RemoveOperation.invoke(Remover.java:50)
> at org.jboss.as.clustering.infinispan.invoker.SimpleCacheInvoker.invoke(SimpleCacheInvoker.java:34)
> at org.jboss.as.clustering.infinispan.invoker.RetryingCacheInvoker.invoke(RetryingCacheInvoker.java:82)
> at org.wildfly.clustering.web.infinispan.session.coarse.CoarseSessionFactory.remove(CoarseSessionFactory.java:116)
> at org.wildfly.clustering.web.infinispan.session.coarse.CoarseSessionFactory.remove(CoarseSessionFactory.java:54)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSession.invalidate(InfinispanSession.java:74)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.findSession(InfinispanSessionManager.java:218)
> at org.wildfly.clustering.web.undertow.session.SessionManagerAdapter.getSession(SessionManagerAdapter.java:124)
> at io.undertow.servlet.spec.ServletContextImpl.getSession(ServletContextImpl.java:674) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at io.undertow.servlet.spec.ServletContextImpl.updateSessionAccessTime(ServletContextImpl.java:688) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at io.undertow.servlet.spec.HttpServletResponseImpl.responseDone(HttpServletResponseImpl.java:505) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:255) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:202) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:69) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:136) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at io.undertow.server.HttpHandlers.executeRootHandler(HttpHandlers.java:36) [undertow-core-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta15-SNAPSHOT]
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:614) [undertow-core-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta15-SNAPSHOT]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
> at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
> Caused by: java.lang.UnsupportedOperationException
> at org.wildfly.clustering.web.session.ImmutableHttpSessionAdapter.removeAttribute(ImmutableHttpSessionAdapter.java:90)
> at com.sun.faces.application.view.ViewScopeContextManager.sessionDestroyed(ViewScopeContextManager.java:298) [jsf-impl-2.2.3-jbossorg-1.jar:]
> at com.sun.faces.application.view.ViewScopeManager.sessionDestroyed(ViewScopeManager.java:348) [jsf-impl-2.2.3-jbossorg-1.jar:]
> at com.sun.faces.application.WebappLifecycleListener.sessionDestroyed(WebappLifecycleListener.java:176) [jsf-impl-2.2.3-jbossorg-1.jar:]
> at com.sun.faces.config.ConfigureListener.sessionDestroyed(ConfigureListener.java:368) [jsf-impl-2.2.3-jbossorg-1.jar:]
> at io.undertow.servlet.core.ApplicationListeners.sessionDestroyed(ApplicationListeners.java:264) [undertow-servlet-1.0.0.Beta15-SNAPSHOT.jar:1.0.0.Beta17-SNAPSHOT]
> at org.wildfly.clustering.web.undertow.session.SessionContextAdapter$1.sessionDestroyed(SessionContextAdapter.java:60)
> at org.wildfly.clustering.web.infinispan.session.InfinispanSessionManager.removed(InfinispanSessionManager.java:297)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25]
> at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:205)
> ... 84 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list