You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Trygve Hardersen <tr...@jotta.no> on 2009/01/13 15:49:27 UTC

wadi clustering - session invalidation

Hi

I'm try to get WADI clustering to work with Geronimo 2.2-SNAPSHOT and
Jetty6. In front of two Geronimo instances I have a HAProxy instance that
currently just distributes requests evenly among the two nodes using a
round-robin algorithm. This works fine; sessions are replicated and when if
I kill one of the nodes active sessions continue their life on the remaining
node. This also works with sticky-session though I've disabled them for now.

The problem comes when sessions are invalidated; either by gracefully
stopping a node or by calling HttpSession.invalidate(). I'm then getting
this error on the node where the invalidation call took place:

15:33:57,869 ERROR [log] Error for /logout
java.lang.AssertionError: Session
[org.apache.geronimo.clustering.wadi.WADISessionAdaptor@28cff87c] is
undefined
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionManager$MigrationListener.getClusteredSession(ClusteredSessionManager.java:126)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionManager$MigrationListener.notifySessionDestruction(ClusteredSessionManager.java:116)
    at
org.apache.geronimo.clustering.wadi.BasicWADISessionManager.notifySessionDestruction(BasicWADISessionManager.java:254)
    at
org.apache.geronimo.clustering.wadi.BasicWADISessionManager$SessionListenerAdapter.onSessionDestruction(BasicWADISessionManager.java:264)
    at
org.codehaus.wadi.core.manager.BasicSessionMonitor.notifySessionDestruction(BasicSessionMonitor.java:67)
    at
org.codehaus.wadi.core.manager.StandardManager.destroy(StandardManager.java:116)
    at
org.codehaus.wadi.core.session.StandardSession.destroy(StandardSession.java:66)
    at
org.codehaus.wadi.core.session.AbstractReplicableSession.destroy(AbstractReplicableSession.java:55)
    at
org.apache.geronimo.clustering.wadi.WADISessionAdaptor.release(WADISessionAdaptor.java:54)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionManager$ClusteredSession.invalidate(ClusteredSessionManager.java:166)
    at
org.mortbay.jetty.servlet.HashSessionIdManager.invalidateAll(HashSessionIdManager.java:194)
    at
org.mortbay.jetty.servlet.AbstractSessionManager.removeSession(AbstractSessionManager.java:657)
    at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:938)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionManager$ClusteredSession.invalidate(ClusteredSessionManager.java:165)
    at
no.jotta.backup.web.gui.pub.servlets.LogoutServlet.doGet(LogoutServlet.java:31)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
    at
no.jotta.backup.web.gui.pub.filters.AppFilter.doFilter(AppFilter.java:131)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    at
no.jotta.backup.web.toolbox.filters.CacheControlFilter.doFilter(CacheControlFilter.java:135)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
    at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
    at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at
org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle(JettySecurityHandler.java:114)
    at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.doHandle(ClusteredSessionHandler.java:59)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler$ActualHandler.handle(ClusteredSessionHandler.java:66)
    at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler$WebClusteredInvocation.invokeLocally(AbstractClusteredPreHandler.java:71)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.access$000(WADIClusteredPreHandler.java:52)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation$1.doFilter(WADIClusteredPreHandler.java:64)
    at
org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:116)
    at
org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocally(MemoryContextualiser.java:71)
    at
org.codehaus.wadi.core.contextualiser.MemoryContextualiser$MemoryImmoter.contextualise(MemoryContextualiser.java:108)
    at
org.codehaus.wadi.core.motable.RehydrationImmoter.contextualise(RehydrationImmoter.java:37)
    at
org.codehaus.wadi.core.motable.LockingRehydrationImmoter.contextualise(LockingRehydrationImmoter.java:44)
    at
org.codehaus.wadi.core.contextualiser.HybridRelocater.handleSessionRelocation(HybridRelocater.java:161)
    at
org.codehaus.wadi.core.contextualiser.HybridRelocater.doRelocate(HybridRelocater.java:108)
    at
org.codehaus.wadi.core.contextualiser.HybridRelocater.relocate(HybridRelocater.java:79)
    at
org.codehaus.wadi.core.contextualiser.ClusterContextualiser.handle(ClusterContextualiser.java:95)
    at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:37)
    at
org.codehaus.wadi.core.contextualiser.AbstractSharedContextualiser.contextualise(AbstractSharedContextualiser.java:41)
    at
org.codehaus.wadi.core.contextualiser.SerialContextualiser.contextualise(SerialContextualiser.java:82)
    at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:41)
    at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:41)
    at
org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:150)
    at
org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
    at
org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
    at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
    at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
    at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
    at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
    at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
    at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
    at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:33:57,874 ERROR [HybridRelocater] unexpected error
org.codehaus.wadi.replication.manager.ReplicationKeyNotFoundException: Key
[557rwslm2uhp] does not exist
    at
org.codehaus.wadi.replication.manager.basic.SyncReplicationManager.update(SyncReplicationManager.java:147)
    at
org.codehaus.wadi.core.session.AbstractReplicableSession.onEndProcessing(AbstractReplicableSession.java:49)
    at
org.codehaus.wadi.core.session.AtomicallyReplicableSession.onEndProcessing(AtomicallyReplicableSession.java:58)
    at
org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:121)
    at
org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocally(MemoryContextualiser.java:71)
    at
org.codehaus.wadi.core.contextualiser.MemoryContextualiser$MemoryImmoter.contextualise(MemoryContextualiser.java:108)
    at
org.codehaus.wadi.core.motable.RehydrationImmoter.contextualise(RehydrationImmoter.java:37)
    at
org.codehaus.wadi.core.motable.LockingRehydrationImmoter.contextualise(LockingRehydrationImmoter.java:44)
    at
org.codehaus.wadi.core.contextualiser.HybridRelocater.handleSessionRelocation(HybridRelocater.java:161)
    at
org.codehaus.wadi.core.contextualiser.HybridRelocater.doRelocate(HybridRelocater.java:108)
    at
org.codehaus.wadi.core.contextualiser.HybridRelocater.relocate(HybridRelocater.java:79)
    at
org.codehaus.wadi.core.contextualiser.ClusterContextualiser.handle(ClusterContextualiser.java:95)
    at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:37)
    at
org.codehaus.wadi.core.contextualiser.AbstractSharedContextualiser.contextualise(AbstractSharedContextualiser.java:41)
    at
org.codehaus.wadi.core.contextualiser.SerialContextualiser.contextualise(SerialContextualiser.java:82)
    at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:41)
    at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:41)
    at
org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:150)
    at
org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
    at
org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
    at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
    at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
    at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
    at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
    at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
    at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
    at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:33:59,878 ERROR [StandardManager] Could not acquire session
[557rwslm2uhp]
15:33:59,879 ERROR [log] /logout
java.lang.IllegalStateException: Committed
    at org.mortbay.jetty.Response.resetBuffer(Response.java:995)
    at
javax.servlet.ServletResponseWrapper.resetBuffer(ServletResponseWrapper.java:195)
    at
org.mortbay.servlet.GzipFilter$GZIPResponseWrapper.resetBuffer(GzipFilter.java:265)
    at
