----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/56244/ -----------------------------------------------------------
(Updated Feb. 2, 2017, 11:10 p.m.) Review request for geode, Barry Oglesby, Jason Huynh, Lynn Hughes-Godfrey, Dan Smith, and xiaojian zhou. Repository: geode Description (updated) ------- 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 100 milliseconds 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 * work ongoing on EOF + rebalance exceptions Thanks, nabarun nag