GEODE-2679: Lucene asynchronous disk writes for aeq can lead to data mismatch 
after compacting

* forcing disk sync = true for Lucene AEQ


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/33e65ba0
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/33e65ba0
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/33e65ba0

Branch: refs/heads/feature/GEODE-2420
Commit: 33e65ba0fbd64f6e8f313833d7ed6c7e77d6f65c
Parents: c0ccf83
Author: Jason Huynh <[email protected]>
Authored: Fri Mar 17 16:36:16 2017 -0700
Committer: Ken Howe <[email protected]>
Committed: Mon Mar 27 14:00:41 2017 -0700

----------------------------------------------------------------------
 .../org/apache/geode/cache/lucene/internal/LuceneIndexImpl.java  | 2 +-
 .../lucene/LuceneIndexCreationPersistenceIntegrationTest.java    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/33e65ba0/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexImpl.java
----------------------------------------------------------------------
diff --git 
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexImpl.java
 
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexImpl.java
index 66dc1f9..93fb25b 100644
--- 
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexImpl.java
+++ 
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexImpl.java
@@ -170,7 +170,7 @@ public abstract class LuceneIndexImpl implements 
InternalLuceneIndex {
       factory.setPersistent(true);
     }
     factory.setDiskStoreName(dataRegion.getAttributes().getDiskStoreName());
-    factory.setDiskSynchronous(dataRegion.getAttributes().isDiskSynchronous());
+    factory.setDiskSynchronous(true);
     factory.setForwardExpirationDestroy(true);
     return factory;
   }

http://git-wip-us.apache.org/repos/asf/geode/blob/33e65ba0/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
----------------------------------------------------------------------
diff --git 
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
 
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
index 8f65574..bed6f13 100644
--- 
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
+++ 
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationPersistenceIntegrationTest.java
@@ -112,7 +112,7 @@ public class LuceneIndexCreationPersistenceIntegrationTest 
extends LuceneIntegra
 
   @Test
   @Parameters({"true", "false"})
-  public void shouldUseDiskSynchronousWhenUserRegionHasDiskSynchronous(boolean 
synchronous) {
+  public void aeqShouldAlwaysBeDiskSynchronousWhenUserRegionIsEither(boolean 
synchronous) {
     createIndex(cache, "text");
     
cache.createRegionFactory(RegionShortcut.PARTITION_PERSISTENT).setDiskSynchronous(synchronous)
         .create(REGION_NAME);
@@ -122,7 +122,7 @@ public class LuceneIndexCreationPersistenceIntegrationTest 
extends LuceneIntegra
       assertTrue(region.isDiskSynchronous());
     });
     AsyncEventQueue queue = getIndexQueue(cache);
-    assertEquals(synchronous, queue.isDiskSynchronous());
+    assertTrue(queue.isDiskSynchronous());
     assertEquals(true, queue.isPersistent());
   }
 

Reply via email to