You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Amey Barve (JIRA)" <ji...@apache.org> on 2017/09/19 13:10:00 UTC
[jira] [Assigned] (GEODE-1290)
AbstractRegionEntry.prepareValueForCache should call
event.setCachedSerializedNewValue
[ https://issues.apache.org/jira/browse/GEODE-1290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amey Barve reassigned GEODE-1290:
---------------------------------
Assignee: Amey Barve
> AbstractRegionEntry.prepareValueForCache should call event.setCachedSerializedNewValue
> --------------------------------------------------------------------------------------
>
> Key: GEODE-1290
> URL: https://issues.apache.org/jira/browse/GEODE-1290
> Project: Geode
> Issue Type: Bug
> Components: offheap
> Reporter: Darrel Schneider
> Assignee: Amey Barve
>
> AbstractRegionEntry.prepareValueForCache has an off-heap part of the code that copies the heap value to a byte array for storing it in off-heap memory.
> When it does this it should call EntryEventImpl.setCachedSerializedNewValue in case this operation needs to serialized value again.
> The place to do this call is marked in the following code with TODO OFFHEAP:
> byte[] data;
> boolean isSerialized = !(val instanceof byte[]);
> if (isSerialized) {
> if (event != null && event.getCachedSerializedNewValue() != null) {
> data = event.getCachedSerializedNewValue();
> } else if (val instanceof CachedDeserializable) {
> data = ((CachedDeserializable)val).getSerializedValue();
> // TODO OFFHEAP: cache data in event?
> } else if (val instanceof PdxInstance) {
> try {
> data = ((ConvertableToBytes)val).toBytes();
> // TODO OFFHEAP: cache data in event?
> } catch (IOException e) {
> throw new PdxSerializationException("Could not convert " + val + " to bytes", e);
> }
> } else {
> data = EntryEventImpl.serialize(val);
> // TODO OFFHEAP: cache data in event?
> }
>
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)