-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/52172/
-----------------------------------------------------------
(Updated Sept. 27, 2016, 11:18 p.m.)
Review request for geode, Hitesh Khamesra and Udo Kohlmeyer.
Changes
-------
Moved most old-client compatibility code to a new subproject,
geode-old-client-support. This installs itself as a cache service and also
installs itself into InternalDataSerializer, which has a lot of static methods
w/o reference to a cache.
Several exception classes were missing serialVersionUIDs and caused integration
tests to fail with UID mismatch exceptions. I've added these based on the
com.gemstone.gemfire versions of the exceptions for backward compatibility.
The current old-client support assumes that old client JARs will be upgraded to
swap the new org.apache.geode package name with com.gemstone.gemfire. Given
that, only one class had to be intercepted during serialization and converted
to an old class due to its having been renamed (EmtpyRegion -> EmptyRegion).
Tests have been added to cover Java serialization, DataSerializable
serialization and PDX serialization for incoming messages from old versions of
GemFire. This should also give us the ability to read old diskStores holding
serialized com.gemstone.gemfire objects, converting them into org.apache.geode
objects.
Bugs: GEODE-1927
https://issues.apache.org/jira/browse/GEODE-1927
Repository: geode
Description
-------
This adds a check in InternalDataSerializer for com.gemstone.gemfire packages
and transforms them to org.apache.geode.
I've also added a hook for translating org.apache.geode exceptions into
com.gemstone.gemfire exceptions. We've decided to keep com.gemstone.gemfire
exceptions out of the Geode repository to avoid the confusion it would cause to
have an org.apache.geode implementation throw com.gemstone.gemfire exceptions.
The latter change required changes to some tests using mocks to represent
ServerConnections. These mocks were returning null from getClientVersion(),
causing NPEs in client/server code.
Diffs (updated)
-----
geode-assembly/build.gradle a83b7a97016836b70a44d80c6a2221f4b4c8a5d9
geode-core/src/main/java/org/apache/geode/CancelException.java
94fd8b556dc04466b7fbae78bc6aaa48d3603c5d
geode-core/src/main/java/org/apache/geode/DataSerializer.java
8e2bad09adef9a6b4e7b5a5a71ff6b97fd515137
geode-core/src/main/java/org/apache/geode/GemFireException.java
142a97c9aa721cea82f7627a24da2517f3f97a24
geode-core/src/main/java/org/apache/geode/cache/CacheException.java
9b631a16b69bef63f9450b3c621764451ea743c4
geode-core/src/main/java/org/apache/geode/cache/CacheRuntimeException.java
9040596635c4ec6177f8e39183ab48025fa74658
geode-core/src/main/java/org/apache/geode/cache/OperationAbortedException.java
340d1844b3d3827b6ff34c08a1ca814fb4c94be9
geode-core/src/main/java/org/apache/geode/cache/RegionExistsException.java
288dfe3c116ab7cd0cd3aec70473ad7c7ac918a8
geode-core/src/main/java/org/apache/geode/internal/InternalDataSerializer.java
6e7aa55bd8a8b99c63f39965daa0222f42f64d30
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/BaseCommand.java
9a78772c466996f83383f4e63cb3d1d6654172a0
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/OldClientSupportService.java
PRE-CREATION
geode-core/src/main/java/org/apache/geode/internal/cache/wan/BatchException70.java
b795156c324f4a0a17a4a0009f5816dec46c8f4c
geode-core/src/main/java/org/apache/geode/pdx/internal/PdxType.java
2e5b19f8b4f2980bb16bf17249ea894fca0652b0
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/ContainsKey66Test.java
6728a377816e521a9419e8dd7576397f8548c14e
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/CreateRegionTest.java
389399191a3a69a1f591d029ecf3ea3981f845db
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Destroy65Test.java
ed76cb6a965208b315ebb004cef39ea763d4b686
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/DestroyRegionTest.java
49a95a0bdae5f4fb51c0d6fcd8d5513805b45d26
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/DestroyTest.java
422733e4f5e958add74b4b7586bb123703776bc7
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Get70Test.java
4b63a072370746e950ef3697358c7be7a125a213
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/InvalidateTest.java
2dcdd0413c292acd3a9ef40f9809f23f5e95ca29
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Put61Test.java
c368ba89435303f498a212defdc2508426366093
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/Put65Test.java
830884c858ae3c6fd4121ed60343e4195b55d77a
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/PutTest.java
a9c3af43de1b5b23a958d22b577091e6ccf0bca5
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/RequestTest.java
b6997bdef1b51e10780caf1eee6e3a7c46424f98
geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/command/UnregisterInterestTest.java
2da6f19a2708b839264c14b9c27e3ff6702a2b52
geode-core/src/test/java/org/apache/geode/test/dunit/standalone/ProcessManager.java
1c87b1a0346445da95c9d510ecc8b8e6e996bac2
geode-old-client-support/build.gradle PRE-CREATION
geode-old-client-support/src/main/java/com/gemstone/gemfire/GemFireException.java
PRE-CREATION
geode-old-client-support/src/main/java/com/gemstone/gemfire/OldClientSupportProvider.java
PRE-CREATION
geode-old-client-support/src/main/java/com/gemstone/gemfire/cache/execute/EmtpyRegionFunctionException.java
PRE-CREATION
geode-old-client-support/src/main/java/com/gemstone/gemfire/cache/execute/FunctionException.java
PRE-CREATION
geode-old-client-support/src/main/java/com/gemstone/gemfire/cache/execute/FunctionInvocationTargetException.java
PRE-CREATION
geode-old-client-support/src/main/resources/META-INF/services/org.apache.geode.internal.cache.CacheService
PRE-CREATION
geode-old-client-support/src/test/java/com/gemstone/gemfire/ClientDataSerializableObject.java
PRE-CREATION
geode-old-client-support/src/test/java/com/gemstone/gemfire/ClientPDXSerializableObject.java
PRE-CREATION
geode-old-client-support/src/test/java/com/gemstone/gemfire/ClientSerializableObject.java
PRE-CREATION
geode-old-client-support/src/test/java/org/apache/geode/ClientDataSerializableObject.java
PRE-CREATION
geode-old-client-support/src/test/java/org/apache/geode/ClientPDXSerializableObject.java
PRE-CREATION
geode-old-client-support/src/test/java/org/apache/geode/ClientSerializableObject.java
PRE-CREATION
geode-old-client-support/src/test/java/org/apache/geode/OldClientSupportDUnitTest.java
PRE-CREATION
settings.gradle 95c15f2855d25938e551371b6f93192b7b953fba
Diff: https://reviews.apache.org/r/52172/diff/
Testing
-------
precheckin. New tests are being developed for gemfire<->geode WAN and
client/server interactions but these won't be part of the Geode repo.
Thanks,
Bruce Schuchardt