Bruce J Schuchardt created GEODE-8584:
-----------------------------------------

             Summary: Message transmission fails with IllegalStateException in 
socket i/o code
                 Key: GEODE-8584
                 URL: https://issues.apache.org/jira/browse/GEODE-8584
             Project: Geode
          Issue Type: Bug
          Components: membership, messaging
    Affects Versions: 1.13.0, 1.12.0, 1.14.0
            Reporter: Bruce J Schuchardt


Transmission of an update operation failed with a toData exception caused by an 
IllegalStateException in socket i/o code.  It shouldn't be possible for this 
exception to happen unless multiple threads are using the buffer at the same 
time.

 
{noformat}
org.apache.geode.ToDataException: toData failed on dsfid=71 msg:null
        at 
org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1509)
        at 
org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:249)
        at 
org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306)
        at 
org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182)
        at 
org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511)
        at 
org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346)
        at 
org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2053)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1981)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2018)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083)
        at 
org.apache.geode.internal.cache.DistributedCacheOperation._distribute(DistributedCacheOperation.java:572)
        at 
org.apache.geode.internal.cache.DistributedCacheOperation.startOperation(DistributedCacheOperation.java:277)
        at 
org.apache.geode.internal.cache.DistributedCacheOperation.distribute(DistributedCacheOperation.java:318)
        at 
org.apache.geode.internal.cache.DistributedRegion.distributeUpdate(DistributedRegion.java:520)
        at 
org.apache.geode.internal.cache.DistributedRegion.basicPutPart3(DistributedRegion.java:498)
        at 
org.apache.geode.internal.cache.map.RegionMapPut.doAfterCompletionActions(RegionMapPut.java:307)
        at 
org.apache.geode.internal.cache.map.AbstractRegionMapPut.doPut(AbstractRegionMapPut.java:185)
        at 
org.apache.geode.internal.cache.map.AbstractRegionMapPut.runWhileLockedForCacheModification(AbstractRegionMapPut.java:119)
        at 
org.apache.geode.internal.cache.map.RegionMapPut.runWhileLockedForCacheModification(RegionMapPut.java:161)
        at 
org.apache.geode.internal.cache.map.AbstractRegionMapPut.put(AbstractRegionMapPut.java:169)
        at 
org.apache.geode.internal.cache.AbstractRegionMap.basicPut(AbstractRegionMap.java:2044)
        at 
org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5599)
        at 
org.apache.geode.internal.cache.DistributedRegion.virtualPut(DistributedRegion.java:393)
        at 
org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5577)
        at 
org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionDataView.java:157)
        at 
org.apache.geode.internal.cache.LocalRegion.basicPut(LocalRegion.java:5035)
        at 
org.apache.geode.internal.cache.LocalRegion.replaceWithCallbackArgument(LocalRegion.java:10600)
        at 
org.apache.geode.internal.cache.LocalRegion.replace(LocalRegion.java:10566)
        [application code traces deleted]
Caused by: java.lang.IllegalArgumentException
        at java.nio.Buffer.position(Buffer.java:244)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:96)
        at sun.nio.ch.IOUtil.write(IOUtil.java:51)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:469)
        at 
org.apache.geode.internal.tcp.Connection.writeFully(Connection.java:2596)
        at 
org.apache.geode.internal.tcp.Connection.sendPreserialized(Connection.java:1866)
        at 
org.apache.geode.internal.tcp.MsgStreamer.realFlush(MsgStreamer.java:330)
        at org.apache.geode.internal.tcp.MsgStreamer.write(MsgStreamer.java:390)
        at 
org.apache.geode.DataSerializer.writeByteArray(DataSerializer.java:1185)
        at 
org.apache.geode.DataSerializer.writeByteArray(DataSerializer.java:1153)
        at 
org.apache.geode.internal.cache.DistributedCacheOperation.writeValue(DistributedCacheOperation.java:137)
        at 
org.apache.geode.internal.cache.UpdateOperation$UpdateMessage.toData(UpdateOperation.java:417)
        at 
org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.invokeToData(DSFIDSerializerImpl.java:213)
        at 
org.apache.geode.internal.serialization.internal.DSFIDSerializerImpl.write(DSFIDSerializerImpl.java:137)
        at 
org.apache.geode.internal.InternalDataSerializer.writeDSFID(InternalDataSerializer.java:1484)
        ... 37 more {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to