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

Review request for geode, Bruce Schuchardt, Darrel Schneider, Eric Shu, Scott 
Jewell, Ken Howe, and Swapnil Bawaskar.


Repository: geode


Description
-------

While message send in progress, if the system gets shutdown (forced 
disconnect), the send (message delivery to peers) reports connect exception and 
ignores detecting/throwing SystemDisconnect exception. 

In "DirectChannel.getConnection()" it checks for "mgr.shutdownInProgress()" and 
returns ConnectException to the caller 
"GMSMembershipManager.directChannelSend()"

In client/server scenario, if the client is performing cache operation, the 
cache operation may succeed in server that is getting down and failure to 
deliver the message to other peers/servers. The client will see the operation 
getting successfully completed.

The above scenario could result in client missing an event and resulting in 
data mismatch between client and server.

Made changes to throw "DistributedSystemDisconnectedException" if system is 
shutting down. This will result in caller to retry the operation.


Diffs
-----

  
geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManager.java
 a4691f4 
  
geode-core/src/test/java/org/apache/geode/distributed/internal/membership/gms/mgr/GMSMembershipManagerJUnitTest.java
 bae1ddc 

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


Testing
-------

Added new unit test. Verified the test without my change and with the change. 
With change test looks for DistributedSystemDisconnectedException to be thrown.


Thanks,

anilkumar gingade

Reply via email to