Sure Bruce, I will share full configuration soon and serialisation strategy 
soon.

Kirk,

I manually tried to simulate force disconnect scenario using following 2 ways 
that's why we see that wake-up delay.

1. By kill -STOP continued by kill -CONT
2. Disturbing networking between 2 hosts using internal tools.

Though I don't see that message from HostStatSampler if I use option 1 above.

Thanks,
Dharam

Sent with BlackBerry Work (www.blackberry.com)
________________________________
From: Bruce Schuchardt <[email protected]>
Sent: Feb 1, 2019 11:04 PM
To: [email protected]
Subject: Re: NullPointerException with GMS services


It's pretty evident from the stack trace that you're doing something that is 
making Geode try to PDX-serialize an internal Geode function at a point where 
the PDX serialization service hasn't been initialized.  That service requires a 
Cache and a Cache hasn't been created at the point where Geode is trying to 
fetch the cluster configuration.

It looks like a 
org.apache.geode.management.internal.configuration.functions.GetClusterConfigurationFunction
 is being sent and it looks like it's supposed to be Java-serialized but 
instead the system has been configured to attempt PDX-serialization of this 
class.  It would be extremely helpful if you would share your actual 
serialization pattern so we can guard against this happening.

On 1/31/19 11:27 PM, Thacker, Dharam wrote:
Hi John/Bruce,

Typo in email was by me but code does not have that.

Here is the detailed logs explaining what might have happened and looks like a 
CRITICAL BUG only in both (1.6.0) and (1.8.0) as well.

[Attached email thread for GEODE 1.8.0 as well]

ISSUES:


Ø  1 common scenario which fails – Member is unable to join distributed system 
back after FORCE DICONNECT



Ø  Why does PDXSerializer play a role while boot strapping cache member? (Note 
: No disk persistence is being used but only ReflectionBasedAutoSerializer)



Ø  GMS is throwing NullPointer exception in this situation



Ø  Same error messages and stack trace for GMS is being printed once with 
fatal/error/warn log levels which does not look consistent.


[Pending] : Dharam to find out if that’s the same issue with 
MappingPdxSerializer as suggested by John

Current logs both for GEODE – 1.6.0 & GEODE 1.8.0


[warn 2019-02-01 00:05:29.000 EST <StatSampler> statistics.HostStatSampler] 
Statistics sampling thread detected a wakeup delay of 16617 ms, indicating a 
possible resource issue. Check the GC, memory, and CPU statistics.

[fatal 2019-02-01 00:05:29.937 EST <unicast receiver,iaasn00005748-49024> 
gms.Services] Membership service failure: Failed to acknowledge a new 
membership view and then failed tcp/ip connection attempt
org.apache.geode.ForcedDisconnectException: Failed to acknowledge a new 
membership view and then failed tcp/ip connection attempt
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.forceDisconnect(GMSMembershipManager.java:2503)
        at 
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.forceDisconnect(GMSJoinLeave.java:1049)
        at 
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.processRemoveRequest(GMSJoinLeave.java:654)
        at 
org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.processMessage(GMSJoinLeave.java:1810)
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger$JGroupsReceiver.receive(JGroupsMessenger.java:1301)
        at org.jgroups.JChannel.invokeCallback(JChannel.java:816)
        at org.jgroups.JChannel.up(JChannel.java:741)
        at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1030)
        at org.jgroups.protocols.FRAG2.up(FRAG2.java:165)
        at org.jgroups.protocols.FlowControl.up(FlowControl.java:390)
        at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1077)
        at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:792)
        at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:433)
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.StatRecorder.up(StatRecorder.java:73)
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.AddressManager.up(AddressManager.java:72)
        at 
org.jgroups.protocols.TP<https://secureweb.jpmchase.net/readonly/http://org.jgroups.protocols.TP>.passMessageUp(TP.java:1658)
        at 
org.jgroups.protocols.TP<https://secureweb.jpmchase.net/readonly/http://org.jgroups.protocols.TP>$SingleMessageHandler.run(TP.java:1876)
        at org.jgroups.util.DirectExecutor.execute(DirectExecutor.java:10)
        at 
org.jgroups.protocols.TP<https://secureweb.jpmchase.net/readonly/http://org.jgroups.protocols.TP>.handleSingleMessage(TP.java:1789)
        at 