org.mortbay.servlet.GzipFilter$GZIPResponseWrapper.sendRedirect(GzipFilter.java:286)
    at
no.jotta.backup.web.gui.pub.servlets.LogoutServlet.doGet(LogoutServlet.java:33)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
    at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
    at
no.jotta.backup.web.gui.pub.filters.AppFilter.doFilter(AppFilter.java:131)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    at
no.jotta.backup.web.toolbox.filters.CacheControlFilter.doFilter(CacheControlFilter.java:135)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
    at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
    at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
    at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
    at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at
org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle(JettySecurityHandler.java:114)
    at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.doHandle(ClusteredSessionHandler.java:59)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler$ActualHandler.handle(ClusteredSessionHandler.java:66)
    at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler$WebClusteredInvocation.invokeLocally(AbstractClusteredPreHandler.java:71)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.access$000(WADIClusteredPreHandler.java:52)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation$1.doFilter(WADIClusteredPreHandler.java:64)
    at
org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:116)
    at
org.codehaus.wadi.core.manager.StandardManager.processStateless(StandardManager.java:172)
    at
org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:156)
    at
org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
    at
org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
    at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
    at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
    at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
    at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
    at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
    at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
    at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:33:59,880 ERROR [log] EXCEPTION
org.codehaus.wadi.replication.manager.ReplicationKeyNotFoundException: Key
[557rwslm2uhp] does not exist
    at
org.codehaus.wadi.replication.manager.basic.SyncReplicationManager.update(SyncReplicationManager.java:147)
    at
org.codehaus.wadi.core.session.AbstractReplicableSession.onEndProcessing(AbstractReplicableSession.java:49)
    at
org.codehaus.wadi.core.session.AtomicallyReplicableSession.onEndProcessing(AtomicallyReplicableSession.java:58)
    at
org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:121)
    at
org.codehaus.wadi.core.manager.StandardManager.processStateless(StandardManager.java:172)
    at
org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:156)
    at
org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
    at
org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
    at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
    at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
    at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
    at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
    at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
    at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
    at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
    at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
    at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
    at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
