> On June 30, 2017, 2:56 p.m., Galen O'Sullivan wrote: > > geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java > > Lines 301 (patched) > > <https://reviews.apache.org/r/60570/diff/1/?file=1767638#file1767638line301> > > > > Maybe declare `dis` and then set it based on the version number? > > > > If you're feeling charitable, you could rename `dis` to > > `dataInputStream`.
A versioned stream needs to wrap a real DataInputStream, I think. > On June 30, 2017, 2:56 p.m., Galen O'Sullivan wrote: > > geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java > > Lines 105 (patched) > > <https://reviews.apache.org/r/60570/diff/1/?file=1767639#file1767639line117> > > > > I'm not all that familiar with backwards compatibility tests, but do we > > want to be testing agains current version and testing version or current > > and 9.0? Will backwards compatibility set `testVersion` to 9.0 among other > > versions? the framework will cycle through 1.0.0-incubating, 1.1.0 and 1.1.1. Pivotal's 9.0 releases were based on 1.0.0-incubating - Bruce ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/60570/#review179384 ----------------------------------------------------------- On June 30, 2017, 3:02 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, 3:02 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/2/ > > > Testing > ------- > > new unit tests, precheckin > > > Thanks, > > Bruce Schuchardt > >