----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/56244/ -----------------------------------------------------------
Review request for geode, Barry Oglesby, Jason Huynh, Lynn Hughes-Godfrey, Dan Smith, and xiaojian zhou. Repository: geode Description ------- Design key points: ================== 1. The afterPrimary and afterSecondary calls from the chunk bucket pass through the same critical section 2. If the bucket is still primary it will attempt to acquire a Dlock on the bucket and create the index repo. 3. The primary call tries for 5 seconds to acquire the Dlock and then checks if it is still primary. If it is, it will retry to acquire the lock. If it turned into a secondary it will exit the critical section. It is assumed that the after secondary call will do the cleanup. 4. The afterSecondary call will simply do the clean up - close the writer, release locks, undo contributions to the lucene stats. 5. Also, in a situation when index creation fails during after primary, lucene query execution will try to recompute the index once again. Diffs ----- geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/AbstractPartitionedRepositoryManager.java 9e055f0 geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/IndexRepositoryFactory.java 5be17e3 geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneBucketListener.java da0c2c2 geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneQueryImpl.java 0e8bb37 geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/PartitionedRepositoryManager.java 2f87218 geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/RawIndexRepositoryFactory.java 2f61913 geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/RawLuceneRepositoryManager.java b503692 geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/directory/RegionDirectory.java e43b60b geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/LuceneFunction.java 5271a2f geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java 1c47e89 geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/RawLuceneRepositoryManagerJUnitTest.java a9fb52b geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/directory/RegionDirectoryJUnitTest.java 4204204 geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/IndexRepositorySpy.java d3b1f2f Diff: https://reviews.apache.org/r/56244/diff/ Testing ------- * Lucene precheck successfull * Hydra failures are imminent - work ongoing on EOF + rebalance exceptions Thanks, nabarun nag