15:34:00,926 WARN  [MovePMToSMEndPoint] Motable [557rwslm2uhp] has just been
destroyed
15:34:00,929 WARN  [BasicLocalPartition#21@NODE] move
[557rwslm2uhp]@[TribesPeer [NODE; tcp://192.168.1.60:4000]]->[TribesPeer
[NODE; tcp://{-64, -88, 1, 61}:4000]] failed

On the other node I'm seeing this:

15:33:56,745 WARN  [org.codehaus.wadi.core.contextualiser.HybridRelocater]
Failed relocation for [557rwslm2uhp]
15:33:58,751 ERROR [org.codehaus.wadi.core.manager.StandardManager] Could
not acquire session [557rwslm2uhp]

Any idea what might be causing this?

The only configuration I've done is adding "<distributable/>" to web.xml and
"<clustering-wadi/>" to plan.xml. I've tried giving each node a unique
"clusterNodeName" without any immediate effect.

Thanks a lot in advance for your help.

Trygve

Re: wadi clustering - session invalidation

Posted by Gianny Damour <gi...@optusnet.com.au>.
Hi Trygve,

A new WADI release, 2.1.1, has been cut which fixes the race  
condition I was referring to in my previous email. Let me know if you  
see other problems with.

Thanks,
Gianny

On 16/01/2009, at 4:31 AM, Trygve Hardersen wrote:

> I can confirm that this solves the shutdown problem. After some
> initial testing I'm not seeing other issues either, though I've not
> stressed the servers yet.
>
> I'm building a slightly customized Geronimo 2.2-SNAPSHOT so I just
> updated wadiVersion to 2.2-SNAPSHOT in the main POM. I had to checkout
> and build WADI trunk because some of the required dependencies could
> not be found in the codehaus snapshots repository.
>
> Many thanks for all your help, appreciate it!
>
> Trygve
>
> On Thu, Jan 15, 2009 at 3:20 PM, Trygve Hardersen <tr...@jotta.no>  
> wrote:
>> Cool, thanks for the quick fix.
>>
>> I'm seeing other issues that look like race condititions to me, but
>> I've yet to find a consistent pattern.
>>
>> I'll test this and let you know how it goes.
>>
>> Trygve
>>
>> On Thu, Jan 15, 2009 at 2:31 PM, Gianny Damour
>> <gi...@optusnet.com.au> wrote:
>>> Hi Trygve,
>>>
>>> This was a bug and it is now fixed; I also changed the log level  
>>> as ERROR
>>> was indeed inappropriate.
>>>
>>> You will need to get a snapshot version of wadi-core as this was  
>>> a problem
>>> with WADI which was not properly re-initiating replicas when  
>>> sessions were
>>> evacuated from a node shutting down to all the remaining nodes.   
>>> I will
>>> review more closely the re-initialisation of replicas in the case  
>>> of normal
>>> shutdown over the week-end as there is still a problem in a very  
>>> specific
>>> race condition (I do not think that you will be able to observe it).
>>>
>>>
>>> You can get the snapshot there:
>>>
>>> http://snapshots.repository.codehaus.org/org/codehaus/wadi/wadi- 
>>> core/2.2-SNAPSHOT/wadi-core-2.2-20090115.131018-1.jar
>>>
>>>
>>> The simplest thing is to replace
>>>
>>> repository/org/codehaus/wadi/wadi-core/2.1/wadi-core-2.1.jar
>>>
>>> with this snapshot version. You can also install this artefact in  
>>> your repo
>>> with a version number higher than 2.1. and it will be transparently
>>> picked-up instead of 2.1.
>>>
>>>
>>> I will need to cut a release of WADI very soon as these fixes  
>>> need to be
>>> included in G 2.2. So, you should not have to use this snapshot  
>>> for more
>>> than 3-4 days.
>>>
>>> Thanks,
>>> Gianny


Re: wadi clustering - session invalidation

Posted by Trygve Hardersen <tr...@jotta.no>.
I can confirm that this solves the shutdown problem. After some
initial testing I'm not seeing other issues either, though I've not
stressed the servers yet.

I'm building a slightly customized Geronimo 2.2-SNAPSHOT so I just
updated wadiVersion to 2.2-SNAPSHOT in the main POM. I had to checkout
and build WADI trunk because some of the required dependencies could
not be found in the codehaus snapshots repository.

Many thanks for all your help, appreciate it!

Trygve

On Thu, Jan 15, 2009 at 3:20 PM, Trygve Hardersen <tr...@jotta.no> wrote:
> Cool, thanks for the quick fix.
>
> I'm seeing other issues that look like race condititions to me, but
> I've yet to find a consistent pattern.
>
> I'll test this and let you know how it goes.
>
> Trygve
>
> On Thu, Jan 15, 2009 at 2:31 PM, Gianny Damour
> <gi...@optusnet.com.au> wrote:
>> Hi Trygve,
>>
>> This was a bug and it is now fixed; I also changed the log level as ERROR
>> was indeed inappropriate.
>>
>> You will need to get a snapshot version of wadi-core as this was a problem
>> with WADI which was not properly re-initiating replicas when sessions were
>> evacuated from a node shutting down to all the remaining nodes.  I will
>> review more closely the re-initialisation of replicas in the case of normal
>> shutdown over the week-end as there is still a problem in a very specific
>> race condition (I do not think that you will be able to observe it).
>>
>>
>> You can get the snapshot there:
>>
>> http://snapshots.repository.codehaus.org/org/codehaus/wadi/wadi-core/2.2-SNAPSHOT/wadi-core-2.2-20090115.131018-1.jar
>>
>>
>> The simplest thing is to replace
>>
>> repository/org/codehaus/wadi/wadi-core/2.1/wadi-core-2.1.jar
>>
>> with this snapshot version. You can also install this artefact in your repo
>> with a version number higher than 2.1. and it will be transparently
>> picked-up instead of 2.1.
>>
>>
>> I will need to cut a release of WADI very soon as these fixes need to be
>> included in G 2.2. So, you should not have to use this snapshot for more
>> than 3-4 days.
>>
>> Thanks,
>> Gianny

Re: wadi clustering - session invalidation

Posted by Trygve Hardersen <tr...@jotta.no>.
Cool, thanks for the quick fix.

I'm seeing other issues that look like race condititions to me, but
I've yet to find a consistent pattern.

I'll test this and let you know how it goes.

Trygve

On Thu, Jan 15, 2009 at 2:31 PM, Gianny Damour
<gi...@optusnet.com.au> wrote:
> Hi Trygve,
>
> This was a bug and it is now fixed; I also changed the log level as ERROR
> was indeed inappropriate.
>
> You will need to get a snapshot version of wadi-core as this was a problem
> with WADI which was not properly re-initiating replicas when sessions were
> evacuated from a node shutting down to all the remaining nodes.  I will
> review more closely the re-initialisation of replicas in the case of normal
> shutdown over the week-end as there is still a problem in a very specific
> race condition (I do not think that you will be able to observe it).
>
>
> You can get the snapshot there:
>
> http://snapshots.repository.codehaus.org/org/codehaus/wadi/wadi-core/2.2-SNAPSHOT/wadi-core-2.2-20090115.131018-1.jar
>
>
> The simplest thing is to replace
>
> repository/org/codehaus/wadi/wadi-core/2.1/wadi-core-2.1.jar
>
> with this snapshot version. You can also install this artefact in your repo
> with a version number higher than 2.1. and it will be transparently
> picked-up instead of 2.1.
>
>
> I will need to cut a release of WADI very soon as these fixes need to be
> included in G 2.2. So, you should not have to use this snapshot for more
> than 3-4 days.
>
> Thanks,
> Gianny
>
> On 14/01/2009, at 11:47 PM, Trygve Hardersen wrote:
>
>> Great, thanks a lot Gianny.
>>
>> I updated the source and I'm no longer getting the error. I am however
>> seeing this upon session invalidation:
>>
>> 13:29:01,528 INFO  [HybridRelocater] Unknown session [a4gezreo2fd4]
>> 13:29:03,532 ERROR [StandardManager] Could not acquire session
>> [a4gezreo2fd4]
>>
>> I guess this is because the browser is redirected after session
>> invalidation but still includes the old session ID in the request. If so the
>> log message from the StandardManager should probably not be at the ERROR
>> level as it is a very common situation. Non-critical nevertheless.
>>
>> There is still an issue if I stop one of the nodes gracefully (i.e.
>> $GERONIMO_HOME/bin/shutdown.sh). On subsequent requests I'm getting this
>> error:
>>
>> 13:34:39,808 ERROR [log] /profile
>> org.codehaus.wadi.replication.manager.ReplicationKeyNotFoundException: Key
>> [v9ekd9eipx2h] does not exist
>>        at
>> org.codehaus.wadi.replication.manager.basic.SyncReplicationManager.update(SyncReplicationManager.java:147)
>>        at
>> org.codehaus.wadi.core.session.AbstractReplicableSession.onEndProcessing(AbstractReplicableSession.java:49)
>>        at
>> org.codehaus.wadi.core.session.AtomicallyReplicableSession.onEndProcessing(AtomicallyReplicableSession.java:58)
>>        at
>> org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:121)
>>        at
>> org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocally(MemoryContextualiser.java:71)
>>        at
>> org.codehaus.wadi.core.contextualiser.AbstractExclusiveContextualiser.handle(AbstractExclusiveContextualiser.java:94)
>>        at
>> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:37)
>>        at
>> org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:150)
>>        at
>> org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
>>        at
>> org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
>>        at
>> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>>        at
>> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
>>        at
>> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>>        at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
>>        at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
>>        at
>> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>>        at
>> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:67)
>>        at
>> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
>>        at
>> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
>>        at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
>>        at
>> org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
>>        at
>> org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
>>        at
>> org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:198)
>>        at
>> org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:179)
>>        at
>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:675)
>>        at
>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:631)
>>        at
>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:307)
>>        at
>> no.jotta.backup.web.gui.profile.servlets.ProfileServlet.doGet(ProfileServlet.java:74)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>        at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>>        at
>> org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
>>        at
>> no.jotta.backup.web.gui.pub.filters.AppFilter.doFilter(AppFilter.java:131)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> no.jotta.backup.web.toolbox.filters.CacheControlFilter.doFilter(CacheControlFilter.java:135)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
>>        at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>>        at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at
>> org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle(JettySecurityHandler.java:114)
>>        at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>        at
>> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.doHandle(ClusteredSessionHandler.java:59)
>>        at
>> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler$ActualHandler.handle(ClusteredSessionHandler.java:66)
>>        at
>> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler$WebClusteredInvocation.invokeLocally(AbstractClusteredPreHandler.java:71)
>>        at
>> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.access$000(WADIClusteredPreHandler.java:52)
>>        at
>> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation$1.doFilter(WADIClusteredPreHandler.java:64)
>>        at
>> org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:116)
>>        at
>> org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocally(MemoryContextualiser.java:71)
>>        at
>> org.codehaus.wadi.core.contextualiser.AbstractExclusiveContextualiser.handle(AbstractExclusiveContextualiser.java:94)
>>        at
>> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:37)
>>        at
>> org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:150)
>>        at
>> org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
>>        at
>> org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
>>        at
>> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>>        at
>> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
>>        at
>> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>>        at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
>>        at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
>>        at
>> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>>        at
>> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
>>        at
>> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
>>        at
>> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
>>        at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
>>        at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>>        at
>> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>        at org.mortbay.jetty.Server.handle(Server.java:324)
>>        at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>>        at
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>        at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>        at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>>        at
>> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>        at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>        at java.lang.Thread.run(Thread.java:619)
>>
>> If I start a new session with the browser the problem goes away, but it
>> seems to persist as long as the unknown session ID is included in the
>> request.
>>
>> If I kill one of the nodes (using kill -9 PID) this problem does not
>> occur. Only on clean shutdowns.
>>
>> Thanks again for your help!
>>
>> Trygve
>>
>> On Wed, Jan 14, 2009 at 9:05 AM, Gianny Damour
>> <gi...@optusnet.com.au> wrote:
>> Hi Trygve,
>>
>> This was a regression and it is now fixed.
>>
>> If you are building from source 2.2-SNAPSHOT, then here are the steps to
>> apply the fix:
>>
>> 1. update plugins/jetty/geronimo-jetty6-clustering-wadi
>> 2. build geronimo-jetty6-clustering-wadi
>> 3. copy resulting artefact to your repository under
>> repository/org/apache/geronimo/modules/geronimo-jetty6-clustering-wadi/2.2-SNAPSHOT/
>>
>> Let us know if you are not building from source and I will push a
>> snapshot.
>>
>> Thanks,
>> Gianny
>>
>
>

