----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/59404/#review175729 -----------------------------------------------------------
geode-core/src/main/java/org/apache/geode/internal/cache/CreateRegionProcessor.java Line 250 (original), 252 (patched) <https://reviews.apache.org/r/59404/#comment249084> I think you should get rid of the eventStateLock. It seems wrong for you to get the map and do a put instead of just calling a single method. I also don't like the "instanceof BucketRegion."Just call a new method on "lr" named recordPendingEventState that takes the sender and the eventState. On LocalRegion this method can do nothing. Override it on BucketRegion to synchronize on the remoteEventStates map. geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java Lines 543 (patched) <https://reviews.apache.org/r/59404/#comment249086> Once again, get rid of 'instanceof BucketRegion' by having a noop method on whatever "this.region" is and then override that on BucketRegion. Also all the code in this if block should be in the method on BucketRegion. You might also want to do something better than remoteEventStates.clear() because if a createRegionReply comes in after this you will store its eventState in this BucketRegion and waste memory until this bucket is finally destroyed. Would it be possible to register the processor with the region and have the processor store all the pending event states? Then when you finally finish by calling recordEventState you could just null out the registered processor. - Darrel Schneider On May 19, 2017, 8:38 a.m., Eric Shu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/59404/ > ----------------------------------------------------------- > > (Updated May 19, 2017, 8:38 a.m.) > > > Review request for geode, anilkumar gingade, Darrel Schneider, and Lynn > Gallinat. > > > Bugs: GEODE-2939 > https://issues.apache.org/jira/browse/GEODE-2939 > > > Repository: geode > > > Description > ------- > > Event tracker initilization for bucket region is delayed until after GII, and > will be initialized from the GII provider. > > > Diffs > ----- > > geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java > 886d678 > > geode-core/src/main/java/org/apache/geode/internal/cache/CreateRegionProcessor.java > c1d1e77 > geode-core/src/main/java/org/apache/geode/internal/cache/EventTracker.java > 2c86aed > > geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java > fb5f0cf > > geode-core/src/test/java/org/apache/geode/internal/cache/EventTrackerDUnitTest.java > 3faf41f > > > Diff: https://reviews.apache.org/r/59404/diff/1/ > > > Testing > ------- > > precheckin. > > > Thanks, > > Eric Shu > >