GitHub user upthewaterspout opened a pull request: https://github.com/apache/geode/pull/620
GEODE-3172: Fix serialization errors with client queues from between 1.0 and 1.2 Adding new tests and fixing errors when copying a client queue from a 1.0 member to a 1.2 member, or from a 1.2 member to a 1.0 member. We were not respecting the version of the 1.0 member when deserializing or serializing the HAEventWrapper class, which is stored as a value in a geode region. This will affect *all* GII's between different versions, because I had to change the GII code to serialize values using the version of the GII recipient. Thank you for submitting a contribution to Apache Geode. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Has your PR been rebased against the latest commit within the target branch (typically `develop`)? - [ ] Is your initial contribution a single, squashed commit? - [ ] Does `gradlew build` run cleanly? - [ ] Have you written or updated unit tests to verify your changes? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? ### Note: Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible. If you need help, please send an email to dev@geode.apache.org. You can merge this pull request into a Git repository by running: $ git pull https://github.com/upthewaterspout/incubator-geode feature/GEODE-3172 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/geode/pull/620.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #620 ---- commit 607d5d283dca5cd030d03d6201d6b5b4677d9b04 Author: Dan Smith <upthewatersp...@apache.org> Date: 2017-07-06T22:08:04Z GEODE-3172: Test of GII'ing client queue from 9.0 to 9.1 Adding a test that demonstrates the serialization issues we are seeing with this issue. The test starts a 9.0 server, puts some data in the queue and starts a 9.1 server. The test fails because the 9.1 server never gets the queue contents. In the log the serialization error is present. commit f983511edc2d83560f436f350e1b445469d98dfc Author: Dan Smith <upthewatersp...@apache.org> Date: 2017-07-06T22:07:44Z GEODE-3172: Deserialize HAEventWrapper using peer version Rather than deserialize the event wrapper using the current version, use the version of the peer that sent the wrapper too this member. This is a partial fix for this issue, because it only fixes the case of 1.2 copying the queue from 1.0. If a 1.0 member copies the queue from 1.2, there is still an issue. commit e35333f940f66ad904be410ab80076506bc83ca4 Author: Dan Smith <upthewatersp...@apache.org> Date: 2017-07-07T01:07:53Z GEODE-3172: Writing region entries using the GII recipients version We were serializing entries to the remote member using Version.CURRENT, rather than the version of the remote member, when sending entries as part of GII. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---