Re: wadi clustering - session invalidation

Posted by Gianny Damour <gi...@optusnet.com.au>.
Hi Trygve,

This was a bug and it is now fixed; I also changed the log level as  
ERROR was indeed inappropriate.

You will need to get a snapshot version of wadi-core as this was a  
problem with WADI which was not properly re-initiating replicas when  
sessions were evacuated from a node shutting down to all the  
remaining nodes.  I will review more closely the re-initialisation of  
replicas in the case of normal shutdown over the week-end as there is  
still a problem in a very specific race condition (I do not think  
that you will be able to observe it).


You can get the snapshot there:

http://snapshots.repository.codehaus.org/org/codehaus/wadi/wadi-core/ 
2.2-SNAPSHOT/wadi-core-2.2-20090115.131018-1.jar


The simplest thing is to replace

repository/org/codehaus/wadi/wadi-core/2.1/wadi-core-2.1.jar

with this snapshot version. You can also install this artefact in  
your repo with a version number higher than 2.1. and it will be  
transparently picked-up instead of 2.1.


I will need to cut a release of WADI very soon as these fixes need to  
be included in G 2.2. So, you should not have to use this snapshot  
for more than 3-4 days.

Thanks,
Gianny

On 14/01/2009, at 11:47 PM, Trygve Hardersen wrote:

> Great, thanks a lot Gianny.
>
> I updated the source and I'm no longer getting the error. I am  
> however seeing this upon session invalidation:
>
> 13:29:01,528 INFO  [HybridRelocater] Unknown session [a4gezreo2fd4]
> 13:29:03,532 ERROR [StandardManager] Could not acquire session  
> [a4gezreo2fd4]
>
> I guess this is because the browser is redirected after session  
> invalidation but still includes the old session ID in the request.  
> If so the log message from the StandardManager should probably not  
> be at the ERROR level as it is a very common situation. Non- 
> critical nevertheless.
>
> There is still an issue if I stop one of the nodes gracefully (i.e.  
> $GERONIMO_HOME/bin/shutdown.sh). On subsequent requests I'm getting  
> this error:
>
> 13:34:39,808 ERROR [log] /profile
> org.codehaus.wadi.replication.manager.ReplicationKeyNotFoundException: 
>  Key [v9ekd9eipx2h] does not exist
>         at  
> org.codehaus.wadi.replication.manager.basic.SyncReplicationManager.upd 
> ate(SyncReplicationManager.java:147)
>         at  
> org.codehaus.wadi.core.session.AbstractReplicableSession.onEndProcessi 
> ng(AbstractReplicableSession.java:49)
>         at  
> org.codehaus.wadi.core.session.AtomicallyReplicableSession.onEndProces 
> sing(AtomicallyReplicableSession.java:58)
>         at org.codehaus.wadi.web.impl.WebInvocation.invoke 
> (WebInvocation.java:121)
>         at  
> org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocal 
> ly(MemoryContextualiser.java:71)
>         at  
> org.codehaus.wadi.core.contextualiser.AbstractExclusiveContextualiser. 
> handle(AbstractExclusiveContextualiser.java:94)
>         at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:37)
>         at  
> org.codehaus.wadi.core.manager.StandardManager.processStateful 
> (StandardManager.java:150)
>         at  
> org.codehaus.wadi.core.manager.StandardManager.contextualise 
> (StandardManager.java:142)
>         at  
> org.codehaus.wadi.core.manager.ClusteredManager.contextualise 
> (ClusteredManager.java:81)
>         at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>         at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle( 
> AbstractClusteredPreHandler.java:39)
>         at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle 
> (ClusteredSessionHandler.java:51)
>         at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
>         at org.mortbay.jetty.webapp.WebAppContext.handle 
> (WebAppContext.java:405)
>         at  
> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
> (TwistyWebAppContext.java:40)
>         at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>         at  
> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
> (ThreadClassloaderHandler.java:46)
>         at  
> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
> (InstanceContextHandler.java:67)
>         at  
> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
> (UserTransactionHandler.java:48)
>         at  
> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
> (ComponentContextHandler.java:47)
>         at  
> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
> (TwistyWebAppContext.java:59)
>         at org.mortbay.jetty.servlet.Dispatcher.forward 
> (Dispatcher.java:285)
>         at org.mortbay.jetty.servlet.Dispatcher.forward 
> (Dispatcher.java:126)
>         at  
> org.apache.tiles.servlet.context.ServletTilesRequestContext.forward 
> (ServletTilesRequestContext.java:198)
>         at  
> org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch 
> (ServletTilesRequestContext.java:179)
>         at org.apache.tiles.impl.BasicTilesContainer.render 
> (BasicTilesContainer.java:675)
>         at org.apache.tiles.impl.BasicTilesContainer.render 
> (BasicTilesContainer.java:631)
>         at org.apache.tiles.impl.BasicTilesContainer.render 
> (BasicTilesContainer.java:307)
>         at  
> no.jotta.backup.web.gui.profile.servlets.ProfileServlet.doGet 
> (ProfileServlet.java:74)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 693)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java: 
> 806)
>         at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:487)
>         at  
> org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
> (InternalJettyServletHolder.java:65)
>         at org.mortbay.jetty.servlet.ServletHandler 
> $CachedChain.doFilter(ServletHandler.java:1093)
>         at no.jotta.backup.web.gui.pub.filters.AppFilter.doFilter 
> (AppFilter.java:131)
>         at org.mortbay.jetty.servlet.ServletHandler 
> $CachedChain.doFilter(ServletHandler.java:1084)
>         at  
> no.jotta.backup.web.toolbox.filters.CacheControlFilter.doFilter 
> (CacheControlFilter.java:135)
>         at org.mortbay.jetty.servlet.ServletHandler 
> $CachedChain.doFilter(ServletHandler.java:1084)
>         at org.mortbay.servlet.UserAgentFilter.doFilter 
> (UserAgentFilter.java:81)
>         at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java: 
> 129)
>         at org.mortbay.jetty.servlet.ServletHandler 
> $CachedChain.doFilter(ServletHandler.java:1084)
>         at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:360)
>         at org.mortbay.jetty.security.SecurityHandler.handle 
> (SecurityHandler.java:216)
>         at  
> org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle 
> (JettySecurityHandler.java:114)
>         at org.mortbay.jetty.servlet.SessionHandler.handle 
> (SessionHandler.java:181)
>         at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.doHandle 
> (ClusteredSessionHandler.java:59)
>         at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler 
> $ActualHandler.handle(ClusteredSessionHandler.java:66)
>         at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler 
> $WebClusteredInvocation.invokeLocally 
> (AbstractClusteredPreHandler.java:71)
>         at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.access$000(WADIClusteredPreHandler.java: 
> 52)
>         at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation$1.doFilter(WADIClusteredPreHandler.java: 
> 64)
>         at org.codehaus.wadi.web.impl.WebInvocation.invoke 
> (WebInvocation.java:116)
>         at  
> org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocal 
> ly(MemoryContextualiser.java:71)
>         at  
> org.codehaus.wadi.core.contextualiser.AbstractExclusiveContextualiser. 
> handle(AbstractExclusiveContextualiser.java:94)
>         at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:37)
>         at  
> org.codehaus.wadi.core.manager.StandardManager.processStateful 
> (StandardManager.java:150)
>         at  
> org.codehaus.wadi.core.manager.StandardManager.contextualise 
> (StandardManager.java:142)
>         at  
> org.codehaus.wadi.core.manager.ClusteredManager.contextualise 
> (ClusteredManager.java:81)
>         at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>         at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle( 
> AbstractClusteredPreHandler.java:39)
>         at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle 
> (ClusteredSessionHandler.java:51)
>         at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
>         at org.mortbay.jetty.webapp.WebAppContext.handle 
> (WebAppContext.java:405)
>         at  
> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
> (TwistyWebAppContext.java:40)
>         at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>         at  
> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
> (ThreadClassloaderHandler.java:46)
>         at  
> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
> (InstanceContextHandler.java:58)
>         at  
> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
> (UserTransactionHandler.java:48)
>         at  
> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
> (ComponentContextHandler.java:47)
>         at  
> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
> (TwistyWebAppContext.java:59)
>         at org.mortbay.jetty.handler.ContextHandlerCollection.handle 
> (ContextHandlerCollection.java:206)
>         at org.mortbay.jetty.handler.HandlerCollection.handle 
> (HandlerCollection.java:114)
>         at org.mortbay.jetty.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:324)
>         at org.mortbay.jetty.HttpConnection.handleRequest 
> (HttpConnection.java:505)
>         at org.mortbay.jetty.HttpConnection 
> $RequestHandler.headerComplete(HttpConnection.java:828)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>         at org.mortbay.jetty.HttpParser.parseAvailable 
> (HttpParser.java:211)
>         at org.mortbay.jetty.HttpConnection.handle 
> (HttpConnection.java:380)
>         at org.mortbay.io.nio.SelectChannelEndPoint.run 
> (SelectChannelEndPoint.java:395)
>         at org.apache.geronimo.pool.ThreadPool$1.run 
> (ThreadPool.java:214)
>         at org.apache.geronimo.pool.ThreadPool 
> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask 
> (ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run 
> (ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:619)
>
> If I start a new session with the browser the problem goes away,  
> but it seems to persist as long as the unknown session ID is  
> included in the request.
>
> If I kill one of the nodes (using kill -9 PID) this problem does  
> not occur. Only on clean shutdowns.
>
> Thanks again for your help!
>
> Trygve
>
> On Wed, Jan 14, 2009 at 9:05 AM, Gianny Damour  
> <gi...@optusnet.com.au> wrote:
> Hi Trygve,
>
> This was a regression and it is now fixed.
>
> If you are building from source 2.2-SNAPSHOT, then here are the  
> steps to apply the fix:
>
> 1. update plugins/jetty/geronimo-jetty6-clustering-wadi
> 2. build geronimo-jetty6-clustering-wadi
> 3. copy resulting artefact to your repository under repository/org/ 
> apache/geronimo/modules/geronimo-jetty6-clustering-wadi/2.2-SNAPSHOT/
>
> Let us know if you are not building from source and I will push a  
> snapshot.
>
> Thanks,
> Gianny
>


Re: wadi clustering - session invalidation

Posted by Trygve Hardersen <tr...@jotta.no>.
Great, thanks a lot Gianny.

I updated the source and I'm no longer getting the error. I am however
seeing this upon session invalidation:

13:29:01,528 INFO  [HybridRelocater] Unknown session [a4gezreo2fd4]
13:29:03,532 ERROR [StandardManager] Could not acquire session
[a4gezreo2fd4]

I guess this is because the browser is redirected after session invalidation
but still includes the old session ID in the request. If so the log message
from the StandardManager should probably not be at the ERROR level as it is
a very common situation. Non-critical nevertheless.

There is still an issue if I stop one of the nodes gracefully (i.e.
$GERONIMO_HOME/bin/shutdown.sh). On subsequent requests I'm getting this
error:

13:34:39,808 ERROR [log] /profile
org.codehaus.wadi.replication.manager.ReplicationKeyNotFoundException: Key
[v9ekd9eipx2h] does not exist
        at
org.codehaus.wadi.replication.manager.basic.SyncReplicationManager.update(SyncReplicationManager.java:147)
        at
org.codehaus.wadi.core.session.AbstractReplicableSession.onEndProcessing(AbstractReplicableSession.java:49)
        at
org.codehaus.wadi.core.session.AtomicallyReplicableSession.onEndProcessing(AtomicallyReplicableSession.java:58)
        at
org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:121)
        at
