Write into the partitioned region in BucketTargetingMap
Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/f4d96fda Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/f4d96fda Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/f4d96fda Branch: refs/heads/feature/GEODE-2402 Commit: f4d96fdad9817859badc0bc70210a9fc09d622f5 Parents: 988bf04 Author: Dan Smith <upthewatersp...@apache.org> Authored: Thu Feb 16 17:25:45 2017 -0800 Committer: Dan Smith <upthewatersp...@apache.org> Committed: Thu Feb 16 17:26:29 2017 -0800 ---------------------------------------------------------------------- .../geode/cache/lucene/internal/IndexRepositoryFactory.java | 6 +++--- .../cache/lucene/internal/partition/BucketTargetingMap.java | 5 ++--- .../internal/PartitionedRepositoryManagerJUnitTest.java | 6 ++---- .../lucene/internal/partition/BucketTargetingMapTest.java | 7 ++++--- 4 files changed, 11 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/f4d96fda/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/IndexRepositoryFactory.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/IndexRepositoryFactory.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/IndexRepositoryFactory.java index 7e685b7..b520926 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/IndexRepositoryFactory.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/IndexRepositoryFactory.java @@ -80,8 +80,8 @@ public class IndexRepositoryFactory { final IndexRepository repo; try { - RegionDirectory dir = new RegionDirectory(getBucketTargetingMap(fileBucket, bucketId), - getBucketTargetingMap(chunkBucket, bucketId), indexForPR.getFileSystemStats()); + RegionDirectory dir = new RegionDirectory(getBucketTargetingMap(fileRegion, bucketId), + getBucketTargetingMap(chunkRegion, bucketId), indexForPR.getFileSystemStats()); IndexWriterConfig config = new IndexWriterConfig(indexForPR.getAnalyzer()); IndexWriter writer = new IndexWriter(dir, config); repo = new IndexRepositoryImpl(fileBucket, writer, serializer, indexForPR.getIndexStats(), @@ -100,7 +100,7 @@ public class IndexRepositoryFactory { } - private Map getBucketTargetingMap(BucketRegion region, int bucketId) { + private Map getBucketTargetingMap(PartitionedRegion region, int bucketId) { return new BucketTargetingMap(region, bucketId); } http://git-wip-us.apache.org/repos/asf/geode/blob/f4d96fda/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMap.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMap.java b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMap.java index 19fb4dc..e2467ac 100644 --- a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMap.java +++ b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMap.java @@ -17,7 +17,6 @@ package org.apache.geode.cache.lucene.internal.partition; import org.apache.geode.cache.EntryExistsException; import org.apache.geode.cache.EntryNotFoundException; import org.apache.geode.cache.Region; -import org.apache.geode.internal.cache.BucketRegion; import org.apache.geode.internal.cache.LocalDataSet; import org.apache.geode.internal.cache.PartitionedRegion; @@ -30,9 +29,9 @@ public class BucketTargetingMap<K, V> extends AbstractMap<K, V> { private final Region<K, V> region; public Object callbackArg; - public BucketTargetingMap(BucketRegion region, int bucketId) { + public BucketTargetingMap(PartitionedRegion region, int bucketId) { this.callbackArg = bucketId; - this.region = region; + this.region = new LocalDataSet(region, Collections.singleton(bucketId)); } @Override http://git-wip-us.apache.org/repos/asf/geode/blob/f4d96fda/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java index 9c603c7..6b54f72 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/PartitionedRepositoryManagerJUnitTest.java @@ -241,9 +241,9 @@ public class PartitionedRepositoryManagerJUnitTest { protected void checkRepository(IndexRepositoryImpl repo0, int bucketId) { IndexWriter writer0 = repo0.getWriter(); RegionDirectory dir0 = (RegionDirectory) writer0.getDirectory(); - assertEquals(new BucketTargetingMap(fileBuckets.get(bucketId), bucketId), + assertEquals(new BucketTargetingMap(fileRegion, bucketId), dir0.getFileSystem().getFileRegion()); - assertEquals(new BucketTargetingMap(chunkBuckets.get(bucketId), bucketId), + assertEquals(new BucketTargetingMap(chunkRegion, bucketId), dir0.getFileSystem().getChunkRegion()); assertEquals(serializer, repo0.getSerializer()); } @@ -253,9 +253,7 @@ public class PartitionedRepositoryManagerJUnitTest { BucketRegion fileBucket = Mockito.mock(BucketRegion.class); // Allowing the fileBucket to behave like a map so that the IndexWriter operations don't fail Fakes.addMapBehavior(fileBucket); - when(fileBucket.getFullPath()).thenReturn("File" + id); BucketRegion chunkBucket = Mockito.mock(BucketRegion.class); - when(chunkBucket.getFullPath()).thenReturn("Chunk" + id); when(mockBucket.getId()).thenReturn(id); when(userRegion.getBucketRegion(eq(id), eq(null))).thenReturn(mockBucket); when(userDataStore.getLocalBucketById(eq(id))).thenReturn(mockBucket); http://git-wip-us.apache.org/repos/asf/geode/blob/f4d96fda/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMapTest.java ---------------------------------------------------------------------- diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMapTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMapTest.java index 8850f45..468fd04 100644 --- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMapTest.java +++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/partition/BucketTargetingMapTest.java @@ -21,7 +21,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import org.apache.geode.internal.cache.BucketRegion; import org.apache.geode.internal.cache.PartitionedRegion; import org.apache.geode.test.junit.categories.IntegrationTest; import org.apache.geode.test.junit.categories.UnitTest; @@ -33,12 +32,14 @@ import org.mockito.Mock; @Category(UnitTest.class) public class BucketTargetingMapTest { - private BucketRegion region; + private PartitionedRegion region; @Before public void initMocks() { - region = mock(BucketRegion.class); + region = mock(PartitionedRegion.class); final BucketTargetingResolver resolver = new BucketTargetingResolver(); + when(region.getPartitionResolver()).thenReturn(resolver); + when(region.getTotalNumberOfBuckets()).thenReturn(5); } @Test