geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GEODE-324) off-heap Regions deserialize values too early during cache operations
Date Fri, 02 Oct 2015 17:26:27 GMT

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

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

Commit d8570c980d10827a82fc94aaeaaddb47d7c6d242 in incubator-geode's branch refs/heads/feature/GEODE-243
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)

Mime
View raw message