org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocally(MemoryContextualiser.java:71)
        at
org.codehaus.wadi.core.contextualiser.AbstractExclusiveContextualiser.handle(AbstractExclusiveContextualiser.java:94)
        at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:37)
        at
org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:150)
        at
org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
        at
org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
        at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
        at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
        at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
        at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
        at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
        at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:67)
        at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
        at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
        at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
        at
org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:198)
        at
org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:179)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:675)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:631)
        at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:307)
        at
no.jotta.backup.web.gui.profile.servlets.ProfileServlet.doGet(ProfileServlet.java:74)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
        at
no.jotta.backup.web.gui.pub.filters.AppFilter.doFilter(AppFilter.java:131)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at
no.jotta.backup.web.toolbox.filters.CacheControlFilter.doFilter(CacheControlFilter.java:135)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at
org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
        at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
        at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
        at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at
org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle(JettySecurityHandler.java:114)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.doHandle(ClusteredSessionHandler.java:59)
        at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler$ActualHandler.handle(ClusteredSessionHandler.java:66)
        at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler$WebClusteredInvocation.invokeLocally(AbstractClusteredPreHandler.java:71)
        at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.access$000(WADIClusteredPreHandler.java:52)
        at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation$1.doFilter(WADIClusteredPreHandler.java:64)
        at
org.codehaus.wadi.web.impl.WebInvocation.invoke(WebInvocation.java:116)
        at
org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocally(MemoryContextualiser.java:71)
        at
org.codehaus.wadi.core.contextualiser.AbstractExclusiveContextualiser.handle(AbstractExclusiveContextualiser.java:94)
        at
org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.contextualise(AbstractMotingContextualiser.java:37)
        at
org.codehaus.wadi.core.manager.StandardManager.processStateful(StandardManager.java:150)
        at
org.codehaus.wadi.core.manager.StandardManager.contextualise(StandardManager.java:142)
        at
org.codehaus.wadi.core.manager.ClusteredManager.contextualise(ClusteredManager.java:81)
        at
org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler$WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
        at
org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle(AbstractClusteredPreHandler.java:39)
        at
org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle(ClusteredSessionHandler.java:51)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
        at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
        at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
        at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
        at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
        at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
        at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
        at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
        at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
        at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

If I start a new session with the browser the problem goes away, but it
seems to persist as long as the unknown session ID is included in the
request.

