You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Bruce Schuchardt (JIRA)" <ji...@apache.org> on 2019/02/06 17:44:00 UTC

[jira] [Resolved] (GEODE-6368) auto-reconnect attempt foiled by exception thrown by PDX type registry

     [ https://issues.apache.org/jira/browse/GEODE-6368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bruce Schuchardt resolved GEODE-6368.
-------------------------------------
       Resolution: Fixed
    Fix Version/s: 1.9.0

The problem was fixed while doing code clean-up in this SHA:

986ef9dcad9f95e838a0423f01b183724b355bf6

The change was to add a call to TypeRegistry.init() in InternalDistributedSystem.reconnect()

> auto-reconnect attempt foiled by exception thrown by PDX type registry
> ----------------------------------------------------------------------
>
>                 Key: GEODE-6368
>                 URL: https://issues.apache.org/jira/browse/GEODE-6368
>             Project: Geode
>          Issue Type: Bug
>          Components: membership, serialization
>            Reporter: Bruce Schuchardt
>            Priority: Major
>             Fix For: 1.9.0
>
>
> If you've used PDX and your server has cluster-configuration enabled it will throw an exception when trying to auto-reconnect and the attempt will fail.
> The symptom is this stack trace:
> {noformat}
> 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:748)
> {noformat}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)