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

Reply via email to