org.jgroups.protocols.TP<https://secureweb.jpmchase.net/readonly/http://org.jgroups.protocols.TP>.receive(TP.java:1714)
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.Transport.receive(Transport.java:152)
        at org.jgroups.protocols.UDP$PacketReceiver.run(UDP.java:701)
        at java.lang.Thread.run(Thread.java:745)

[error 2019-02-01 00:06:35.651 EST <ReconnectThread> cache.GemFireCacheImpl] 
org.apache.geode.cache.CacheClosedException: Could not PDX serialize because 
the cache was closed

[warn 2019-02-01 00:06:35.652 EST <ReconnectThread> 
internal.InternalDistributedSystem] Exception occurred while trying to create 
the cache during reconnect
org.apache.geode.cache.CacheClosedException: Could not PDX serialize because 
the cache was closed
        at 
org.apache.geode.pdx.internal.TypeRegistry.getPdxSerializer(TypeRegistry.java:317)
        at 
org.apache.geode.internal.InternalDataSerializer.writeUserObject(InternalDataSerializer.java:1648)
        at 
org.apache.geode.internal.InternalDataSerializer.writeWellKnownObject(InternalDataSerializer.java:1548)
        at 
org.apache.geode.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2200)
        at org.apache.geode.DataSerializer.writeObject(DataSerializer.java:2952)
        at 
org.apache.geode.internal.cache.MemberFunctionStreamingMessage.toData(MemberFunctionStreamingMessage.java:315)
        at 
org.apache.geode.internal.InternalDataSerializer.invokeToData(InternalDataSerializer.java:2398)
        at 
org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1517)
        at 
org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:234)
        at 
org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:394)
        at 
org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:251)
        at 
org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:616)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.directChannelSend(GMSMembershipManager.java:1686)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.send(GMSMembershipManager.java:1864)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2860)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:2780)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2819)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1523)
        at 
org.apache.geode.internal.cache.execute.StreamingFunctionOperation.getFunctionResultFrom(StreamingFunctionOperation.java:107)
        at 
org.apache.geode.internal.cache.execute.MemberFunctionExecutor.executeFunction(MemberFunctionExecutor.java:151)
        at 
org.apache.geode.internal.cache.execute.MemberFunctionExecutor.executeFunction(MemberFunctionExecutor.java:189)
        at 
org.apache.geode.internal.cache.execute.AbstractExecution.execute(AbstractExecution.java:392)
        at 
org.apache.geode.internal.cache.ClusterConfigurationLoader.requestConfigurationFromOneLocator(ClusterConfigurationLoader.java:312)
        at 
org.apache.geode.internal.cache.ClusterConfigurationLoader.requestConfigurationFromLocators(ClusterConfigurationLoader.java:282)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.requestSharedConfiguration(GemFireCacheImpl.java:1066)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.<init>(GemFireCacheImpl.java:857)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.basicCreate(GemFireCacheImpl.java:794)
        at 
org.apache.geode.internal.cache.GemFireCacheImpl.create(GemFireCacheImpl.java:773)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.reconnect(InternalDistributedSystem.java:2765)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.tryReconnect(InternalDistributedSystem.java:2530)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1044)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager$DMListener.membershipFailure(ClusterDistributionManager.java:3406)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.uncleanShutdown(GMSMembershipManager.java:1534)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.lambda$forceDisconnect$3(GMSMembershipManager.java:2531)
        at java.lang.Thread.run(Thread.java:745)

[fatal 2019-02-01 00:07:35.810 EST <ReconnectThread> gms.Services] Unexpected 
exception while booting membership services
java.lang.NullPointerException
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.establishLocalAddress(JGroupsMessenger.java:483)
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.start(JGroupsMessenger.java:361)
        at 
org.apache.geode.distributed.internal.membership.gms.Services.start(Services.java:146)
        at 
org.apache.geode.distributed.internal.membership.gms.GMSMemberFactory.newMembershipManager(GMSMemberFactory.java:105)
        at 
org.apache.geode.distributed.internal.membership.MemberFactory.newMembershipManager(MemberFactory.java:90)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:771)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:889)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:533)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:769)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:362)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:348)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:342)
        at 
org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:215)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.reconnect(InternalDistributedSystem.java:2704)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.tryReconnect(InternalDistributedSystem.java:2530)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1044)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager$DMListener.membershipFailure(ClusterDistributionManager.java:3406)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.uncleanShutdown(GMSMembershipManager.java:1534)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.lambda$forceDisconnect$3(GMSMembershipManager.java:2531)
        at java.lang.Thread.run(Thread.java:745)

