[ https://issues.apache.org/jira/browse/GEODE-5646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bruce Schuchardt reassigned GEODE-5646: --------------------------------------- Assignee: Bruce Schuchardt > Client throws ToDataException when locator is shutting down > ----------------------------------------------------------- > > Key: GEODE-5646 > URL: https://issues.apache.org/jira/browse/GEODE-5646 > Project: Geode > Issue Type: Bug > Components: client/server > Reporter: Bruce Schuchardt > Assignee: Bruce Schuchardt > Priority: Major > > This hasn't been seen in Geode but in an older version of Pivotal GemFire. > The code in question hasn't changed so we ought to fix it. > {noformat} > ERROR util.TestException: doEntryOperations caught Exception > com.gemstone.gemfire.ToDataException: toData failed on DataSerializable class > com.gemstone.gemfire.distributed.internal.ServerLocation > at > com.gemstone.gemfire.internal.InternalDataSerializer.invokeToData(InternalDataSerializer.java:2424) > at > com.gemstone.gemfire.cache.client.internal.locator.SerializationHelper.writeServerLocations(SerializationHelper.java:39) > at > com.gemstone.gemfire.cache.client.internal.locator.SerializationHelper.writeServerLocationSet(SerializationHelper.java:75) > at > com.gemstone.gemfire.cache.client.internal.locator.ClientConnectionRequest.toData(ClientConnectionRequest.java:44) > at > com.gemstone.gemfire.internal.InternalDataSerializer.invokeToData(InternalDataSerializer.java:2411) > at > com.gemstone.gemfire.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1382) > at > com.gemstone.gemfire.internal.InternalDataSerializer.basicWriteObject(InternalDataSerializer.java:2156) > at > com.gemstone.gemfire.DataSerializer.writeObject(DataSerializer.java:3181) > at > com.gemstone.org.jgroups.stack.tcpserver.TcpClient.requestToServer(TcpClient.java:115) > at > com.gemstone.org.jgroups.stack.tcpserver.TcpClient.requestToServer(TcpClient.java:78) > at > com.gemstone.gemfire.cache.client.internal.AutoConnectionSourceImpl.queryOneLocator(AutoConnectionSourceImpl.java:188) > at > com.gemstone.gemfire.cache.client.internal.AutoConnectionSourceImpl.queryLocators(AutoConnectionSourceImpl.java:220) > at > com.gemstone.gemfire.cache.client.internal.AutoConnectionSourceImpl.findServer(AutoConnectionSourceImpl.java:132) > at > com.gemstone.gemfire.cache.client.internal.ConnectionFactoryImpl.createClientToServerConnection(ConnectionFactoryImpl.java:227) > at > com.gemstone.gemfire.cache.client.internal.pooling.ConnectionManagerImpl.exchangeConnection(ConnectionManagerImpl.java:421) > at > com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:173) > at > com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:115) > at > com.gemstone.gemfire.cache.client.internal.PoolImpl.execute(PoolImpl.java:702) > at > com.gemstone.gemfire.cache.client.internal.KeySetOp.execute(KeySetOp.java:38) > at > com.gemstone.gemfire.cache.client.internal.ServerRegionProxy.keySet(ServerRegionProxy.java:348) > at > com.gemstone.gemfire.internal.cache.LocalRegion.keySetOnServer(LocalRegion.java:4159) > {noformat} > The client is trying to serialize ServerLocation objects and send them to a > locator. AutoConnectionSourceImpl.queryOneLocator() has code to handle > IOException and report the locator as being down but since ServerLocation > isn't a DataSerializableFixedID instance the serialization code throws a > ToDataException instead of an IOException. Adding ToDataException handling to > queryOneLocator() should fix the problem. -- This message was sent by Atlassian JIRA (v7.6.3#76005)