You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Darrel Schneider <ds...@pivotal.io> on 2015/09/30 00:47:18 UTC
Review Request 38866: PR put messages no longer deserialize old
values early
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38866/
-----------------------------------------------------------
Review request for geode, Kirk Lund and Dan Smith.
Bugs: GEODE-324
https://issues.apache.org/jira/browse/GEODE-324
Repository: geode
Description
-------
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 thread local class loader is used for the class we need to find 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.
Diffs
-----
gemfire-core/src/main/java/com/gemstone/gemfire/DataSerializer.java 8f977d8a9625ebde003f08bbb1df02cd120ad77c
gemfire-core/src/main/java/com/gemstone/gemfire/internal/InternalDataSerializer.java 87ab28d38fe5ece8dab2617dc304de7fb3b42b01
gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedCacheOperation.java 692595cb835fce8c0a244073c20046e07894110c
gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/RemotePutMessage.java 3f5efeb5da4f0aeacde2e59082aab3d0f30d6775
gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PutMessage.java 1f7b08e7dbed9180cb0ed73992feb3485009a6ad
gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/OffHeapCachedDeserializable.java 764a051b9ae0243f1b9e235bf18d4aa0f6770c0a
gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/SimpleMemoryAllocatorImpl.java 7cf165644ce03859670cc1a4c80484c31e9cdfcd
gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/StoredObject.java 8f179ae46d83ae4b4acb207029a8a89599357ae3
gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/OldValueImporterTestBase.java PRE-CREATION
gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/RemotePutReplyMessageJUnitTest.java PRE-CREATION
gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PutPutReplyMessageJUnitTest.java PRE-CREATION
gemfire-core/src/test/java/com/gemstone/gemfire/internal/offheap/OffHeapWriteObjectAsByteArrayJUnitTest.java PRE-CREATION
gemfire-core/src/test/java/com/gemstone/gemfire/pdx/ByteSourceJUnitTest.java 0ef1bed199f0c137c4282182f704c729fa76600f
Diff: https://reviews.apache.org/r/38866/diff/
Testing
-------
precheckin
Thanks,
Darrel Schneider
Re: Review Request 38866: PR put messages no longer deserialize old
values early
Posted by Kirk Lund <ki...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38866/#review101670
-----------------------------------------------------------
Ship it!
Ship It!
- Kirk Lund
On Sept. 29, 2015, 10:47 p.m., Darrel Schneider wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38866/
> -----------------------------------------------------------
>
> (Updated Sept. 29, 2015, 10:47 p.m.)
>
>
> Review request for geode, Kirk Lund and Dan Smith.
>
>
> Bugs: GEODE-324
> https://issues.apache.org/jira/browse/GEODE-324
>
>
> Repository: geode
>
>
> Description
> -------
>
> 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 thread local class loader is used for the class we need to find 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.
>
>
> Diffs
> -----
>
> gemfire-core/src/main/java/com/gemstone/gemfire/DataSerializer.java 8f977d8a9625ebde003f08bbb1df02cd120ad77c
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/InternalDataSerializer.java 87ab28d38fe5ece8dab2617dc304de7fb3b42b01
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedCacheOperation.java 692595cb835fce8c0a244073c20046e07894110c
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/RemotePutMessage.java 3f5efeb5da4f0aeacde2e59082aab3d0f30d6775
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PutMessage.java 1f7b08e7dbed9180cb0ed73992feb3485009a6ad
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/OffHeapCachedDeserializable.java 764a051b9ae0243f1b9e235bf18d4aa0f6770c0a
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/SimpleMemoryAllocatorImpl.java 7cf165644ce03859670cc1a4c80484c31e9cdfcd
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/offheap/StoredObject.java 8f179ae46d83ae4b4acb207029a8a89599357ae3
> gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/OldValueImporterTestBase.java PRE-CREATION
> gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/RemotePutReplyMessageJUnitTest.java PRE-CREATION
> gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PutPutReplyMessageJUnitTest.java PRE-CREATION
> gemfire-core/src/test/java/com/gemstone/gemfire/internal/offheap/OffHeapWriteObjectAsByteArrayJUnitTest.java PRE-CREATION
> gemfire-core/src/test/java/com/gemstone/gemfire/pdx/ByteSourceJUnitTest.java 0ef1bed199f0c137c4282182f704c729fa76600f
>
> Diff: https://reviews.apache.org/r/38866/diff/
>
>
> Testing
> -------
>
> precheckin
>
>
> Thanks,
>
> Darrel Schneider
>
>