1 2 Previous Next 19 Replies Latest reply on Jun 26, 2008 8:59 AM by praveenas Go to original post
      • 15. Re: Session Replication - Concurrency Problems?
        brian.stansberry

        Re: mod_proxy_ajp, your ProxyPass looks fine. There's the ProxyPassReverseCookieDomain directive to look into (see http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxy) but if there was a problem with the cookie domain I'd expect it would be a non-stickyness problem but rather a loss of the session altogether.

        • 16. Re: Session Replication - Concurrency Problems?
          davewebb

          Last night I reverted back to mod_jk 1.2.21. I have stickysession working correctly and load balancing working correctly. I no longer have any error messages regarding the session replication in the jboss log.

          This leads me to believe the issue we are all having is with mod_proxy and not Jboss/TC session replication.

          I highly recommend reading this Wiki and using mod_jk. Thanks.

          http://www.jboss.org/wiki/Wiki.jsp?page=UsingMod_jk1.2WithJBoss

          • 17. Re: Session Replication - Concurrency Problems?
            atomicgun

            Hi all!

            my setup is a little bit different... instead of using Apache WS, my client is using windows network load-balancer to achieve HA on the application (they felt apache will be the single point of failure). so i used default settings with no jk_mod. the session got replicated properly but still i get the same error message.

            i don't feel this will be serious though. any un-usual thing happened when this warning came out??

            • 18. Re: Session Replication - Concurrency Problems?
              jyoonyang

              Hi,
              I'm seeing similar issue.

              "bstansberry@jboss.com" wrote:

              Everyone else -- is anyone seeing this problem with sticky sessions enabled and working properly? You have to use sticky sessions.


              Why does sticky session need to enabled? We have sticky session false and want to replicate the session.

              We see this error when we repeatedly log in and out using the same browser.

              I did printDetail on JMS console TomcatClusteringCache

              When I log in, I see the following in both nodes.

              /JSESSION
              
               /localhost
              
               /myapp
              
               /s6YGpkbACWfDPVre4sMcqQ**
              VERSION: 3
              s6YGpkbACWfDPVre4sMcqQ**: [B@5e43ee


              After logging out, I see the same in both nodes, except that the VERSION is bumped up to 4.

              I tried logging in and out repeatedly, until I run into the error.
              ERROR [org.jboss.web.tomcat.tc5.session.JBossCacheService] externalizeSession(): exception occurred externalizing session SessionBasedClusteredSession[id: s6YGpkbACWfDPVre4sMcqQ**.worker1 lastAccessedTime: 1184115870097 version: 13 lastOutdated: 0]
              java.lang.NullPointerException
               at org.springframework.webflow.execution.FlowSessionImpl.writeObject(FlowSessionImpl.java:156)
               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
               at java.lang.reflect.Method.invoke(Method.java:585)
              ...


              Followed by
              WARN [org.jboss.web.tomcat.tc5.session.CacheListener] Possible concurrency problem: Replicated version id 13 matches in-memory version for session s6YGpkbACWfDPVre4sMcqQ**


              Here is tc5-cluster jboss-service.xml settings

              <attribute name="ClusterName">Tomcat-${jboss.partition.name:Cluster}</attribute>
              <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
              <attribute name="CacheMode">REPL_ASYNC</attribute>
              


              Any idea?

              Thanks in advance,
              Jennifer

              • 19. Re: Session Replication - Concurrency Problems?
                praveenas

                Hi,

                I am trying to cluster 2 jboss 4.2.2.GA instances with apache 2.0.x load balancer.

                I have enabled sticky session by "worker.loadbalancer.sticky_session=1".

                I ve the default values for "Isolation level" and "CacheMode"

                REPEATABLE_READ

                <!-- Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC

                If you use REPL_SYNC and a UDP-based ClusterConfig
                we recommend you comment out the FC (flow control)
                protocol in the ClusterConfig section below.
                -->
                REPL_ASYNC



                Also, my jboss-web.xml is

                <jboss-web>
                <replication-config>
                <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
                <replication-granularity>SESSION</replication-granularity>
                <replication-field-batch-mode>true</replication-field-batch-mode>
                </replication-config>
                </jboss-web>



                I found my exception stack trace for one server as:

                18:08:32,991 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.appender.FileAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
                18:08:32,991 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
                18:08:32,991 ERROR [STDERR] log4j:ERROR [WebappClassLoader
                delegate: false
                repositories:
                /WEB-INF/classes/
                ----------> Parent Classloader:
                java.net.FactoryURLClassLoader@fe03b3
                ] whereas object of type
                18:08:32,991 ERROR [STDERR] log4j:ERROR "org.jboss.logging.appender.FileAppender" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@cdedfd].
                18:08:32,991 ERROR [STDERR] log4j:ERROR Could not instantiate appender named "FILE".
                18:08:35,152 ERROR [[TestContainer]] Servlet.service() for servlet TestContainer threw exception
                javax.servlet.ServletException: Service id "Echo.ContentPane" not registered.
                at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:253)
                at nextapp.echo2.webrender.WebRenderServlet.doGet(WebRenderServlet.java:179)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:87)
                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
                at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                at java.lang.Thread.run(Thread.java:675)
                18:08:35,296 ERROR [[TestContainer]] Servlet.service() for servlet TestContainer threw exception
                javax.servlet.ServletException: Service id "Echo.TextComponent" not registered.
                at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:253)
                at nextapp.echo2.webrender.WebRenderServlet.doGet(WebRenderServlet.java:179)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:87)
                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
                at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                at java.lang.Thread.run(Thread.java:675)
                18:08:35,310 ERROR [[TestContainer]] Servlet.service() for servlet TestContainer threw exception
                javax.servlet.ServletException: Service id "Echo.Button" not registered.
                at nextapp.echo2.webrender.WebRenderServlet.process(WebRenderServlet.java:253)
                at nextapp.echo2.webrender.WebRenderServlet.doGet(WebRenderServlet.java:179)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
                at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:87)
                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
                at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                at java.lang.Thread.run(Thread.java:675)
                18:08:36,106 INFO [STDOUT] java.io.FileNotFoundException: sses/d/Trend/source/2008-06-26_18:08:27.862.html (No such file or directory)
                18:08:42,471 INFO [STDOUT] Pages Downloaded
                18:08:42,474 INFO [STDOUT] Error in Parser.java::java.io.FileNotFoundException: sses/d/Trend/source/2008-06-26_18:08:27.862.html (No such file or directory)
                18:09:00,228 INFO [CacheListener] Possible concurrency problem: Replicated version id 8 matches in-memory version for session UkxTM9dXOUBJbgCo6b4SPg**
                18:26:38,389 INFO [STDOUT] 2
                18:26:38,753 INFO [STDOUT] 4
                18:26:39,115 INFO [STDOUT] 6



                And for the 2nd server:

                18:04:21,890 ERROR [STDERR] log4j:ERROR "org.jboss.logging.appender.FileAppender" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@1c39a2d].
                18:04:21,891 ERROR [STDERR] log4j:ERROR Could not instantiate appender named "FILE".
                18:04:23,272 INFO [CacheListener] Possible concurrency problem: Replicated version id 2 matches in-memory version for session UkxTM9dXOUBJbgCo6b4SPg**
                18:04:31,137 INFO [STDOUT] Pages Downloaded
                18:04:31,153 INFO [STDOUT]
                In Constructor. dbSelector = casperdb
                18:04:31,232 INFO [STDOUT] From DatabaseManager Connect getConnection():org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
                18:04:31,232 INFO [STDOUT] From DatabaseManager getRow():java.lang.NullPointerException
                18:04:31,232 INFO [STDOUT] Error in Parser.java::java.lang.NullPointerException
                18:04:48,328 INFO [CacheListener] Possible concurrency problem: Replicated version id 8 matches in-memory version for session UkxTM9dXOUBJbgCo6b4SPg**
                18:22:26,706 INFO [STDOUT] 3
                18:22:27,046 INFO [STDOUT] 5
                18:22:27,416 INFO [STDOUT] 7



                PS: Finally the application is running. But I am getting problem with the other components of java.


                Please let me know what to be done to avoid that

                18:04:48,328 INFO [CacheListener] Possible concurrency problem: Replicated version id 8 matches in-memory version for session UkxTM9dXOUBJbgCo6b4SPg**

                Thanks in advance,
                Praveena.

                1 2 Previous Next