You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Dan Smith <ds...@pivotal.io> on 2015/09/22 23:30:34 UTC

Review Request 38647: Changing how PartitionRepositoryManager handles destroyed buckets

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

Review request for geode, Ashvin A and xiaojian zhou.


Repository: geode


Description
-------

Changing how PartitionRepositoryManager handles destroyed buckets

This class was using a weak hash map with BucketRegions as keys. Instead
of that, use the bucket id as the key. I added support to
IndexRepository for the repository to indicate if the underlying
BucketRegion has been destroyed. If the IndexRepository is destroyed, we
will create a new IndexRepository in PartitionRepositoryManager.

Also, fixing CopyOnWriteHashMap.putIfAbsent.

This method was putting a null in the map instead of the new value if no
old value was present.

Adding a unit test for CopyOnWriteHashMap, adapted from the JSR166 test
case for ConcurrentHashMap.


Diffs
-----

  gemfire-core/src/main/java/com/gemstone/gemfire/internal/util/concurrent/CopyOnWriteHashMap.java d6f4c6f261c43673f7f6c7cd78935dee7a02f535 
  gemfire-core/src/test/java/com/gemstone/gemfire/internal/util/concurrent/CopyOnWriteHashMapJUnitTest.java PRE-CREATION 
  gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/PartitionedRepositoryManager.java e3014822f2a416ad457bc28040e0ef67cfe0aca0 
  gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepository.java 549bf215d611c7a4632f10d3e420c24ec7359495 
  gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImpl.java 5c248cf872b61177a9073b4c3c56aa81c174b55a 
  gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java db1085a5cebb06b725d10f448c8dfa7f5a05de94 
  gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImplJUnitTest.java 0b4a4cd48366f4870f5426613637ec8a373f4592 

Diff: https://reviews.apache.org/r/38647/diff/


Testing
-------


Thanks,

Dan Smith


Re: Review Request 38647: Changing how PartitionRepositoryManager handles destroyed buckets

Posted by Ashvin A <aa...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38647/#review100073
-----------------------------------------------------------

Ship it!


Ship It!

- Ashvin A


On Sept. 22, 2015, 9:30 p.m., Dan Smith wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/38647/
> -----------------------------------------------------------
> 
> (Updated Sept. 22, 2015, 9:30 p.m.)
> 
> 
> Review request for geode, Ashvin A and xiaojian zhou.
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> Changing how PartitionRepositoryManager handles destroyed buckets
> 
> This class was using a weak hash map with BucketRegions as keys. Instead
> of that, use the bucket id as the key. I added support to
> IndexRepository for the repository to indicate if the underlying
> BucketRegion has been destroyed. If the IndexRepository is destroyed, we
> will create a new IndexRepository in PartitionRepositoryManager.
> 
> Also, fixing CopyOnWriteHashMap.putIfAbsent.
> 
> This method was putting a null in the map instead of the new value if no
> old value was present.
> 
> Adding a unit test for CopyOnWriteHashMap, adapted from the JSR166 test
> case for ConcurrentHashMap.
> 
> 
> Diffs
> -----
> 
>   gemfire-core/src/main/java/com/gemstone/gemfire/internal/util/concurrent/CopyOnWriteHashMap.java d6f4c6f261c43673f7f6c7cd78935dee7a02f535 
>   gemfire-core/src/test/java/com/gemstone/gemfire/internal/util/concurrent/CopyOnWriteHashMapJUnitTest.java PRE-CREATION 
>   gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/PartitionedRepositoryManager.java e3014822f2a416ad457bc28040e0ef67cfe0aca0 
>   gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepository.java 549bf215d611c7a4632f10d3e420c24ec7359495 
>   gemfire-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImpl.java 5c248cf872b61177a9073b4c3c56aa81c174b55a 
>   gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java db1085a5cebb06b725d10f448c8dfa7f5a05de94 
>   gemfire-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/repository/IndexRepositoryImplJUnitTest.java 0b4a4cd48366f4870f5426613637ec8a373f4592 
> 
> Diff: https://reviews.apache.org/r/38647/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dan Smith
> 
>