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

Ship it!


Ship It!

- vivek bhaskar


On Aug. 4, 2015, 6:18 a.m., Shirish Deshmukh wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37066/
> -----------------------------------------------------------
> 
> (Updated Aug. 4, 2015, 6:18 a.m.)
> 
> 
> Review request for geode and vivek bhaskar.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> In the context of distributed transactions, 
> DistributedPutAllOperation.createPRMessages calls 
> putAllData[i].setFakeEventID() to set event ID for each entry in put all op 
> (called from 
> DistTXStateProxyImplOnCoordinator.postPutAll->DistPeerTXStateStub.postPutAll->TXStateStub.postPutAll
>  -> PartitionedTXRegionStub.postPutAll). However when the data node itself is 
> a transaction coordinator,
> createPRMessages is not called and the data is locally put by calling 
> DistTXStateProxyImplOnCoordinator.postPutAll->DistTXStateOnCoordinator.postPutAll().
>  This call sequence does not call putAllData[i].setFakeEventID(). At the 
> commit time when the coordinator sends TX events to secondaries, some of the 
> events from different buckets had same event ID. This caused 
> TXState.txPutEntry() to skip those events (assuming that the entry has been 
> processed already) and therefore the test failed.  The fix is to call 
> putallOp.putAllData[i].setFakeEventID() in 
> DistTXStateProxyImplOnCoordinator.postPutAll so that eventID is set for all 
> entries. Similar fix is done for remove all.
> 
> Also enabled the assertion that was surrounded by logger.isDebugEnabled() 
> call due to this issue
> 
> Fix is specific to Distributed TX (feature under development).
> 
> 
> Diffs
> -----
> 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistTXStateProxyImplOnCoordinator.java
>  2f79605 
>   
> gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXRegionState.java
>  67cb8c5 
> 
> Diff: https://reviews.apache.org/r/37066/diff/
> 
> 
> Testing
> -------
> 
> ./gradlew gemfire-core:integrationTest -DintegrationTest.single=*DistTX*JUnit*
> ./gradlew -DdistributedTest.single=DistTXDistributedTestSuite 
> gemfire-core:distributedTest
> 100 runs DistributedTransactionDUnitTest successful
> 
> 
> Thanks,
> 
> Shirish Deshmukh
> 
>

Reply via email to