You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2017/10/02 21:15:41 UTC
[geode] branch feature/GEODE-3239 updated: GEODE-3275: test
LuceneSerializer should not cause PDX values to be deserialized
This is an automated email from the ASF dual-hosted git repository.
zhouxj pushed a commit to branch feature/GEODE-3239
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/feature/GEODE-3239 by this push:
new 215d56e GEODE-3275: test LuceneSerializer should not cause PDX values to be deserialized
215d56e is described below
commit 215d56e4fac3341603bdf45d7402ac7f242c0e29
Author: zhouxh <gz...@pivotal.io>
AuthorDate: Thu Sep 28 17:55:35 2017 -0700
GEODE-3275: test LuceneSerializer should not cause PDX values to be deserialized
This closes #843
---
.../LuceneIndexMaintenanceIntegrationTest.java | 35 ++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
index 9ee8e3c..7d9aed2 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexMaintenanceIntegrationTest.java
@@ -27,6 +27,8 @@ import java.util.concurrent.TimeUnit;
import org.apache.geode.internal.cache.CachedDeserializable;
import org.apache.geode.internal.cache.EntrySnapshot;
import org.apache.geode.internal.cache.RegionEntry;
+import org.apache.geode.pdx.JSONFormatter;
+import org.apache.geode.pdx.PdxInstance;
import org.awaitility.Awaitility;
import org.junit.Test;
@@ -44,6 +46,7 @@ import org.apache.geode.cache.lucene.internal.LuceneIndexStats;
import org.apache.geode.cache.lucene.internal.filesystem.FileSystemStats;
import org.apache.geode.cache.lucene.internal.repository.serializer.HeterogeneousLuceneSerializer;
import org.apache.geode.cache.lucene.test.LuceneTestUtilities;
+import org.apache.geode.cache.query.data.PortfolioPdx;
import org.apache.geode.test.junit.categories.IntegrationTest;
import org.apache.lucene.document.Document;
@@ -155,6 +158,29 @@ public class LuceneIndexMaintenanceIntegrationTest extends LuceneIntegrationTest
}
@Test
+ public void pdxInstanceShouldNotBeDeserialized() throws Exception {
+ luceneService.createIndexFactory().setFields("status", "description")
+ .setLuceneSerializer(new TestPdxInstanceSerializer()).create(INDEX_NAME, REGION_NAME);
+
+ Region region = createRegion(REGION_NAME, RegionShortcut.PARTITION);
+ for (int i = 0; i < 10; i++) {
+ PortfolioPdx p = new PortfolioPdx(i);
+ region.put(i, p);
+ }
+
+ LuceneIndex index = luceneService.getIndex(INDEX_NAME, REGION_NAME);
+ luceneService.waitUntilFlushed(INDEX_NAME, REGION_NAME, WAIT_FOR_FLUSH_TIME,
+ TimeUnit.MILLISECONDS);
+ LuceneQuery query = luceneService.createLuceneQueryFactory().create(INDEX_NAME, REGION_NAME,
+ "status:active", "status");
+ PageableLuceneQueryResults<Integer, TestObject> results = query.findPages();
+ assertEquals(5, results.size());
+ LuceneIndexForPartitionedRegion indexForPR = (LuceneIndexForPartitionedRegion) index;
+ LuceneIndexStats indexStats = indexForPR.getIndexStats();
+ assertEquals(10, indexStats.getUpdates());
+ }
+
+ @Test
public void statsAreUpdatedAfterACommit() throws Exception {
luceneService.createIndexFactory().setFields("title", "description").create(INDEX_NAME,
REGION_NAME);
@@ -353,4 +379,13 @@ public class LuceneIndexMaintenanceIntegrationTest extends LuceneIntegrationTest
}
}
}
+
+ private static class TestPdxInstanceSerializer extends HeterogeneousLuceneSerializer {
+
+ @Override
+ public Collection<Document> toDocuments(LuceneIndex index, Object value) {
+ assertTrue(value instanceof PdxInstance);
+ return super.toDocuments(index, value);
+ }
+ }
}
--
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].