7 Replies Latest reply on Jul 4, 2013 10:46 AM by Pierre Morvant

    ISPN + WebSphere cluster

    Pierre Morvant Newbie

      Hello everyone,

      We use ISPN - version 5.2.6 - in a WebSphere 8 cluster.

       

      Details:

      cluster WebSphere with 2 members on the same node on the same server (development) / cluster WebSphere with 2 members on 2 different nodes on 2 differents server (test).

       

      Actually, we use a distributed ISPN cache to manage a key named node-id. This key is used to generated a different name for each member of our cluster.

      When each member starts, it locks the key node-id, increments it - 0 to 1 when the first member starts, 1 to 2 when the second one starts, ....

       

      When the server 1 starts, the node-id value is correctly incremented as expected - node-id = 1 when the global transaction is committed. Here the corresponding log trace:

      2013-06-21 14:53:58.340 [TRACE] [    LocalTransaction]          Default : 1/STARTUP Adding modification PutKeyValueCommand{key=node-id, value=1, flags=null, putIfAbsent=false, lifespanMillis=-1, maxIdleTimeMillis=-1, successful=true}. Mod list is null

       

      However, when the second member starts, we have the following log trace:

      2013-06-21 14:54:45.558 [TRACE] [tributionInterceptor]          Default : 0/STARTUP Not doing a remote get for key node-id since entry is mapped to current node (apo-sab6-52370), or is in L1.  Owners are [apo-sab6-894, apo-sab6-52370]

       

      So the second member retrieves the original node-id value 0 instead 1. The member 2 performs exactly the same Put operation as the member 1:

      2013-06-21 14:54:45.558 [TRACE] [    LocalTransaction]          Default : 0/STARTUP Adding modification PutKeyValueCommand{key=node-id, value=1, flags=null, putIfAbsent=false, lifespanMillis=-1, maxIdleTimeMillis=-1, successful=true}. Mod list is null

       

       

      Finally, we got exactly the same name for both members:

      - Server #1: 2013-06-21 14:53:58.340 [INFO ] [  FlowMindDaemonBean]          Default : 1/STARTUP INFO_SERVER_ID_1: Identifiant du serveur : [apo-sab6(0)]

      - Server #2: 2013-06-21 14:54:45.558 [INFO ] [  FlowMindDaemonBean]          Default : 0/STARTUP INFO_SERVER_ID_1: Identifiant du serveur : [apo-sab6(0)]

       

        We do not have configured the numOwners parameter but ISPN detects there are 2 owners.

      If we force the numOwners parameter value to 1, during the member 2 start, it performs a remote get and retrieves the node-id value 1, incremets it before to perform put operation in the distributed cache. It's the expected behavior.

       

      But, what does the numOwners parameter mean ? If we configure it at 1, good bye the high availability ?

      Do you know if ISPN requires a particular configuration to work with WebSphere ?

       

      We are going to set up a JBoss EAP 6 cluster and try to reproduce this behavior.

       

      Thank you very much for your help.