[
https://issues.apache.org/jira/browse/GEODE-1508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15328489#comment-15328489
]
ASF subversion and git services commented on GEODE-1508:
--------------------------------------------------------
Commit d07c966bb6e0a961963433a81d2fa49c913c552d in incubator-geode's branch
refs/heads/develop from [~dschneider]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-geode.git;h=d07c966 ]
GEODE-1508: fix IllegalStateException from importNewObject
The code in EntryEventImpl that calls importNewObject
is now careful to never call importNewObject with isSerialized false
if isUnretainedNewReferenceOk is false.
The same bug was fixed for importOldObject.
Unit tests have been added for the code in EntryEventImpl
that calls both importNewObject and importOldObject.
> client subscription to an off-heap region that has small byte array value
> fails with IllegalStateException
> ----------------------------------------------------------------------------------------------------------
>
> Key: GEODE-1508
> URL: https://issues.apache.org/jira/browse/GEODE-1508
> Project: Geode
> Issue Type: Bug
> Components: offheap
> Reporter: Darrel Schneider
> Assignee: Darrel Schneider
>
> If a client subscribes to an off-heap region that has small byte array value
> then the server will fail to push the value to the client. The server log
> will contain this exception: java.lang.IllegalStateException: Expected
> importNewBytes to be called.
> The call stack: at
> com.gemstone.gemfire.internal.cache.tier.sockets.ClientUpdateMessageImpl.importNewObject(ClientUpdateMessageImpl.java:1705)
> at
> com.gemstone.gemfire.internal.cache.EntryEventImpl.exportNewValue(EntryEventImpl.java:1288)
> at
> com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientNotifier.initializeMessage(CacheClientNotifier.java:1140)
> at
> com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientNotifier.constructClientMessage(CacheClientNotifier.java:761)
> at
> com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientNotifier.singletonNotifyClients(CacheClientNotifier.java:824)
> at
> com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientNotifier.notifyClients(CacheClientNotifier.java:776)
> at
> com.gemstone.gemfire.internal.cache.LocalRegion.notifyBridgeClients(LocalRegion.java:6496)
> at
> com.gemstone.gemfire.internal.cache.LocalRegion.invokePutCallbacks(LocalRegion.java:6244)
> at
> com.gemstone.gemfire.internal.cache.BucketRegion.invokePutCallbacks(BucketRegion.java:1668)
> at
> com.gemstone.gemfire.internal.cache.EntryEventImpl.invokeCallbacks(EntryEventImpl.java:2513)
> at
> com.gemstone.gemfire.internal.cache.AbstractRegionEntry.dispatchListenerEvents(AbstractRegionEntry.java:144)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)