If I kill one of the nodes (using kill -9 PID) this problem does not occur.
Only on clean shutdowns.

Thanks again for your help!

Trygve

On Wed, Jan 14, 2009 at 9:05 AM, Gianny Damour <
gianny.damour@optusnet.com.au> wrote:

> Hi Trygve,
>
> This was a regression and it is now fixed.
>
> If you are building from source 2.2-SNAPSHOT, then here are the steps to
> apply the fix:
>
> 1. update plugins/jetty/geronimo-jetty6-clustering-wadi
> 2. build geronimo-jetty6-clustering-wadi
> 3. copy resulting artefact to your repository under
> repository/org/apache/geronimo/modules/geronimo-jetty6-clustering-wadi/2.2-SNAPSHOT/
>
> Let us know if you are not building from source and I will push a snapshot.
>
> Thanks,
> Gianny

Re: wadi clustering - session invalidation

Posted by Gianny Damour <gi...@optusnet.com.au>.
Hi Trygve,

This was a regression and it is now fixed.

If you are building from source 2.2-SNAPSHOT, then here are the steps  
to apply the fix:

1. update plugins/jetty/geronimo-jetty6-clustering-wadi
2. build geronimo-jetty6-clustering-wadi
3. copy resulting artefact to your repository under repository/org/ 
apache/geronimo/modules/geronimo-jetty6-clustering-wadi/2.2-SNAPSHOT/

Let us know if you are not building from source and I will push a  
snapshot.

Thanks,
Gianny

On 14/01/2009, at 1:49 AM, Trygve Hardersen wrote:

