Return-Path: Delivered-To: apmail-geronimo-user-archive@www.apache.org Received: (qmail 38643 invoked from network); 14 Jan 2009 12:48:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Jan 2009 12:48:06 -0000 Received: (qmail 28768 invoked by uid 500); 14 Jan 2009 12:48:04 -0000 Delivered-To: apmail-geronimo-user-archive@geronimo.apache.org Received: (qmail 28743 invoked by uid 500); 14 Jan 2009 12:48:04 -0000 Mailing-List: contact user-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: user@geronimo.apache.org List-Id: Delivered-To: mailing list user@geronimo.apache.org Received: (qmail 28731 invoked by uid 99); 14 Jan 2009 12:48:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 04:48:04 -0800 X-ASF-Spam-Status: No, hits=3.4 required=10.0 tests=HTML_MESSAGE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [209.85.218.20] (HELO mail-bw0-f20.google.com) (209.85.218.20) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 12:47:55 +0000 Received: by bwz13 with SMTP id 13so1748287bwz.19 for ; Wed, 14 Jan 2009 04:47:32 -0800 (PST) Received: by 10.223.114.2 with SMTP id c2mr47762faq.85.1231937252456; Wed, 14 Jan 2009 04:47:32 -0800 (PST) Received: by 10.223.112.136 with HTTP; Wed, 14 Jan 2009 04:47:32 -0800 (PST) Message-ID: Date: Wed, 14 Jan 2009 13:47:32 +0100 From: "Trygve Hardersen" To: user@geronimo.apache.org Subject: Re: wadi clustering - session invalidation In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_14412_2300785.1231937252446" References: X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_14412_2300785.1231937252446 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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 ------=_Part_14412_2300785.1231937252446 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline 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

------=_Part_14412_2300785.1231937252446--