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 00f2afd GEODE-3569: save the serializer class name into
LuceneIndexCreationProfile and compare between members when creating index
addCacheServiceProfile should use serializer as paramter set
default class name add junit and dunit tests for fromData/toData
add backward compatibility for fromData/toData add
backward compatibility for LuceneIndexCreationProfile
00f2afd is described below
commit 00f2afdea997f57ab6351531f2e2fe4496e03371
Author: zhouxh <[email protected]>
AuthorDate: Fri Sep 15 15:30:06 2017 -0700
GEODE-3569: save the serializer class name into LuceneIndexCreationProfile
and compare between members when creating index
addCacheServiceProfile should use serializer as paramter
set default class name
add junit and dunit tests for fromData/toData
add backward compatibility for fromData/toData
add backward compatibility for LuceneIndexCreationProfile
---
.../geode/internal/i18n/LocalizedStrings.java | 3 ++
.../internal/LuceneIndexCreationProfile.java | 41 +++++++++++++--
.../lucene/internal/LuceneRegionListener.java | 2 +-
.../cache/lucene/internal/LuceneServiceImpl.java | 4 +-
.../geode/cache/lucene/DummyLuceneSerializer.java | 29 +++++++++++
.../cache/lucene/LuceneIndexCreationDUnitTest.java | 48 ++++++++++++++++++
.../LuceneIndexCreationProfileJUnitTest.java | 59 +++++++++++++++++++---
.../cache/lucene/test/LuceneTestUtilities.java | 2 +
8 files changed, 176 insertions(+), 12 deletions(-)
diff --git
a/geode-core/src/main/java/org/apache/geode/internal/i18n/LocalizedStrings.java
b/geode-core/src/main/java/org/apache/geode/internal/i18n/LocalizedStrings.java
index 3a32db8..ab3b8eb 100755
---
a/geode-core/src/main/java/org/apache/geode/internal/i18n/LocalizedStrings.java
+++
b/geode-core/src/main/java/org/apache/geode/internal/i18n/LocalizedStrings.java
@@ -7611,6 +7611,9 @@ public class LocalizedStrings {
public static final StringId
LuceneService_CANNOT_CREATE_INDEX_0_ON_REGION_1_WITH_ANALYZER_2_ON_FIELD_3_BECAUSE_ANOTHER_MEMBER_DEFINES_THE_SAME_INDEX_WITH_ANALYZER_4_ON_THAT_FIELD
=
new StringId(6631,
"Cannot create Lucene index {0} on region {1} with analyzer {2} on
field {3} because another member defines the same index with analyzer {4} on
that field.");
+ public static final StringId
LuceneService_CANNOT_CREATE_INDEX_0_ON_REGION_1_WITH_SERIALIZER_2_BECAUSE_ANOTHER_MEMBER_DEFINES_THE_SAME_INDEX_WITH_DIFFERENT_SERIALIZER_3
=
+ new StringId(6632,
+ "Cannot create Lucene index {0} on region {1} with serializer {2}
because another member defines the same index with different serializer {3}.");
public static final StringId AbstractDistributionConfig_CLUSTER_SSL_ALIAS_0
= new StringId(6633,
"SSL communication uses the this alias when determining the key to use
from the keystore for SSL. Defaults to \"{0}\".");
diff --git
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfile.java
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfile.java
index 28d84e5..e88045d 100644
---
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfile.java
+++
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfile.java
@@ -16,6 +16,10 @@ package org.apache.geode.cache.lucene.internal;
import org.apache.geode.DataSerializable;
import org.apache.geode.DataSerializer;
+import org.apache.geode.cache.lucene.LuceneSerializer;
+import
org.apache.geode.cache.lucene.internal.repository.serializer.HeterogeneousLuceneSerializer;
+import org.apache.geode.internal.Version;
+import org.apache.geode.internal.VersionedDataSerializable;
import org.apache.geode.internal.cache.CacheServiceProfile;
import org.apache.geode.internal.i18n.LocalizedStrings;
import org.apache.lucene.analysis.Analyzer;
@@ -26,7 +30,7 @@ import java.io.DataOutput;
import java.io.IOException;
import java.util.*;
-public class LuceneIndexCreationProfile implements CacheServiceProfile,
DataSerializable {
+public class LuceneIndexCreationProfile implements CacheServiceProfile,
VersionedDataSerializable {
private String indexName;
@@ -36,18 +40,23 @@ public class LuceneIndexCreationProfile implements
CacheServiceProfile, DataSeri
private Map<String, String> fieldAnalyzers;
+ private String serializerClass =
HeterogeneousLuceneSerializer.class.getSimpleName();
+
private String regionPath;
/* Used by DataSerializer */
public LuceneIndexCreationProfile() {}
public LuceneIndexCreationProfile(String indexName, String regionPath,
String[] fieldNames,
- Analyzer analyzer, Map<String, Analyzer> fieldAnalyzers) {
+ Analyzer analyzer, Map<String, Analyzer> fieldAnalyzers,
LuceneSerializer serializer) {
this.indexName = indexName;
this.regionPath = regionPath;
this.fieldNames = fieldNames;
this.analyzerClass = analyzer.getClass().getSimpleName();
initializeFieldAnalyzers(fieldAnalyzers);
+ if (serializer != null) {
+ this.serializerClass = serializer.getClass().getSimpleName();
+ }
}
public String getIndexName() {
@@ -66,6 +75,10 @@ public class LuceneIndexCreationProfile implements
CacheServiceProfile, DataSeri
return this.fieldAnalyzers;
}
+ public String getSerializerClass() {
+ return this.serializerClass;
+ }
+
protected void initializeFieldAnalyzers(Map<String, Analyzer>
fieldAnalyzers) {
this.fieldAnalyzers = new HashMap<>();
for (String field : fieldNames) {
@@ -129,6 +142,13 @@ public class LuceneIndexCreationProfile implements
CacheServiceProfile, DataSeri
}
}
}
+
+ if (!getSerializerClass().equals(remoteProfile.getSerializerClass())) {
+ return
LocalizedStrings.LuceneService_CANNOT_CREATE_INDEX_0_ON_REGION_1_WITH_SERIALIZER_2_BECAUSE_ANOTHER_MEMBER_DEFINES_THE_SAME_INDEX_WITH_DIFFERENT_SERIALIZER_3
+ .toString(getIndexName(), regionPath, getSerializerClass(),
+ remoteProfile.getSerializerClass());
+ }
+
return result;
}
@@ -143,6 +163,11 @@ public class LuceneIndexCreationProfile implements
CacheServiceProfile, DataSeri
@Override
public void toData(DataOutput out) throws IOException {
+ toDataPre_GEODE_1_3_0_0(out);
+ DataSerializer.writeString(this.serializerClass, out);
+ }
+
+ public void toDataPre_GEODE_1_3_0_0(DataOutput out) throws IOException {
DataSerializer.writeString(this.indexName, out);
DataSerializer.writeString(this.regionPath, out);
DataSerializer.writeStringArray(this.fieldNames, out);
@@ -152,6 +177,11 @@ public class LuceneIndexCreationProfile implements
CacheServiceProfile, DataSeri
@Override
public void fromData(DataInput in) throws IOException,
ClassNotFoundException {
+ fromDataPre_GEODE_1_3_0_0(in);
+ this.serializerClass = DataSerializer.readString(in);
+ }
+
+ public void fromDataPre_GEODE_1_3_0_0(DataInput in) throws IOException,
ClassNotFoundException {
this.indexName = DataSerializer.readString(in);
this.regionPath = DataSerializer.readString(in);
this.fieldNames = DataSerializer.readStringArray(in);
@@ -164,10 +194,15 @@ public class LuceneIndexCreationProfile implements
CacheServiceProfile, DataSeri
.append(this.indexName).append("; regionPath=").append(this.regionPath)
.append(";
fieldNames=").append(Arrays.toString(this.fieldNames)).append(";
analyzerClass=")
.append(this.analyzerClass).append(";
fieldAnalyzers=").append(this.fieldAnalyzers)
- .append("]").toString();
+ .append(";
serializer=").append(this.serializerClass).append("]").toString();
}
public String getRegionPath() {
return this.regionPath;
}
+
+ @Override
+ public Version[] getSerializationVersions() {
+ return new Version[] {Version.GEODE_130};
+ }
}
diff --git
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneRegionListener.java
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneRegionListener.java
index 8866249..70e7e0b 100644
---
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneRegionListener.java
+++
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneRegionListener.java
@@ -103,7 +103,7 @@ public class LuceneRegionListener implements RegionListener
{
// Add index creation profile
internalRegionArgs.addCacheServiceProfile(new
LuceneIndexCreationProfile(this.indexName,
- this.regionPath, this.fields, this.analyzer, this.fieldAnalyzers));
+ this.regionPath, this.fields, this.analyzer, this.fieldAnalyzers,
serializer));
luceneIndex = this.service.beforeDataRegionCreated(this.indexName,
this.regionPath, attrs,
this.analyzer, this.fieldAnalyzers, aeqId, serializer, this.fields);
diff --git
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
index 60e196c..6af9a07 100644
---
a/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
+++
b/geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneServiceImpl.java
@@ -206,8 +206,8 @@ public class LuceneServiceImpl implements
InternalLuceneService {
regionPath = "/" + regionPath;
}
- registerDefinedIndex(indexName, regionPath,
- new LuceneIndexCreationProfile(indexName, regionPath, fields,
analyzer, fieldAnalyzers));
+ registerDefinedIndex(indexName, regionPath, new
LuceneIndexCreationProfile(indexName,
+ regionPath, fields, analyzer, fieldAnalyzers, serializer));
Region region = cache.getRegion(regionPath);
if (region != null) {
diff --git
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/DummyLuceneSerializer.java
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/DummyLuceneSerializer.java
new file mode 100644
index 0000000..2a31768
--- /dev/null
+++
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/DummyLuceneSerializer.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
+ * agreements. See the NOTICE file distributed with this work for additional
information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache
License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the
License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express
+ * or implied. See the License for the specific language governing permissions
and limitations under
+ * the License.
+ */
+package org.apache.geode.cache.lucene;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.apache.lucene.document.Document;
+
+public class DummyLuceneSerializer implements LuceneSerializer {
+
+ @Override
+ public Collection<Document> toDocuments(Object value) {
+ return Collections.emptyList();
+ }
+
+}
diff --git
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationDUnitTest.java
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationDUnitTest.java
index b83ca44..e41cf85 100644
---
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationDUnitTest.java
+++
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationDUnitTest.java
@@ -14,6 +14,7 @@
*/
package org.apache.geode.cache.lucene;
+import
org.apache.geode.cache.lucene.internal.repository.serializer.HeterogeneousLuceneSerializer;
import org.apache.geode.cache.lucene.test.LuceneTestUtilities;
import org.apache.geode.test.dunit.SerializableRunnableIF;
import org.apache.geode.test.junit.categories.DistributedTest;
@@ -324,6 +325,28 @@ public class LuceneIndexCreationDUnitTest extends
LuceneDUnitTest {
dataStore2.invoke(() -> initDataStore(createIndex2, regionType));
}
+ @Test
+ @Parameters("PARTITION")
+ public void verifyDifferentSerializerShouldFail(RegionTestableType
regionType) {
+ SerializableRunnableIF createIndex1 = getIndexWithDefaultSerializer();
+ dataStore1.invoke(() -> initDataStore(createIndex1, regionType));
+
+ SerializableRunnableIF createIndex2 = getIndexWithDummySerializer();
+ dataStore2.invoke(() -> initDataStore(createIndex2, regionType,
+ CANNOT_CREATE_LUCENE_INDEX_DIFFERENT_SERIALIZER));
+ }
+
+ @Test
+ @Parameters("PARTITION")
+ public void verifyDifferentSerializerShouldFail2(RegionTestableType
regionType) {
+ SerializableRunnableIF createIndex1 =
getHeterogeneousLuceneSerializerCreationProfile();
+ dataStore1.invoke(() -> initDataStore(createIndex1, regionType));
+
+ SerializableRunnableIF createIndex2 = getIndexWithDummySerializer();
+ dataStore2.invoke(() -> initDataStore(createIndex2, regionType,
+ CANNOT_CREATE_LUCENE_INDEX_DIFFERENT_SERIALIZER));
+ }
+
protected String getXmlFileForTest(String testName) {
return TestUtil.getResourcePath(getClass(),
getClassSimpleName() + "." + testName + ".cache.xml");
@@ -462,4 +485,29 @@ public class LuceneIndexCreationDUnitTest extends
LuceneDUnitTest {
luceneService.createIndexFactory().setFields(analyzers).create(INDEX_NAME,
REGION_NAME);
};
}
+
+ protected SerializableRunnableIF getIndexWithDummySerializer() {
+ return () -> {
+ LuceneService luceneService = LuceneServiceProvider.get(getCache());
+ luceneService.createIndexFactory().setFields(new String[] {"field1",
"field2"})
+ .setLuceneSerializer(new DummyLuceneSerializer()).create(INDEX_NAME,
REGION_NAME);
+ };
+ }
+
+ protected SerializableRunnableIF getIndexWithDefaultSerializer() {
+ return () -> {
+ LuceneService luceneService = LuceneServiceProvider.get(getCache());
+ luceneService.createIndexFactory().setFields(new String[] {"field1",
"field2"})
+ .create(INDEX_NAME, REGION_NAME);
+ };
+ }
+
+ protected SerializableRunnableIF
getHeterogeneousLuceneSerializerCreationProfile() {
+ return () -> {
+ LuceneService luceneService = LuceneServiceProvider.get(getCache());
+ luceneService.createIndexFactory().setFields(new String[] {"field1",
"field2"})
+ .setLuceneSerializer(new HeterogeneousLuceneSerializer(new String[]
{"field1", "field2"}))
+ .create(INDEX_NAME, REGION_NAME);
+ };
+ }
}
diff --git
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfileJUnitTest.java
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfileJUnitTest.java
index b378ca5..c653c2f 100644
---
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfileJUnitTest.java
+++
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/internal/LuceneIndexCreationProfileJUnitTest.java
@@ -15,8 +15,14 @@
package org.apache.geode.cache.lucene.internal;
import org.apache.geode.CopyHelper;
+import org.apache.geode.DataSerializer;
+import org.apache.geode.cache.lucene.DummyLuceneSerializer;
+import
org.apache.geode.cache.lucene.internal.repository.serializer.HeterogeneousLuceneSerializer;
import org.apache.geode.cache.lucene.test.LuceneTestUtilities;
+import org.apache.geode.internal.HeapDataOutputStream;
+import org.apache.geode.internal.Version;
import org.apache.geode.test.junit.categories.UnitTest;
+
import junitparams.JUnitParamsRunner;
import junitparams.Parameters;
import org.apache.lucene.analysis.Analyzer;
@@ -27,6 +33,9 @@ import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -54,10 +63,44 @@ public class LuceneIndexCreationProfileJUnitTest {
return $(new Object[] {getOneFieldLuceneIndexCreationProfile()},
new Object[] {getTwoFieldLuceneIndexCreationProfile()},
new Object[] {getTwoAnalyzersLuceneIndexCreationProfile()},
+ new Object[] {getDummySerializerCreationProfile()},
new Object[] {getNullField1AnalyzerLuceneIndexCreationProfile()});
}
@Test
+ @Parameters(method = "getProfileWithSerializer")
+ public void toDataFromDataShouldContainSerializer(LuceneIndexCreationProfile
profile,
+ String expectedSerializerCLassName) throws IOException,
ClassNotFoundException {
+ HeapDataOutputStream hdos = new HeapDataOutputStream(Version.CURRENT);
+ DataSerializer.writeObject(profile, hdos);
+ byte[] outputArray = hdos.toByteArray();
+ ByteArrayInputStream bais = new ByteArrayInputStream(outputArray);
+ LuceneIndexCreationProfile profile2 = DataSerializer.readObject(new
DataInputStream(bais));
+ assertEquals(expectedSerializerCLassName, profile2.getSerializerClass());
+ }
+
+ private Object[] getProfileWithSerializer() {
+ return $(new Object[] {getDefaultSerializerCreationProfile(),
"HeterogeneousLuceneSerializer"},
+ new Object[] {getDummySerializerCreationProfile(),
"DummyLuceneSerializer"}, new Object[] {
+ getHeterogeneousLuceneSerializerCreationProfile(),
"HeterogeneousLuceneSerializer"});
+ }
+
+ private LuceneIndexCreationProfile getDefaultSerializerCreationProfile() {
+ return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME, new
String[] {"field1"},
+ new StandardAnalyzer(), null, null);
+ }
+
+ private LuceneIndexCreationProfile getDummySerializerCreationProfile() {
+ return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME, new
String[] {"field1"},
+ new StandardAnalyzer(), null, new DummyLuceneSerializer());
+ }
+
+ private LuceneIndexCreationProfile
getHeterogeneousLuceneSerializerCreationProfile() {
+ return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME, new
String[] {"field1"},
+ new StandardAnalyzer(), null, new HeterogeneousLuceneSerializer(new
String[] {"field1"}));
+ }
+
+ @Test
@Parameters(method = "getCheckCompatibilityProfiles")
public void testCheckCompatibility(LuceneIndexCreationProfile myProfile,
LuceneIndexCreationProfile otherProfile, String expectedResult) {
@@ -80,6 +123,10 @@ public class LuceneIndexCreationProfileJUnitTest {
new Object[] {getNullField2AnalyzerLuceneIndexCreationProfile(),
getNullField1AnalyzerLuceneIndexCreationProfile(),
CANNOT_CREATE_LUCENE_INDEX_DIFFERENT_ANALYZERS_1},
+ new Object[] {getDefaultSerializerCreationProfile(),
getDummySerializerCreationProfile(),
+ CANNOT_CREATE_LUCENE_INDEX_DIFFERENT_SERIALIZER},
+ new Object[] {getDefaultSerializerCreationProfile(),
+ getHeterogeneousLuceneSerializerCreationProfile(), null},
new Object[] {getNullField1AnalyzerLuceneIndexCreationProfile(),
getNullField2AnalyzerLuceneIndexCreationProfile(),
LuceneTestUtilities.CANNOT_CREATE_LUCENE_INDEX_DIFFERENT_ANALYZERS_2});
@@ -87,12 +134,12 @@ public class LuceneIndexCreationProfileJUnitTest {
private LuceneIndexCreationProfile getOneFieldLuceneIndexCreationProfile() {
return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME, new
String[] {"field1"},
- new StandardAnalyzer(), null);
+ new StandardAnalyzer(), null, null);
}
private LuceneIndexCreationProfile getTwoFieldLuceneIndexCreationProfile() {
return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME,
- new String[] {"field1", "field2"}, new StandardAnalyzer(), null);
+ new String[] {"field1", "field2"}, new StandardAnalyzer(), null, null);
}
private LuceneIndexCreationProfile
getOneAnalyzerLuceneIndexCreationProfile(Analyzer analyzer) {
@@ -100,7 +147,7 @@ public class LuceneIndexCreationProfileJUnitTest {
fieldAnalyzers.put("field1", analyzer);
return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME,
new String[] {"field1", "field2"},
getPerFieldAnalyzerWrapper(fieldAnalyzers),
- fieldAnalyzers);
+ fieldAnalyzers, null);
}
private LuceneIndexCreationProfile
getTwoAnalyzersLuceneIndexCreationProfile() {
@@ -109,7 +156,7 @@ public class LuceneIndexCreationProfileJUnitTest {
fieldAnalyzers.put("field2", new KeywordAnalyzer());
return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME,
new String[] {"field1", "field2"},
getPerFieldAnalyzerWrapper(fieldAnalyzers),
- fieldAnalyzers);
+ fieldAnalyzers, null);
}
private LuceneIndexCreationProfile
getNullField1AnalyzerLuceneIndexCreationProfile() {
@@ -118,7 +165,7 @@ public class LuceneIndexCreationProfileJUnitTest {
fieldAnalyzers.put("field2", new KeywordAnalyzer());
return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME,
new String[] {"field1", "field2"},
getPerFieldAnalyzerWrapper(fieldAnalyzers),
- fieldAnalyzers);
+ fieldAnalyzers, null);
}
private LuceneIndexCreationProfile
getNullField2AnalyzerLuceneIndexCreationProfile() {
@@ -127,7 +174,7 @@ public class LuceneIndexCreationProfileJUnitTest {
fieldAnalyzers.put("field2", null);
return new LuceneIndexCreationProfile(INDEX_NAME, REGION_NAME,
new String[] {"field1", "field2"},
getPerFieldAnalyzerWrapper(fieldAnalyzers),
- fieldAnalyzers);
+ fieldAnalyzers, null);
}
private Analyzer getPerFieldAnalyzerWrapper(Map<String, Analyzer>
fieldAnalyzers) {
diff --git
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java
index 17f4dea..307b649 100644
---
a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java
+++
b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/test/LuceneTestUtilities.java
@@ -79,6 +79,8 @@ public class LuceneTestUtilities {
"Cannot create Lucene index index2 on region /region because it is not
defined in another member.";
public static final String CANNOT_CREATE_LUCENE_INDEX_DIFFERENT_INDEXES_3 =
"Cannot create Lucene index index on region /region because it is not
defined in another member.";
+ public static final String CANNOT_CREATE_LUCENE_INDEX_DIFFERENT_SERIALIZER =
+ "Cannot create Lucene index index on region /region with serializer
DummyLuceneSerializer because another member defines the same index with
different serializer HeterogeneousLuceneSerializer.";
public static String Quarter1 = "Q1";
public static String Quarter2 = "Q2";
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].