You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/09/30 20:13:04 UTC

[jira] [Commented] (GEODE-324) off-heap Regions deserialize values too early during cache operations

    [ https://issues.apache.org/jira/browse/GEODE-324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14938198#comment-14938198 ] 

ASF subversion and git services commented on GEODE-324:
-------------------------------------------------------

Commit d8570c980d10827a82fc94aaeaaddb47d7c6d242 in incubator-geode's branch refs/heads/develop from [~dschneider]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-geode.git;h=d8570c9 ]

GEODE-324: defer deserialization of old value in PR put

When a PR put returns the old value our internal messages were deserializing
the values before we get back to the user thread that initiated the operation.
If a thread local class loader is used for the class we need to load during
deserialization then the early deserialization will fail.

Now the deserialization is delayed until the serialized old value gets through
our messaging layer and back to the thread that performed the pr put.

Added junit tests that verify that both PutReplyMessage classes no longer
deserialize their old value.


> off-heap Regions deserialize values too early during cache operations
> ---------------------------------------------------------------------
>
>                 Key: GEODE-324
>                 URL: https://issues.apache.org/jira/browse/GEODE-324
>             Project: Geode
>          Issue Type: Bug
>          Components: offheap
>            Reporter: Darrel Schneider
>            Assignee: Darrel Schneider
>            Priority: Minor
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When doing cache operations on off-heap regions value may be deserialized too early. In most cases this might only have a performance impact. But since the early deserialization happens in an internal messaging thread the deserialization will fail with ClassNotFound if the domain classes are only known to an application class loader.
> These ClassNotFound exceptions happen during message deserialization resulting in the receiver not knowing that it received a reply and will then wait forever for the reply resulting in a hang.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)