----------------------------------------------------------- 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 > >
