This is an automated email from the ASF dual-hosted git repository.
nnag pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 84d31b8 GEODE-4725: PdxReadSerialized reset
84d31b8 is described below
commit 84d31b853c080aeaaf12b5b9a1fe58edaa045928
Author: nabarun <[email protected]>
AuthorDate: Thu Feb 22 13:37:07 2018 -0800
GEODE-4725: PdxReadSerialized reset
* In the lucene event listener's process events method the flag
pdxReadSerialized is reset to the initial value then to rather change it to
false.
---
.../geode/cache/lucene/internal/LuceneEventListener.java | 3 ++-
.../lucene/internal/LuceneEventListenerJUnitTest.java | 15 +++++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneEventListener.java
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneEventListener.java
index 395a9b4..8033f9a 100644
---
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneEventListener.java
+++
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneEventListener.java
@@ -73,6 +73,7 @@ public class LuceneEventListener implements
AsyncEventListener {
protected boolean process(final List<AsyncEvent> events) {
// Try to get a PDX instance if possible, rather than a deserialized object
+ boolean initialPdxReadSerializedFlag = DefaultQuery.getPdxReadSerialized();
DefaultQuery.setPdxReadSerialized(true);
Set<IndexRepository> affectedRepos = new HashSet<IndexRepository>();
@@ -111,7 +112,7 @@ public class LuceneEventListener implements
AsyncEventListener {
} catch (IOException e) {
throw new InternalGemFireError("Unable to save to lucene index", e);
} finally {
- DefaultQuery.setPdxReadSerialized(false);
+ DefaultQuery.setPdxReadSerialized(initialPdxReadSerializedFlag);
}
}
diff --git
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneEventListenerJUnitTest.java
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneEventListenerJUnitTest.java
index b0db54b..cc7caff 100644
---
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneEventListenerJUnitTest.java
+++
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneEventListenerJUnitTest.java
@@ -20,6 +20,7 @@ import static org.mockito.Mockito.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@@ -34,6 +35,7 @@ import org.apache.geode.cache.Region;
import org.apache.geode.cache.asyncqueue.AsyncEvent;
import org.apache.geode.cache.lucene.internal.repository.IndexRepository;
import org.apache.geode.cache.lucene.internal.repository.RepositoryManager;
+import org.apache.geode.cache.query.internal.DefaultQuery;
import org.apache.geode.internal.cache.BucketNotFoundException;
import org.apache.geode.internal.cache.EntrySnapshot;
import org.apache.geode.test.junit.categories.UnitTest;
@@ -50,6 +52,19 @@ public class LuceneEventListenerJUnitTest {
}
@Test
+ public void
pdxReadSerializedFlagShouldBeResetBackToOriginalValueAfterProcessingEvents() {
+ boolean originalPdxReadSerialized = DefaultQuery.getPdxReadSerialized();
+ try {
+ DefaultQuery.setPdxReadSerialized(true);
+ LuceneEventListener luceneEventListener = new LuceneEventListener(null);
+ luceneEventListener.process(new LinkedList());
+ assertTrue(DefaultQuery.getPdxReadSerialized());
+ } finally {
+ DefaultQuery.setPdxReadSerialized(originalPdxReadSerialized);
+ }
+ }
+
+ @Test
public void testProcessBatch() throws Exception {
RepositoryManager manager = Mockito.mock(RepositoryManager.class);
IndexRepository repo1 = Mockito.mock(IndexRepository.class);
--
To stop receiving notification emails like this one, please contact
[email protected].