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.JBossSta >> 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) _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev