14 Replies Latest reply on Mar 21, 2012 10:11 AM by matt.drees

    AS7.1: session replication within different server groups

    hschmidt

      Hi,

       

      I have a cluster as follows

       

      - node01

        - JBoss AS7.1 (domain controller)

          - node01-server-group-1

                - AS: node01-server-main-1

                - AS: node01-server-main-2

          - node01-server-group-2

                - AS: node01-server-other-1

                - AS: node01-server-other-2

               

      - node02

        - JBoss AS7.1 (host controller)

          - node02-server-group-1

                - AS: node02-server-main-1

                - AS: node02-server-main-2

          - node02-server-group-2

                - AS: node02-server-other-1

                - AS: node02-server-other-2

       

      In such a scenario, is it possible to have node01-server-group-1 and node02-server-group-1 run the same application and use clustering to have the session replicated within both groups?

       

      For instance, assume the user accesses the application on node01-server-main-1 first. Then, this node crashes.

      The user should be able to use the replicated session on all nodes withing node01-server-group-1 and node02-server-group-1 (e.g. node02-server-main-1)?

       

      I tried to set this up in all server groups using the ha profile without modifications.

       

      However, with this configuration the cluster is partitioned: node01 and node02 are isolated each (e.g. session replication works switching from node01-server-main-1 to node01-server-other-2 but not to node02-server-main-1).

       

      On node01 I get errors in the log such as:

       

      [Server:node01-server-main-1] 16:17:45,961 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-17,null) node01:node01-server-main-1/web: dropped message 9 from node02:node02-server-main-1/web (sender not in table [node01:node01-server-other-1/web, node01:node01-server-other-2/web, node01:node01-server-main-2/web, node01:node01-server-main-1/web]), view=[node01:node01-server-main-1/web|2] [node01:node01-server-main-1/web, node01:node01-server-other-2/web, node01:node01-server-other-1/web, node01:node01-server-main-2/web]

      [Server:node01-server-other-1] 16:19:00,706 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) node01:node01-server-other-1/web: dropped message 31 from node02:node02-server-main-2/web (sender not in table [node01:node01-server-other-1/web, node01:node01-server-other-2/web, node01:node01-server-main-2/web, node01:node01-server-main-1/web]), view=[node01:node01-server-main-1/web|2] [node01:node01-server-main-1/web, node01:node01-server-other-2/web, node01:node01-server-other-1/web, node01:node01-server-main-2/web]

      [Server:node01-server-other-2] 16:19:00,813 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-13,null) node01:node01-server-other-2/web: dropped message 12 from node02:node02-server-other-2/web (sender not in table [node01:node01-server-other-1/web, node01:node01-server-other-2/web, node01:node01-server-main-2/web, node01:node01-server-main-1/web]), view=[node01:node01-server-main-1/web|2] [node01:node01-server-main-1/web, node01:node01-server-other-2/web, node01:node01-server-other-1/web, node01:node01-server-main-2/web]

      [Server:node01-server-other-2] 16:19:08,223 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-13,null) node01:node01-server-other-2/web: dropped message 17 from node02:node02-server-other-1/web (sender not in table [node01:node01-server-other-1/web, node01:node01-server-other-2/web, node01:node01-server-main-2/web, node01:node01-server-main-1/web]), view=[node01:node01-server-main-1/web|2] [node01:node01-server-main-1/web, node01:node01-server-other-2/web, node01:node01-server-other-1/web, node01:node01-server-main-2/web]

       

      On node02 I get similar errors, i.e. servers of node01 cannot be found in the table...

       

      Any idea what is going wrong here? How can I configure which app servers should be part of the cluster?

       

      Thanks

        • 1. Re: AS7.1: session replication within different server groups
          wdfink

          As I understand correctly, you want to have node01-server-group-1 and node02-server-group-1 run the same application clustered?

          Why you did not use the same server-group. I'm not really sure but I suppose if you use the same group it will work.

          • 2. Re: AS7.1: session replication within different server groups
            rhusar

            Holger,

             

            if I understand correctly, the best solution to your problem is to use different UDP groups for different groups. (You should also be able to define a specific cluster name in the infinispan cache container configuration to achieve the same).

             

            Rado

            • 3. Re: AS7.1: session replication within different server groups
              hschmidt

              @Radoslav: if I use different UDP groups for different server groups the members won't be able to see each other, right? Yet, I want members of different server groups to see each other and to replicate the session state.

               

              @Wolf-Dieter: I tried putting the servers in the same server group but it does not work as well. The session is still not replicated over both nodes and I get the following error on node01 (I added server node02-test on node02):

               

              [Server:node01-server-main-2] 08:22:56,279 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-19,null) node01:node01-server-main-2/web: dropped message 66 from node02:node02-test/web (sender not in table [node01:node01-server-other-1/web, node01:node01-server-other-2/web, node01:node01-server-main-2/web, node01:node01-server-main-1/web]), view=[node01:node01-server-main-1/web|2] [node01:node01-server-main-1/web, node01:node01-server-other-2/web, node01:node01-server-other-1/web, node01:node01-server-main-2/web]

               

              Thus, what I have to solve first is to be able to replicate state over two servers (on different nodes) belonging to one server group. Here is my infinispan / jgroups configuration in domain.xml (i.e., the standard configuration "ha" profile without changes):

               

                         <subsystem xmlns="urn:jboss:domain:infinispan:1.1" default-cache-container="cluster">

                              <cache-container name="cluster" aliases="ha-partition" default-cache="default">

                                  <transport lock-timeout="60000"/>

                                  <replicated-cache name="default" mode="SYNC" batching="true">

                                      <locking isolation="REPEATABLE_READ"/>

                                  </replicated-cache>

                              </cache-container>

                              <cache-container name="web" aliases="standard-session-cache" default-cache="repl">

                                  <transport lock-timeout="60000"/>

                                  <replicated-cache name="repl" mode="ASYNC" batching="true">

                                      <file-store/>

                                  </replicated-cache>

                                  <replicated-cache name="sso" mode="SYNC" batching="true"/>

                                  <distributed-cache name="dist" mode="ASYNC" batching="true">

                                      <file-store/>

                                  </distributed-cache>

                              </cache-container>

                              <cache-container name="ejb" aliases="sfsb sfsb-cache" default-cache="repl">

                                  <transport lock-timeout="60000"/>

                                  <replicated-cache name="repl" mode="ASYNC" batching="true">

                                      <eviction strategy="LRU"/>

                                      <file-store/>

                                  </replicated-cache>

                                  <replicated-cache name="remote-connector-client-mappings" mode="SYNC" batching="true"/>

                                  <distributed-cache name="dist" mode="ASYNC" batching="true">

                                      <eviction strategy="LRU"/>

                                      <file-store/>

                                  </distributed-cache>

                              </cache-container>

                              <cache-container name="hibernate" default-cache="local-query">

                                  <transport lock-timeout="60000"/>

                                  <local-cache name="local-query">

                                      <transaction mode="NONE"/>

                                      <eviction strategy="LRU" max-entries="10000"/>

                                      <expiration max-idle="100000"/>

                                  </local-cache>

                                  <invalidation-cache name="entity" mode="SYNC">

                                      <transaction mode="NON_XA"/>

                                      <eviction strategy="LRU" max-entries="10000"/>

                                      <expiration max-idle="100000"/>

                                  </invalidation-cache>

                                  <replicated-cache name="timestamps" mode="ASYNC">

                                      <transaction mode="NONE"/>

                                      <eviction strategy="NONE"/>

                                  </replicated-cache>

                              </cache-container>

                          </subsystem>

               

                         <subsystem xmlns="urn:jboss:domain:jgroups:1.1" default-stack="udp">

                              <stack name="udp">

                                  <transport type="UDP" socket-binding="jgroups-udp" diagnostics-socket-binding="jgroups-diagnostics"/>

                                  <protocol type="PING"/>

                                  <protocol type="MERGE2"/>

                                  <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>

                                  <protocol type="FD"/>

                                  <protocol type="VERIFY_SUSPECT"/>

                                  <protocol type="BARRIER"/>

                                  <protocol type="pbcast.NAKACK"/>

                                  <protocol type="UNICAST2"/>

                                  <protocol type="pbcast.STABLE"/>

                                  <protocol type="pbcast.GMS"/>

                                  <protocol type="UFC"/>

                                  <protocol type="MFC"/>

                                  <protocol type="FRAG2"/>

                              </stack>

                              <stack name="tcp">

                                  <transport type="TCP" socket-binding="jgroups-tcp" diagnostics-socket-binding="jgroups-diagnostics"/>

                                  <protocol type="MPING" socket-binding="jgroups-mping"/>

                                  <protocol type="MERGE2"/>

                                  <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>

                                  <protocol type="FD"/>

                                  <protocol type="VERIFY_SUSPECT"/>

                                  <protocol type="BARRIER"/>

                                  <protocol type="pbcast.NAKACK"/>

                                  <protocol type="UNICAST2"/>

                                  <protocol type="pbcast.STABLE"/>

                                  <protocol type="pbcast.GMS"/>

                                  <protocol type="UFC"/>

                                  <protocol type="MFC"/>

                                  <protocol type="FRAG2"/>

                              </stack>

                          </subsystem>

               

              Is there anything I did wrong with the configuration?

               

              Thanks!

              • 4. Re: AS7.1: session replication within different server groups
                hschmidt

                In general, is it possible to replicate session state between two servers with AS7.1?

                 

                Should this be possible with the default "ha" profile or do I have to change this configuration to enable replication between two servers?

                 

                Thanks in advance!

                • 5. Re: AS7.1: session replication within different server groups
                  wdfink

                  Yes!

                   

                  Do you see this demo project? Does it helps?

                  • 6. Re: AS7.1: session replication within different server groups
                    hschmidt

                    Thanks for the link. I deployed this demo project but there is still the same bahavior: session replication only works on one node the second node rejects messages with "sender not in table"...

                     

                    Any idea?

                    • 7. Re: AS7.1: session replication within different server groups
                      hschmidt

                      I just cleanly reinstalled both JBoss instances to ensure I have no errors in the configurations. I only removed domain.xml and used host-slave.xml with my management pw on node02.

                       

                      Then, I deployed the demo project in "other-server-group" and started server-three on the master.

                       

                      Session replication is still not working.

                       

                      On the master I get the following output:

                       

                      [Server:server-three] 09:07:42,719 INFO  [stdout] (http--0.0.0.0-8330-1) Putting date now

                      [Server:server-three] 09:07:43,787 WARNING [org.jgroups.protocols.UDP] (OOB-12,null) null: no physical address for 4c016057-568c-48e1-821b-2ad9cdb016d1, dropping message

                      [Server:server-three] 09:07:43,845 INFO  [stdout] (http--0.0.0.0-8330-1) Putting date now

                      [Server:server-three] 09:07:46,933 INFO  [stdout] (http--0.0.0.0-8330-1) Getting date now

                      [Server:server-three] 09:07:47,437 INFO  [stdout] (http--0.0.0.0-8330-1) Getting date now

                      [Server:server-three] 09:07:47,660 INFO  [stdout] (http--0.0.0.0-8330-2) Getting date now

                      [Server:server-three] 09:07:50,157 WARNING [org.jgroups.protocols.UDP] (OOB-16,null) null: no physical address for 4c016057-568c-48e1-821b-2ad9cdb016d1, dropping message

                      [Server:server-three] 09:08:44,578 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 9 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:08:45,507 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 10 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:09:06,587 WARNING [org.jgroups.protocols.UDP] (OOB-20,null) null: no physical address for 4c016057-568c-48e1-821b-2ad9cdb016d1, dropping message

                      [Server:server-three] 09:10:08,358 WARNING [org.jgroups.protocols.UDP] (OOB-20,null) null: no physical address for 4c016057-568c-48e1-821b-2ad9cdb016d1, dropping message

                      [Server:server-three] 09:10:22,038 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-19,null) master:server-three/web: dropped message 11 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:10:22,188 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-19,null) master:server-three/web: dropped message 12 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:11:09,378 WARNING [org.jgroups.protocols.UDP] (OOB-19,null) null: no physical address for 4c016057-568c-48e1-821b-2ad9cdb016d1, dropping message

                      [Server:server-three] 09:11:12,258 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 13 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:11:13,108 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 14 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:11:46,698 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 15 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:11:46,978 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 16 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:12:13,488 WARNING [org.jgroups.protocols.UDP] (OOB-20,null) null: no physical address for 4c016057-568c-48e1-821b-2ad9cdb016d1, dropping message

                      [Server:server-three] 09:12:23,508 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 17 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:12:23,839 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 18 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:12:52,499 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 19 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                      [Server:server-three] 09:12:52,679 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) master:server-three/web: dropped message 20 from 4c016057-568c-48e1-821b-2ad9cdb016d1 (sender not in table [master:server-three/web]), view=[master:server-three/web|0] [master:server-three/web]

                       

                      On the slave I get the following output:

                       

                      [Server:server-two] 09:07:04,447 INFO  [stdout] (http--0.0.0.0-8230-1) Getting date now

                      [Server:server-two] 09:07:40,036 INFO  [stdout] (http--0.0.0.0-8230-1) Getting date now

                      [Server:server-two] 09:07:43,966 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 1 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:07:44,804 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 2 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:07:50,005 INFO  [stdout] (http--0.0.0.0-8230-1) Getting date now

                      [Server:server-two] 09:07:50,428 INFO  [stdout] (http--0.0.0.0-8230-1) Getting date now

                      [Server:server-two] 09:07:50,651 INFO  [stdout] (http--0.0.0.0-8230-2) Getting date now

                      [Server:server-two] 09:07:50,747 INFO  [stdout] (http--0.0.0.0-8230-2) Getting date now

                      [Server:server-two] 09:09:15,994 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 3 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:09:16,953 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 4 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:10:49,003 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 5 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:10:49,353 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 6 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:11:39,233 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 7 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:11:39,923 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 8 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:12:38,922 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 9 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                      [Server:server-two] 09:12:39,802 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) slave:server-two/web: dropped message 10 from master:server-three/web (sender not in table [slave:server-two/web]), view=[slave:server-two/web|0] [slave:server-two/web]

                       

                       

                      What's wrong here? master and slave seem to be isolated regarding session replication...

                       

                      Thanks!

                      • 8. Re: AS7.1: session replication within different server groups
                        rhusar

                        I see you are using a domain and its harder for us to debug and see whats wrong.

                         

                        Could you try starting up 2 standalone servers using the HA profile?

                         

                        ./standalone.sh -c standalone-ha.xml -b localhost

                        ./standalone.sh -c standalone-ha.xml -b localhost -Djboss.socket.binding.port-offset=100

                        and make sure the distributable app is deployed. If you get that working then fix your current setup.

                        • 9. Re: AS7.1: session replication within different server groups
                          hschmidt

                          Rado,

                           

                          with two standalone instances on one node, session replication works perfect.

                           

                          Yet, if I start one instance on node01 and another one on node02, session replication does not work.

                           

                          I get the following logs:

                           

                          standalone-ha on node01:

                           

                          10:59:23,939 INFO  [org.jboss.as.server] (HttpManagementService-threads - 4) JBAS018559: Deployed "cluster-demo.war"

                          10:59:49,137 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-10,null) node01/web: dropped message 1 from node02/web (sender not in table [node01/web]), view=[node01/web|0] [node01/web]

                          10:59:49,276 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-11,null) node01/web: dropped message 2 from node02/web (sender not in table [node01/web]), view=[node01/web|0] [node01/web]

                          11:00:31,851 INFO  [stdout] (http--0.0.0.0-8080-1) Getting date now

                          11:00:46,763 INFO  [stdout] (http--0.0.0.0-8080-1) Putting date now

                          11:00:54,338 INFO  [stdout] (http--0.0.0.0-8080-1) Getting date now

                          11:00:54,394 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) node01/web: dropped message 3 from node02/web (sender not in table [node01/web]), view=[node01/web|0] [node01/web]

                          11:00:54,474 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) node01/web: dropped message 4 from node02/web (sender not in table [node01/web]), view=[node01/web|0] [node01/web]

                           

                          standalone-ha on node02:

                           

                          10:59:42,241 INFO  [org.jboss.as.server] (HttpManagementService-threads - 1) JBAS018559: Deployed "cluster-demo.war"

                          10:59:49,278 WARNING [org.jgroups.protocols.UDP] (OOB-8,null) null: no physical address for 75e2128d-e058-dade-1023-72574b426232, dropping message

                          10:59:51,110 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-12,null) node02/web: dropped message 3 from 75e2128d-e058-dade-1023-72574b426232 (sender not in table [node02/web]), view=[node02/web|0] [node02/web]

                          10:59:51,668 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-13,null) node02/web: dropped message 4 from 75e2128d-e058-dade-1023-72574b426232 (sender not in table [node02/web]), view=[node02/web|0] [node02/web]

                          11:00:41,292 INFO  [stdout] (http--0.0.0.0-8080-1) Getting date now

                          11:00:41,387 WARNING [org.jgroups.protocols.UDP] (OOB-18,null) null: no physical address for 75e2128d-e058-dade-1023-72574b426232, dropping message

                          11:00:50,210 INFO  [stdout] (http--0.0.0.0-8080-1) Getting date now

                          11:00:56,119 INFO  [stdout] (http--0.0.0.0-8080-1) Getting date now

                          11:00:56,278 INFO  [stdout] (http--0.0.0.0-8080-1) Getting date now

                          11:00:56,430 INFO  [stdout] (http--0.0.0.0-8080-1) Getting date now

                          11:01:28,549 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) node02/web: dropped message 5 from 75e2128d-e058-dade-1023-72574b426232 (sender not in table [node02/web]), view=[node02/web|0] [node02/web]

                          11:01:29,278 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) node02/web: dropped message 6 from 75e2128d-e058-dade-1023-72574b426232 (sender not in table [node02/web]), view=[node02/web|0] [node02/web]

                          11:01:35,206 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) node02/web: dropped message 7 from 75e2128d-e058-dade-1023-72574b426232 (sender not in table [node02/web]), view=[node02/web|0] [node02/web]

                          11:01:35,946 WARNING [org.jgroups.protocols.pbcast.NAKACK] (OOB-20,null) node02/web: dropped message 8 from 75e2128d-e058-dade-1023-72574b426232 (sender not in table [node02/web]), view=[node02/web|0] [node02/web]

                           

                          During the test I turned the firewall off. Any idea what's going wrong here? Messages seem to arrive but are discarded by jgroups...

                           

                          Thanks!

                          • 10. Re: AS7.1: session replication within different server groups
                            hschmidt

                            Finally, I got session replication basically working.

                             

                            The first issue was starting jboss with -b 0.0.0.0 - here the instances were not able to find each other. I had to start jboss with the external ip adress (-b <ext_ip_address>).

                             

                            The second issue was that it seems you have to use mod_cluster for session replication to work using different  hosts.

                             

                            Could someone please confirm the necessity of mod_cluster and explain why mod_cluster has to be used? Why does session replication work without mod_cluster (!!) using the direct url of the respective application server on ONE host?

                             

                            How are cookies processed by mod_cluster / jboss? In our scenario we use a hw load balancer instead of apache httpd. How do we have to configure that?

                             

                            Thanks!

                            • 11. Re: AS7.1: session replication within different server groups
                              belaban

                              If you access servers A and B directly, then you're going to have 2 connections, therefore 2 cookies == 2 separate sessions.

                               

                              If you access A or B through mod-cluster (or mod-jk, or a HW load balancer), you're going to have only 1 connection, therefore 1 cookie == 1 session (which is replicated)

                              • 12. Re: AS7.1: session replication within different server groups
                                hschmidt

                                All right, thank you for the hint!

                                • 13. Re: AS7.1: session replication within different server groups
                                  matt.drees

                                  Holger Schmidt wrote:

                                   

                                  The first issue was starting jboss with -b 0.0.0.0 - here the instances were not able to find each other. I had to start jboss with the external ip adress (-b <ext_ip_address>).

                                   

                                  Does anyone know why this is required?  Seems rather strange to me.

                                  -Matt

                                  • 14. Re: AS7.1: session replication within different server groups
                                    matt.drees

                                    Matt Drees wrote:

                                    Does anyone know why this is required?  Seems rather strange to me.

                                     

                                    I think this is more-or-less answered here:  https://community.jboss.org/wiki/JGroupsFAQ

                                     

                                     

                                    I think AS7 should log a warning or something if you try to point jgroups at the 0.0.0.0 interface.  It's a silent pitfall, otherwise.