> On July 3, 2017, 9:02 a.m., Dan Smith wrote:
> > It looks like this code should work. I'm still a bit worried that we are 
> > relying on code that tries to deserialize the member id with the wrong 
> > version and then ignores errors that occur. I'd like to see us revisit 
> > propegating the version with the membership id bytes.

Yes, we need to have the version info in bytes that we retain in serialized 
form like this.


> On July 3, 2017, 9:02 a.m., Dan Smith wrote:
> > geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java
> > Lines 129 (patched)
> > <https://reviews.apache.org/r/60570/diff/3/?file=1767956#file1767956line129>
> >
> >     I don't see this property ever get used?

This is used in ProcessManager.  The setting is already in place.


> On July 3, 2017, 9:02 a.m., Dan Smith wrote:
> > geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
> > Lines 307 (patched)
> > <https://reviews.apache.org/r/60570/diff/3/?file=1767958#file1767958line307>
> >
> >     Is this not just targetVersion.equals(GFE_90) ?

Anything between 1.0.0-incubating and GEODE-110 could have this problem


- Bruce


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/60570/#review179513
-----------------------------------------------------------


On June 30, 2017, 4:17 p.m., Bruce Schuchardt wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/60570/
> -----------------------------------------------------------
> 
> (Updated June 30, 2017, 4:17 p.m.)
> 
> 
> Review request for geode, Alexander Murmann, Barry Oglesby, Galen O'Sullivan, 
> Hitesh Khamesra, and Brian Rowe.
> 
> 
> Bugs: GEODE-3153
>     https://issues.apache.org/jira/browse/GEODE-3153
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Another problem was found in backward-compatibility testing.  If a 1.0.0 
> client was receiving subscription events generated by a 1.0.0 peer "feeder" 
> member and the events were routed through a 1.0.0 server the client might see 
> duplicate events when the server is stopped and the client fails over to a 
> 1.2.0 server holding its redundant subscription queue.  This is especially 
> possible if a large "ack" period is established in the client.
> 
> The problem stems from the EventID deserialization/reserialization of the 
> memberID bytes when sending to a 1.0 client.  It was deserializing using 
> Version.CURRENT, which ignores the UUID bytes in the serialized ID.  Then it 
> serialized the identifier using the client's version, which includes the UUID 
> bytes but which are zero due to the version used in deserialization.
> 
> 
> Diffs
> -----
> 
>   
> geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/membership/GMSJoinLeave.java
>  bc3d708da2ae9a8e386accb8d15e2ed49123241e 
>   geode-core/src/main/java/org/apache/geode/internal/Version.java 
> 557697159da644915e4ffe2405cdddc9ef37c5ac 
>   geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java 
> 55c89f1f2e0800371dd4a30c4312c44f942a45ea 
>   
> geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java
>  bc48d976096fafe2545e707da68dab5120ddca51 
>   
> geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
>  bfe4646b9abdf6075e8d30fab3d79924faade2aa 
>   
> geode-core/src/test/resources/org/apache/geode/codeAnalysis/sanctionedDataSerializables.txt
>  b69e004d63d74eccd5cd562ea269363ba3f2782e 
> 
> 
> Diff: https://reviews.apache.org/r/60570/diff/3/
> 
> 
> Testing
> -------
> 
> new unit tests, precheckin
> 
> 
> Thanks,
> 
> Bruce Schuchardt
> 
>

Reply via email to