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.
---

Reply via email to