On 22/08/16 12:56, Manohar SL wrote:
> Hi Bela Ben,
>
> We just now retested the combination of "Infinispan 8.2.2 + JGroups 3.6.7", 
> we face the same issue,
> data replication across Nodes does not go through.

If this is a supported configuration, then I suggest post this to the 
infinispan-dev list. Oops, this *is* the list :-) Any takers?

Did you print the stack trace?


> Highlighted below are configurations used (derived from the Base 
> configurations):
> Infinispan-config.xml:
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> <infinispan>
>      <jgroups>
>          <stack-file name="configurationFile" path="config/jgroups.xml"/>
>      </jgroups>
>      <cache-container>
>          <transport  cluster="x-cluster" stack="configurationFile" />
>          <replicated-cache name="transactional-type" mode="SYNC">
>              <transaction mode="NON_XA"  locking="OPTIMISTIC" 
> transaction-manager-lookup="org.infinispan.transaction.lookup.GenericTransactionManagerLookup"
>   auto-commit="true"  />
>                <locking acquire-timeout="60000"/>
>                <expiration lifespan="43200000"/>
>       <state-transfer enabled="true" timeout="240000" chunk-size="10000" />
>       <locking isolation="READ_COMMITTED"  acquire-timeout="20000"  
> write-skew="false"  concurrency-level="5000"  striping="false"  />
>          </replicated-cache>
>      </cache-container>
> </infinispan>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> JGroups.xml
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> <!--
>      TCP based stack, with flow control and message bundling. This is usually 
> used when IP
>      multicasting cannot be used in a network, e.g. because it is disabled 
> (routers discard multicast).
>      Note that TCP.bind_addr and TCPPING.initial_hosts should be set, 
> possibly via system properties, e.g.
>      -Djgroups.bind_addr=192.168.5.2 and 
> -Djgroups.tcpping.initial_hosts=192.168.5.2[7800]".
>      author: Bela Ban
> -->
> <config xmlns="urn:org:jgroups"
>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>          xsi:schemaLocation="urn:org:jgroups  
> http://www.jgroups.org/schema/jgroups-3.6.xsd";>
>
>    <TCP loopback="true"
>         bind_addr="${jgroups.tcp.address:127.0.0.1}"
>         bind_port="${jgroups.tcp.port:7800}"
>         recv_buf_size="${tcp.recv_buf_size:130k}"
>         send_buf_size="${tcp.send_buf_size:130k}"
>         discard_incompatible_packets="true"
>         max_bundle_size="64K"
>         max_bundle_timeout="30"
>         enable_bundling="true"
>         use_send_queues="true"
>         sock_conn_timeout="300"
>         timer_type="new"
>         timer.min_threads="4"
>         timer.max_threads="10"
>         timer.keep_alive_time="3000"
>         timer.queue_max_size="500"
>         thread_pool.enabled="true"
>         thread_pool.min_threads="2"
>         thread_pool.max_threads="30"
>         thread_pool.keep_alive_time="60000"
>         thread_pool.queue_enabled="false"
>         thread_pool.queue_max_size="100"
>         thread_pool.rejection_policy="discard"
>         oob_thread_pool.enabled="true"
>         oob_thread_pool.min_threads="2"
>         oob_thread_pool.max_threads="30"
>         oob_thread_pool.keep_alive_time="60000"
>         oob_thread_pool.queue_enabled="false"
>         oob_thread_pool.queue_max_size="100"
>         oob_thread_pool.rejection_policy="discard"
>          />
>
>      <!-- <TCP_NIO -->
>      <!--         bind_port="7800" -->
>      <!--         bind_interface="${jgroups.tcp_nio.bind_interface:bond0}" -->
>      <!--         use_send_queues="true" -->
>      <!--         sock_conn_timeout="300" -->
>      <!--         reader_threads="3" -->
>      <!--         writer_threads="3" -->
>      <!--         processor_threads="0" -->
>      <!--         processor_minThreads="0" -->
>      <!--         processor_maxThreads="0" -->
>      <!--         processor_queueSize="100" -->
>      <!--         processor_keepAliveTime="9223372036854775807"/> -->
>      <TCPGOSSIP initial_hosts="${jgroups.tcpgossip.initial_hosts}"/>
>      <!--    <TCPPING async_discovery="true" 
> initial_hosts="${jgroups.tcpping.initial_hosts}"
>              port_range="2"  timeout="3000" /> -->
>      <MERGE2 max_interval="30000" min_interval="10000"/>
>      <FD_SOCK/>
>      <FD timeout="3000" max_tries="3"/>
>      <VERIFY_SUSPECT timeout="1500"/>
>      <pbcast.NAKACK
>          use_mcast_xmit="false"
>          retransmit_timeout="300,600,1200,2400,4800"
>          discard_delivered_msgs="true"/>
>      <UNICAST2 timeout="300,600,1200"
>                stable_interval="5000"
>                         log_not_found_msgs="true"
>                max_bytes="400000"/>
>      <pbcast.STABLE stability_delay="500" desired_avg_gossip="5000" 
> max_bytes="400000"/>
>      <pbcast.GMS print_local_addr="true" join_timeout="5000" 
> merge_timeout="5000" log_collect_msgs="true" log_view_warnings="true" 
> max_join_attempts="0" view_bundling="true"/>
>      <UFC max_credits="200k" min_threshold="0.20"/>
>      <MFC max_credits="200k" min_threshold="0.20"/>
>      <FRAG2 frag_size="35000"/>
>      <RSVP timeout="60000" resend_interval="500" ack_on_delivery="false" 
> throw_exception_on_timeout="true" />
>
> </config>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Would be very helpful if you could kindly provide us some working combination 
> of xml configs with "Infinsipan 8.2.2 + JGroup 3.6.7" or
> let us know what configuration needs to be changed above.
>
> Regs,
> Manohar.
>
> -----Original Message-----
> From: Bela Ban [mailto:b...@redhat.com]
> Sent: Monday, August 22, 2016 1:58 PM
> To: Manohar SL <manohar...@ericsson.com>; infinispan -Dev List 
> <infinispan-dev@lists.jboss.org>
> Cc: Sathish Kumar Tippeshappa <sathish.kumar.tippesha...@ericsson.com>
> Subject: Re: JGroups Error: JGRP000029 observed with "JGroups 3.6.8 + 
> Infinispan 8.2.2":
>
>
>
> On 22/08/16 10:23, Manohar SL wrote:
>> Hi Bela Ban,
>>
>> Thanks for the input points.
>>
>> Answers are highlighted below:
>>
>> 1: What does the NPE cause? Incorrect behavior? This is in the discovery 
>> protocol, so I don't think it is a severe error.
>>      Actually, we need the Replication Mode of Infinispan, but after 
>> Upgrading to Infinispan 8.2.2, the replication mode is not working.
>>      The data updated in Infinispan is getting written to only the local 
>> node and not replicated to other nodes in the Cluster (we have deployed 3 
>> Nodes).
>>      Since we saw the NPE in JGroups, we suspected this could be the reason 
>> for the Replication not functioning as expected, as it also complains of not
>>      being able to send data to the other nodes in the Cluster.
>
> OK
>
>> 2: If you change the JGroups code to print the exception (or set a 
>> breakpoint and debug) we'd know what the cause is.
>>      Our understating based on the JGroups code analysis, in the context of 
>> this issue, is:
>>              => In the BaseServer.java file, the below method tries to send 
>> data to the other Nodes:
>>                      public void send(Address dest, byte[] data, int offset, 
>> int length) throws Exception
>>                    The below logic is not able to retrieve the Connection 
>> Object:
>> ----------------------------------------------------------------------
>> --------------------------------------------------
>> // Get a connection (or create one if not yet existent) and send the data
>>           Connection conn=null;
>>           try {
>>               conn=getConnection(dest);
>>               conn.send(data, offset, length);
>>           }
>>           catch(Exception ex) {
>>               removeConnectionIfPresent(dest, conn);
>>               throw ex;
>>           }
>> ------------------------------------------------------------------------------------------------------------------------
>>              This eventually leads to the NPE.
>
>
> Insert a ex.printStackTrace() statement in the catch clause.
>
>
>> 3: Does Infinispan 8.2.2 use JGroups 3.6.8, or did you upgrade JGroups?
>>      Infinispan 8.2.2 by default uses JGroups 3.6.7, but we tried upgrading 
>> to JGroups 3.6.8.
>
> Then 3.6.8 may not be supported. I'm sure REPL mode wa tested before 
> releasing 8.2.2, so perhaps 3.6.8 doesn't work with 8.2.2...
>               
>> 4: Is this reproduceable? If yes, goto step #2
>>      Yes, this is consistently reproducible.
>>
>> It would be really helpful if you could kindly mail us working JGroups 
>> configuration with Infinispan 8.2.2 version.
>
> Well, I suggest take the TCP based config shipped with 8.2.2 and use it as 
> base, ie. make changes to it.
>
>> Also, if you see any issues with our current set of configurations, 
>> highlighted in the below mail,  please let us know the needed changes to 
>> this.
>>
>> Thanks again for all the help.
>>
>> Regs,
>> Manohar
>>
>>
>> -----Original Message-----
>> From: Bela Ban [mailto:b...@redhat.com]
>> Sent: Monday, August 22, 2016 1:31 PM
>> To: Manohar SL <manohar...@ericsson.com>; infinispan -Dev List
>> <infinispan-dev@lists.jboss.org>
>> Cc: Sathish Kumar Tippeshappa <sathish.kumar.tippesha...@ericsson.com>
>> Subject: Re: JGroups Error: JGRP000029 observed with "JGroups 3.6.8 + 
>> Infinispan 8.2.2":
>>
>> 1: What does the NPE cause? Incorrect behavior? This is in the discovery 
>> protocol, so I don't think it is a severe error.
>>
>> 2: If you change the JGroups code to print the exception (or set a 
>> breakpoint and debug) we'd know what the cause is.
>>
>> 3: Does Infinispan 8.2.2 use JGroups 3.6.8, or did you upgrade JGroups?
>>
>> 4: Is this reproduceable? If yes, goto step #2
>>
>>
>>
>> On 20/08/16 09:38, Manohar SL wrote:
>>> Hi Bela Ban,
>>>
>>> We have been trying to use JGroups 3.6.8 with Infinispan 8.2.2., in this 
>>> context we are observing an issue with the Replication Mode of Infinispan 
>>> usage.
>>> We see the below exception from Jgroups:
>>> JGRP000029: failed sending message to <>:7800 (100 bytes):
>>> java.lang.NullPointerException, headers: TCPGOSSIP:
>>> [type=GET_MBRS_REQ, cluster=x-cluster], TP: [cluster_name=x-cluster]
>>>
>>> The configurations used are highlighted below:
>>>
>>> Infinispan config
>>>
>>> <infinispan>
>>>
>>>        <jgroups>
>>>
>>>            <stack-file name="configurationFile"
>>> path="config/jgroups.xml"/>
>>>
>>>        </jgroups>
>>>
>>>        <cache-container>
>>>
>>>            <transport cluster="x-cluster" stack="configurationFile" />
>>>
>>> <replicated-cache name="transactional-type" mode="SYNC">
>>>
>>>                <transaction mode="NON_XA"  locking="OPTIMISTIC"
>>> transaction-manager-lookup="org.infinispan.transaction.lookup.JBossSt
>>> a ndaloneJTAManagerLookup" auto-commit="true"  />
>>>
>>> <locking acquire-timeout="60000"/>
>>>
>>> <expiration lifespan="43200000"/>
>>>
>>>            </replicated-cache>
>>>
>>>        </cache-container>
>>>
>>> </infinispan>
>>>
>>>
>>>
>>> Jgroups configuration
>>>
>>> <!--
>>>
>>>        TCP based stack, with flow control and message bundling. This
>>> is usually used when IP
>>>
>>>        multicasting cannot be used in a network, e.g. because it is 
>>> disabled (routers discard multicast).
>>>
>>>        Note that TCP.bind_addr and TCPPING.initial_hosts should be set, 
>>> possibly via system properties, e.g.
>>>
>>>        -Djgroups.bind_addr=192.168.5.2 and 
>>> -Djgroups.tcpping.initial_hosts=192.168.5.2[7800]".
>>>
>>>        author: Bela Ban
>>>
>>> -->
>>>
>>> <config xmlns="urn:org:jgroups"
>>>
>>>            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>
>>> xsi:schemaLocation="urn:org:jgroups
>>> http://www.jgroups.org/schema/jgroups-3.6.xsd";>
>>>
>>>
>>>
>>>      <TCP loopback="true"
>>>
>>> bind_addr="${jgroups.tcp.address:127.0.0.1}"
>>>
>>> bind_port="${jgroups.tcp.port:7800}"
>>>
>>> recv_buf_size="${tcp.recv_buf_size:20M}"
>>>
>>> send_buf_size="${tcp.send_buf_size:640K}"
>>>
>>> discard_incompatible_packets="true"
>>>
>>> max_bundle_size="64K"
>>>
>>> max_bundle_timeout="30"
>>>
>>> enable_bundling="true"
>>>
>>>           use_send_queues="true"
>>>
>>> sock_conn_timeout="300"
>>>
>>> timer_type="new"
>>>
>>> timer.min_threads="4"
>>>
>>> timer.max_threads="10"
>>>
>>> timer.keep_alive_time="3000"
>>>
>>> timer.queue_max_size="500"
>>>
>>> thread_pool.enabled="true"
>>>
>>> thread_pool.min_threads="2"
>>>
>>> thread_pool.max_threads="30"
>>>
>>> thread_pool.keep_alive_time="60000"
>>>
>>> thread_pool.queue_enabled="false"
>>>
>>> thread_pool.queue_max_size="100"
>>>
>>> thread_pool.rejection_policy="discard"
>>>
>>> oob_thread_pool.enabled="true"
>>>
>>>           oob_thread_pool.min_threads="2"
>>>
>>> oob_thread_pool.max_threads="30"
>>>
>>> oob_thread_pool.keep_alive_time="60000"
>>>
>>> oob_thread_pool.queue_enabled="false"
>>>
>>> oob_thread_pool.queue_max_size="100"
>>>
>>> oob_thread_pool.rejection_policy="discard"/>
>>>
>>>
>>>
>>>        <!-- <TCP_NIO -->
>>>
>>> <!-- bind_port="7800" -->
>>>
>>> <!-- bind_interface="${jgroups.tcp_nio.bind_interface:bond0}" -->
>>>
>>> <!-- use_send_queues="true" -->
>>>
>>> <!-- sock_conn_timeout="300" -->
>>>
>>> <!--         reader_threads="3" -->
>>>
>>> <!-- writer_threads="3" -->
>>>
>>> <!-- processor_threads="0" -->
>>>
>>> <!-- processor_minThreads="0" -->
>>>
>>> <!-- processor_maxThreads="0" -->
>>>
>>> <!-- processor_queueSize="100" -->
>>>
>>> <!--         processor_keepAliveTime="9223372036854775807"/> -->
>>>
>>>        <TCPGOSSIP initial_hosts="${jgroups.tcpgossip.initial_hosts}"/>
>>>
>>>        <!--    <TCPPING async_discovery="true" 
>>> initial_hosts="${jgroups.tcpping.initial_hosts}"
>>>
>>>                port_range="2" timeout="3000" /> -->
>>>
>>>        <MERGE2 max_interval="30000" min_interval="10000"/>
>>>
>>>        <FD_SOCK/>
>>>
>>>        <FD timeout="3000" max_tries="3"/>
>>>
>>>        <VERIFY_SUSPECT timeout="1500"/>
>>>
>>>        <pbcast.NAKACK
>>>
>>> use_mcast_xmit="false"
>>>
>>> retransmit_timeout="300,600,1200,2400,4800"
>>>
>>> discard_delivered_msgs="false"/>
>>>
>>>        <UNICAST2 timeout="300,600,1200"
>>>
>>> stable_interval="5000"
>>>
>>> max_bytes="1m"/>
>>>
>>>        <pbcast.STABLE stability_delay="500" desired_avg_gossip="5000"
>>> max_bytes="1m"/>
>>>
>>>        <pbcast.GMS print_local_addr="false" join_timeout="3000"
>>> view_bundling="true"/>
>>>
>>>        <UFC max_credits="200k" min_threshold="0.20"/>
>>>
>>>        <MFC max_credits="200k" min_threshold="0.20"/>
>>>
>>>        <FRAG2 frag_size="60000"/>
>>>
>>>        <RSVP timeout="60000" resend_interval="500"
>>> ack_on_delivery="false" />
>>>
>>> </config>
>>>
>>> Any help on this would be really great.
>>> Kindly let us know if you would need any further information on this.
>>>
>>> Regs,
>>> Manohar.
>>>
>>
>> --
>> Bela Ban, JGroups lead (http://www.jgroups.org)
>>
>
> --
> Bela Ban, JGroups lead (http://www.jgroups.org)
>

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)

_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to