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)