[error 2019-02-01 00:07:35.810 EST <ReconnectThread> gms.Services] Unexpected 
problem starting up membership services
java.lang.NullPointerException
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.establishLocalAddress(JGroupsMessenger.java:483)
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.start(JGroupsMessenger.java:361)
        at 
org.apache.geode.distributed.internal.membership.gms.Services.start(Services.java:146)
        at 
org.apache.geode.distributed.internal.membership.gms.GMSMemberFactory.newMembershipManager(GMSMemberFactory.java:105)
        at 
org.apache.geode.distributed.internal.membership.MemberFactory.newMembershipManager(MemberFactory.java:90)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:771)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:889)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:533)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:769)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:362)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:348)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:342)
        at 
org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:215)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.reconnect(InternalDistributedSystem.java:2704)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.tryReconnect(InternalDistributedSystem.java:2530)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1044)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager$DMListener.membershipFailure(ClusterDistributionManager.java:3406)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.uncleanShutdown(GMSMembershipManager.java:1534)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.lambda$forceDisconnect$3(GMSMembershipManager.java:2531)
        at java.lang.Thread.run(Thread.java:745)


Thanks,
Dharam

From: John Blum [mailto:[email protected]<mailto:[email protected]>]
Sent: Tuesday, January 29, 2019 3:49 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: NullPointerException with GMS services (Geode 1.6.0)

Although, there is an apparent problem with your Locator configuration 
property, which can/will lead to an NPE thrown by Geode in this case (as I 
reported in 
https://issues.apache.org/jira/browse/GEODE-6153<https://secureweb.jpmchase.net/readonly/https://issues.apache.org/jira/browse/GEODE-6153>,
 which is not exactly the same as your problem), as Bruce points out, this is 
occurring during reconnect.

If the default value of the Locator property had been used (which it apparently 
wasn't in this case), then the node would have failed even on initial startup.  
So, something else is going wrong here.

On Mon, Jan 28, 2019 at 10:32 AM Bruce Schuchardt 
<[email protected]<mailto:[email protected]>> wrote:

These NPEs are probably not your main problem since their occurring in a 
Reconnect Thread.  Something bad happened when you tried to start these caches. 
 They joined the cluster and then were kicked out for some reason.  The log 
file for that process will likely tell you what the problem was.  Post it or PM 
it to me if you want help.
On 1/27/19 10:56 PM, Thacker, Dharam wrote:
java.lang.NullPointerException
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.establishLocalAddress(JGroupsMessenger.java:468)
        at 
org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.start(JGroupsMessenger.java:355)
        at 
org.apache.geode.distributed.internal.membership.gms.Services.start(Services.java:157)
        at 
org.apache.geode.distributed.internal.membership.gms.GMSMemberFactory.newMembershipManager(GMSMemberFactory.java:106)
        at 
org.apache.geode.distributed.internal.membership.MemberFactory.newMembershipManager(MemberFactory.java:90)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:1027)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.<init>(ClusterDistributionManager.java:1061)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.create(ClusterDistributionManager.java:554)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.java:763)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:355)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:341)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.java:335)
        at 
org.apache.geode.distributed.DistributedSystem.connect(DistributedSystem.java:211)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.reconnect(InternalDistributedSystem.java:2736)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.tryReconnect(InternalDistributedSystem.java:2560)
        at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1041)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager$DMListener.membershipFailure(ClusterDistributionManager.java:4033)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.uncleanShutdown(GMSMembershipManager.java:1554)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.lambda$forceDisconnect$1(GMSMembershipManager.java:2561)
        at java.lang.Thread.run(Thread.java:745)


--
-John
john.blum10101 (skype)

This message is confidential and subject to terms at: 
https://www.jpmorgan.com/emaildisclaimer<https://www.jpmorgan.com/emaildisclaimer>
 including on confidentiality, legal privilege, viruses and monitoring of 
electronic messages. If you are not the intended recipient, please delete this 
message and notify the sender immediately. Any unauthorized use is strictly 
prohibited.

This message is confidential and subject to terms at: 
https://www.jpmorgan.com/emaildisclaimer including on confidentiality, legal 
privilege, viruses and monitoring of electronic messages. If you are not the 
intended recipient, please delete this message and notify the sender 
immediately. Any unauthorized use is strictly prohibited.

Reply via email to