> Hi
>
> I'm try to get WADI clustering to work with Geronimo 2.2-SNAPSHOT  
> and Jetty6. In front of two Geronimo instances I have a HAProxy  
> instance that currently just distributes requests evenly among the  
> two nodes using a round-robin algorithm. This works fine; sessions  
> are replicated and when if I kill one of the nodes active sessions  
> continue their life on the remaining node. This also works with  
> sticky-session though I've disabled them for now.
>
> The problem comes when sessions are invalidated; either by  
> gracefully stopping a node or by calling HttpSession.invalidate().  
> I'm then getting this error on the node where the invalidation call  
> took place:
>
> 15:33:57,869 ERROR [log] Error for /logout
> java.lang.AssertionError: Session  
> [org.apache.geronimo.clustering.wadi.WADISessionAdaptor@28cff87c]  
> is undefined
>     at org.apache.geronimo.jetty6.cluster.ClusteredSessionManager 
> $MigrationListener.getClusteredSession(ClusteredSessionManager.java: 
> 126)
>     at org.apache.geronimo.jetty6.cluster.ClusteredSessionManager 
> $MigrationListener.notifySessionDestruction 
> (ClusteredSessionManager.java:116)
>     at  
> org.apache.geronimo.clustering.wadi.BasicWADISessionManager.notifySess 
> ionDestruction(BasicWADISessionManager.java:254)
>     at org.apache.geronimo.clustering.wadi.BasicWADISessionManager 
> $SessionListenerAdapter.onSessionDestruction 
> (BasicWADISessionManager.java:264)
>     at  
> org.codehaus.wadi.core.manager.BasicSessionMonitor.notifySessionDestru 
> ction(BasicSessionMonitor.java:67)
>     at org.codehaus.wadi.core.manager.StandardManager.destroy 
> (StandardManager.java:116)
>     at org.codehaus.wadi.core.session.StandardSession.destroy 
> (StandardSession.java:66)
>     at  
> org.codehaus.wadi.core.session.AbstractReplicableSession.destroy 
> (AbstractReplicableSession.java:55)
>     at  
> org.apache.geronimo.clustering.wadi.WADISessionAdaptor.release 
> (WADISessionAdaptor.java:54)
>     at org.apache.geronimo.jetty6.cluster.ClusteredSessionManager 
> $ClusteredSession.invalidate(ClusteredSessionManager.java:166)
>     at org.mortbay.jetty.servlet.HashSessionIdManager.invalidateAll 
> (HashSessionIdManager.java:194)
>     at  
> org.mortbay.jetty.servlet.AbstractSessionManager.removeSession 
> (AbstractSessionManager.java:657)
>     at org.mortbay.jetty.servlet.AbstractSessionManager 
> $Session.invalidate(AbstractSessionManager.java:938)
>     at org.apache.geronimo.jetty6.cluster.ClusteredSessionManager 
> $ClusteredSession.invalidate(ClusteredSessionManager.java:165)
>     at no.jotta.backup.web.gui.pub.servlets.LogoutServlet.doGet 
> (LogoutServlet.java:31)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>     at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:487)
>     at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
> (InternalJettyServletHolder.java:65)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1093)
>     at no.jotta.backup.web.gui.pub.filters.AppFilter.doFilter 
> (AppFilter.java:131)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1084)
>     at  
> no.jotta.backup.web.toolbox.filters.CacheControlFilter.doFilter 
> (CacheControlFilter.java:135)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1084)
>     at org.mortbay.servlet.UserAgentFilter.doFilter 
> (UserAgentFilter.java:81)
>     at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1084)
>     at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:360)
>     at org.mortbay.jetty.security.SecurityHandler.handle 
> (SecurityHandler.java:216)
>     at  
> org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle 
> (JettySecurityHandler.java:114)
>     at org.mortbay.jetty.servlet.SessionHandler.handle 
> (SessionHandler.java:181)
>     at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.doHandle 
> (ClusteredSessionHandler.java:59)
>     at org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler 
> $ActualHandler.handle(ClusteredSessionHandler.java:66)
>     at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler 
> $WebClusteredInvocation.invokeLocally 
> (AbstractClusteredPreHandler.java:71)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.access$000(WADIClusteredPreHandler.java: 
> 52)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation$1.doFilter(WADIClusteredPreHandler.java: 
> 64)
>     at org.codehaus.wadi.web.impl.WebInvocation.invoke 
> (WebInvocation.java:116)
>     at  
> org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocal 
> ly(MemoryContextualiser.java:71)
>     at org.codehaus.wadi.core.contextualiser.MemoryContextualiser 
> $MemoryImmoter.contextualise(MemoryContextualiser.java:108)
>     at  
> org.codehaus.wadi.core.motable.RehydrationImmoter.contextualise 
> (RehydrationImmoter.java:37)
>     at  
> org.codehaus.wadi.core.motable.LockingRehydrationImmoter.contextualise 
> (LockingRehydrationImmoter.java:44)
>     at  
> org.codehaus.wadi.core.contextualiser.HybridRelocater.handleSessionRel 
> ocation(HybridRelocater.java:161)
>     at  
> org.codehaus.wadi.core.contextualiser.HybridRelocater.doRelocate 
> (HybridRelocater.java:108)
>     at  
> org.codehaus.wadi.core.contextualiser.HybridRelocater.relocate 
> (HybridRelocater.java:79)
>     at  
> org.codehaus.wadi.core.contextualiser.ClusterContextualiser.handle 
> (ClusterContextualiser.java:95)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:37)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractSharedContextualiser.con 
> textualise(AbstractSharedContextualiser.java:41)
>     at  
> org.codehaus.wadi.core.contextualiser.SerialContextualiser.contextuali 
> se(SerialContextualiser.java:82)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:41)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:41)
>     at  
> org.codehaus.wadi.core.manager.StandardManager.processStateful 
> (StandardManager.java:150)
>     at org.codehaus.wadi.core.manager.StandardManager.contextualise 
> (StandardManager.java:142)
>     at org.codehaus.wadi.core.manager.ClusteredManager.contextualise 
> (ClusteredManager.java:81)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>     at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle( 
> AbstractClusteredPreHandler.java:39)
>     at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle 
> (ClusteredSessionHandler.java:51)
>     at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
>     at org.mortbay.jetty.webapp.WebAppContext.handle 
> (WebAppContext.java:405)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
> $101(TwistyWebAppContext.java:40)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>     at  
> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
> (ThreadClassloaderHandler.java:46)
>     at  
> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
> (InstanceContextHandler.java:58)
>     at  
> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
> (UserTransactionHandler.java:48)
>     at  
> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
> (ComponentContextHandler.java:47)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
> (TwistyWebAppContext.java:59)
>     at org.mortbay.jetty.handler.ContextHandlerCollection.handle 
> (ContextHandlerCollection.java:206)
>     at org.mortbay.jetty.handler.HandlerCollection.handle 
> (HandlerCollection.java:114)
>     at org.mortbay.jetty.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:139)
>     at org.mortbay.jetty.Server.handle(Server.java:324)
>     at org.mortbay.jetty.HttpConnection.handleRequest 
> (HttpConnection.java:505)
>     at org.mortbay.jetty.HttpConnection 
> $RequestHandler.headerComplete(HttpConnection.java:828)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java: 
> 211)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: 
> 380)
>     at org.mortbay.io.nio.SelectChannelEndPoint.run 
> (SelectChannelEndPoint.java:395)
>     at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>     at org.apache.geronimo.pool.ThreadPool 
> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask 
> (ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run 
> (ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:33:57,874 ERROR [HybridRelocater] unexpected error
> org.codehaus.wadi.replication.manager.ReplicationKeyNotFoundException: 
>  Key [557rwslm2uhp] does not exist
>     at  
> org.codehaus.wadi.replication.manager.basic.SyncReplicationManager.upd 
> ate(SyncReplicationManager.java:147)
>     at  
> org.codehaus.wadi.core.session.AbstractReplicableSession.onEndProcessi 
> ng(AbstractReplicableSession.java:49)
>     at  
> org.codehaus.wadi.core.session.AtomicallyReplicableSession.onEndProces 
> sing(AtomicallyReplicableSession.java:58)
>     at org.codehaus.wadi.web.impl.WebInvocation.invoke 
> (WebInvocation.java:121)
>     at  
> org.codehaus.wadi.core.contextualiser.MemoryContextualiser.handleLocal 
> ly(MemoryContextualiser.java:71)
>     at org.codehaus.wadi.core.contextualiser.MemoryContextualiser 
> $MemoryImmoter.contextualise(MemoryContextualiser.java:108)
>     at  
> org.codehaus.wadi.core.motable.RehydrationImmoter.contextualise 
> (RehydrationImmoter.java:37)
>     at  
> org.codehaus.wadi.core.motable.LockingRehydrationImmoter.contextualise 
> (LockingRehydrationImmoter.java:44)
>     at  
> org.codehaus.wadi.core.contextualiser.HybridRelocater.handleSessionRel 
> ocation(HybridRelocater.java:161)
>     at  
> org.codehaus.wadi.core.contextualiser.HybridRelocater.doRelocate 
> (HybridRelocater.java:108)
>     at  
> org.codehaus.wadi.core.contextualiser.HybridRelocater.relocate 
> (HybridRelocater.java:79)
>     at  
> org.codehaus.wadi.core.contextualiser.ClusterContextualiser.handle 
> (ClusterContextualiser.java:95)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:37)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractSharedContextualiser.con 
> textualise(AbstractSharedContextualiser.java:41)
>     at  
> org.codehaus.wadi.core.contextualiser.SerialContextualiser.contextuali 
> se(SerialContextualiser.java:82)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:41)
>     at  
> org.codehaus.wadi.core.contextualiser.AbstractMotingContextualiser.con 
> textualise(AbstractMotingContextualiser.java:41)
>     at  
> org.codehaus.wadi.core.manager.StandardManager.processStateful 
> (StandardManager.java:150)
>     at org.codehaus.wadi.core.manager.StandardManager.contextualise 
> (StandardManager.java:142)
>     at org.codehaus.wadi.core.manager.ClusteredManager.contextualise 
> (ClusteredManager.java:81)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>     at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle( 
> AbstractClusteredPreHandler.java:39)
>     at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle 
> (ClusteredSessionHandler.java:51)
>     at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
>     at org.mortbay.jetty.webapp.WebAppContext.handle 
> (WebAppContext.java:405)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
> $101(TwistyWebAppContext.java:40)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>     at  
> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
> (ThreadClassloaderHandler.java:46)
>     at  
> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
> (InstanceContextHandler.java:58)
>     at  
> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
> (UserTransactionHandler.java:48)
>     at  
> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
> (ComponentContextHandler.java:47)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
> (TwistyWebAppContext.java:59)
>     at org.mortbay.jetty.handler.ContextHandlerCollection.handle 
> (ContextHandlerCollection.java:206)
>     at org.mortbay.jetty.handler.HandlerCollection.handle 
> (HandlerCollection.java:114)
>     at org.mortbay.jetty.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:139)
>     at org.mortbay.jetty.Server.handle(Server.java:324)
>     at org.mortbay.jetty.HttpConnection.handleRequest 
> (HttpConnection.java:505)
>     at org.mortbay.jetty.HttpConnection 
> $RequestHandler.headerComplete(HttpConnection.java:828)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java: 
> 211)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: 
> 380)
>     at org.mortbay.io.nio.SelectChannelEndPoint.run 
> (SelectChannelEndPoint.java:395)
>     at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>     at org.apache.geronimo.pool.ThreadPool 
> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask 
> (ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run 
> (ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:33:59,878 ERROR [StandardManager] Could not acquire session  
> [557rwslm2uhp]
> 15:33:59,879 ERROR [log] /logout
> java.lang.IllegalStateException: Committed
>     at org.mortbay.jetty.Response.resetBuffer(Response.java:995)
>     at javax.servlet.ServletResponseWrapper.resetBuffer 
> (ServletResponseWrapper.java:195)
>     at org.mortbay.servlet.GzipFilter 
> $GZIPResponseWrapper.resetBuffer(GzipFilter.java:265)
>     at org.mortbay.servlet.GzipFilter 
> $GZIPResponseWrapper.sendRedirect(GzipFilter.java:286)
>     at no.jotta.backup.web.gui.pub.servlets.LogoutServlet.doGet 
> (LogoutServlet.java:33)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>     at org.mortbay.jetty.servlet.ServletHolder.handle 
> (ServletHolder.java:487)
>     at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
> (InternalJettyServletHolder.java:65)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1093)
>     at no.jotta.backup.web.gui.pub.filters.AppFilter.doFilter 
> (AppFilter.java:131)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1084)
>     at  
> no.jotta.backup.web.toolbox.filters.CacheControlFilter.doFilter 
> (CacheControlFilter.java:135)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1084)
>     at org.mortbay.servlet.UserAgentFilter.doFilter 
> (UserAgentFilter.java:81)
>     at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:129)
>     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1084)
>     at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:360)
>     at org.mortbay.jetty.security.SecurityHandler.handle 
> (SecurityHandler.java:216)
>     at  
> org.apache.geronimo.jetty6.handler.JettySecurityHandler.handle 
> (JettySecurityHandler.java:114)
>     at org.mortbay.jetty.servlet.SessionHandler.handle 
> (SessionHandler.java:181)
>     at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.doHandle 
> (ClusteredSessionHandler.java:59)
>     at org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler 
> $ActualHandler.handle(ClusteredSessionHandler.java:66)
>     at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler 
> $WebClusteredInvocation.invokeLocally 
> (AbstractClusteredPreHandler.java:71)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.access$000(WADIClusteredPreHandler.java: 
> 52)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation$1.doFilter(WADIClusteredPreHandler.java: 
> 64)
>     at org.codehaus.wadi.web.impl.WebInvocation.invoke 
> (WebInvocation.java:116)
>     at  
> org.codehaus.wadi.core.manager.StandardManager.processStateless 
> (StandardManager.java:172)
>     at  
> org.codehaus.wadi.core.manager.StandardManager.processStateful 
> (StandardManager.java:156)
>     at org.codehaus.wadi.core.manager.StandardManager.contextualise 
> (StandardManager.java:142)
>     at org.codehaus.wadi.core.manager.ClusteredManager.contextualise 
> (ClusteredManager.java:81)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>     at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle( 
> AbstractClusteredPreHandler.java:39)
>     at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle 
> (ClusteredSessionHandler.java:51)
>     at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
>     at org.mortbay.jetty.webapp.WebAppContext.handle 
> (WebAppContext.java:405)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
> $101(TwistyWebAppContext.java:40)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>     at  
> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
> (ThreadClassloaderHandler.java:46)
>     at  
> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
> (InstanceContextHandler.java:58)
>     at  
> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
> (UserTransactionHandler.java:48)
>     at  
> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
> (ComponentContextHandler.java:47)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
> (TwistyWebAppContext.java:59)
>     at org.mortbay.jetty.handler.ContextHandlerCollection.handle 
> (ContextHandlerCollection.java:206)
>     at org.mortbay.jetty.handler.HandlerCollection.handle 
> (HandlerCollection.java:114)
>     at org.mortbay.jetty.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:139)
>     at org.mortbay.jetty.Server.handle(Server.java:324)
>     at org.mortbay.jetty.HttpConnection.handleRequest 
> (HttpConnection.java:505)
>     at org.mortbay.jetty.HttpConnection 
> $RequestHandler.headerComplete(HttpConnection.java:828)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java: 
> 211)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: 
> 380)
>     at org.mortbay.io.nio.SelectChannelEndPoint.run 
> (SelectChannelEndPoint.java:395)
>     at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>     at org.apache.geronimo.pool.ThreadPool 
> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask 
> (ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run 
> (ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:33:59,880 ERROR [log] EXCEPTION
> org.codehaus.wadi.replication.manager.ReplicationKeyNotFoundException: 
>  Key [557rwslm2uhp] does not exist
>     at  
> org.codehaus.wadi.replication.manager.basic.SyncReplicationManager.upd 
> ate(SyncReplicationManager.java:147)
>     at  
> org.codehaus.wadi.core.session.AbstractReplicableSession.onEndProcessi 
> ng(AbstractReplicableSession.java:49)
>     at  
> org.codehaus.wadi.core.session.AtomicallyReplicableSession.onEndProces 
> sing(AtomicallyReplicableSession.java:58)
>     at org.codehaus.wadi.web.impl.WebInvocation.invoke 
> (WebInvocation.java:121)
>     at  
> org.codehaus.wadi.core.manager.StandardManager.processStateless 
> (StandardManager.java:172)
>     at  
> org.codehaus.wadi.core.manager.StandardManager.processStateful 
> (StandardManager.java:156)
>     at org.codehaus.wadi.core.manager.StandardManager.contextualise 
> (StandardManager.java:142)
>     at org.codehaus.wadi.core.manager.ClusteredManager.contextualise 
> (ClusteredManager.java:81)
>     at  
> org.apache.geronimo.jetty6.cluster.wadi.WADIClusteredPreHandler 
> $WADIWebClusteredInvocation.invoke(WADIClusteredPreHandler.java:72)
>     at  
> org.apache.geronimo.jetty6.cluster.AbstractClusteredPreHandler.handle( 
> AbstractClusteredPreHandler.java:39)
>     at  
> org.apache.geronimo.jetty6.cluster.ClusteredSessionHandler.handle 
> (ClusteredSessionHandler.java:51)
>     at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
>     at org.mortbay.jetty.webapp.WebAppContext.handle 
> (WebAppContext.java:405)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
> $101(TwistyWebAppContext.java:40)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>     at  
> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
> (ThreadClassloaderHandler.java:46)
>     at  
> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
> (InstanceContextHandler.java:58)
>     at  
> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
> (UserTransactionHandler.java:48)
>     at  
> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
> (ComponentContextHandler.java:47)
>     at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
> (TwistyWebAppContext.java:59)
>     at org.mortbay.jetty.handler.ContextHandlerCollection.handle 
> (ContextHandlerCollection.java:206)
>     at org.mortbay.jetty.handler.HandlerCollection.handle 
> (HandlerCollection.java:114)
>     at org.mortbay.jetty.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:139)
>     at org.mortbay.jetty.Server.handle(Server.java:324)
>     at org.mortbay.jetty.HttpConnection.handleRequest 
> (HttpConnection.java:505)
>     at org.mortbay.jetty.HttpConnection 
> $RequestHandler.headerComplete(HttpConnection.java:828)
>     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java: 
> 211)
>     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: 
> 380)
>     at org.mortbay.io.nio.SelectChannelEndPoint.run 
> (SelectChannelEndPoint.java:395)
>     at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>     at org.apache.geronimo.pool.ThreadPool 
> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask 
> (ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run 
> (ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:619)
> 15:34:00,926 WARN  [MovePMToSMEndPoint] Motable [557rwslm2uhp] has  
> just been destroyed
> 15:34:00,929 WARN  [BasicLocalPartition#21@NODE] move [557rwslm2uhp] 
> @[TribesPeer [NODE; tcp://192.168.1.60:4000]]->[TribesPeer [NODE;  
> tcp://{-64, -88, 1, 61}:4000]] failed
>
> On the other node I'm seeing this:
>
> 15:33:56,745 WARN   
> [org.codehaus.wadi.core.contextualiser.HybridRelocater] Failed  
> relocation for [557rwslm2uhp]
> 15:33:58,751 ERROR [org.codehaus.wadi.core.manager.StandardManager]  
> Could not acquire session [557rwslm2uhp]
>
> Any idea what might be causing this?
>
> The only configuration I've done is adding "<distributable/>" to  
> web.xml and "<clustering-wadi/>" to plan.xml. I've tried giving  
> each node a unique "clusterNodeName" without any immediate effect.
>
> Thanks a lot in advance for your help.
>
> Trygve