Darrel Schneider created GEODE-1277:
---------------------------------------
Summary: Partitioned region replace and remove could be optimized
for off-heap
Key: GEODE-1277
URL: https://issues.apache.org/jira/browse/GEODE-1277
Project: Geode
Issue Type: Bug
Components: offheap
Reporter: Darrel Schneider
The following message classes exist for a partitioned region replace and remove:
com.gemstone.gemfire.internal.cache.partitioned.DestroyMessage
com.gemstone.gemfire.internal.cache.partitioned.PutMessage
both of these messages distributed the "expected value" from a ConcurrentMap
replace or remove. The way the expected value is distributed always requires it
to be deserialized when it the message is processed.
But when this message is processed on an off-heap region we only need to
compare the serialized bytes stored off-heap to the serialized expected value.
So not only did we not need to deserialize the expected value when the message
is deserialized (in the message's fromData method), when end up needing to
reserialize it to figure out if the current value is equal to it.
This would be a pretty simple change but would require a change in how the
expectedValue field is serialized and deserialized in toData/fromData. We want
it to deserialize as a VMCachedDeserializable that contains the serialized
bytes of the expected value.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)