-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56244/
-----------------------------------------------------------

(Updated Feb. 2, 2017, 11:04 p.m.)


Review request for geode, Barry Oglesby, Jason Huynh, Lynn Hughes-Godfrey, Dan 
Smith, and xiaojian zhou.


Changes
-------

Applied Dan's review changes


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 (updated)
-----

  
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

Reply via email to