You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Bruce Schuchardt <bs...@pivotal.io> on 2015/10/22 18:01:04 UTC

Review Request 39554: GEODE-77: failure to deserialize member IDs from old GemFire clients

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

Review request for geode, anilkumar gingade, Jason Huynh, Jianxia Chen, and Lynn Gallinat.


Repository: geode


Description
-------

To date we have not had issues with old clients using a different on-wire format for any of the arguments they transmit to servers.  With the introduction of a new version of JGroups we now have a different on-wire format for InternalDistributedMember, so we need to do more careful deserialization of data transmitted in client Message objects.

This change-set modifies Message to pass on its version information to the Part objects it contains.  The Part objects can then create the appropriate versioned DataInput stream for the client that transmitted the Message.

I also left in place a debug-level EOF log message in BaseCommand so we can track down problems like this.  The handling of EOF exceptions seems to assume that the client disappeared but in the case I observed it was a deserialization error.


Diffs
-----

  gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java 3f85cda6ff88a075a3474e5f688bf87967f0ecd1 
  gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/BaseCommand.java 5e35ce471254c29b919d78e2f69b117c51046b5c 
  gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/Message.java b274ec5c8a3ab67d8f80f64bebc32464996a3e30 

Diff: https://reviews.apache.org/r/39554/diff/


Testing
-------

all unit tests, backward-compatibility integration testing


Thanks,

Bruce Schuchardt


Re: Review Request 39554: GEODE-77: failure to deserialize member IDs from old GemFire clients

Posted by anilkumar gingade <ag...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39554/#review103853
-----------------------------------------------------------

Ship it!


Ship It!

- anilkumar gingade


On Oct. 22, 2015, 4:01 p.m., Bruce Schuchardt wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/39554/
> -----------------------------------------------------------
> 
> (Updated Oct. 22, 2015, 4:01 p.m.)
> 
> 
> Review request for geode, anilkumar gingade, Jason Huynh, Jianxia Chen, and Lynn Gallinat.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> To date we have not had issues with old clients using a different on-wire format for any of the arguments they transmit to servers.  With the introduction of a new version of JGroups we now have a different on-wire format for InternalDistributedMember, so we need to do more careful deserialization of data transmitted in client Message objects.
> 
> This change-set modifies Message to pass on its version information to the Part objects it contains.  The Part objects can then create the appropriate versioned DataInput stream for the client that transmitted the Message.
> 
> I also left in place a debug-level EOF log message in BaseCommand so we can track down problems like this.  The handling of EOF exceptions seems to assume that the client disappeared but in the case I observed it was a deserialization error.
> 
> 
> Diffs
> -----
> 
>   gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java 3f85cda6ff88a075a3474e5f688bf87967f0ecd1 
>   gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/BaseCommand.java 5e35ce471254c29b919d78e2f69b117c51046b5c 
>   gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/Message.java b274ec5c8a3ab67d8f80f64bebc32464996a3e30 
> 
> Diff: https://reviews.apache.org/r/39554/diff/
> 
> 
> Testing
> -------
> 
> all unit tests, backward-compatibility integration testing
> 
> 
> Thanks,
> 
> Bruce Schuchardt
> 
>