You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bo...@apache.org on 2017/10/17 18:38:52 UTC

[geode] 01/01: Merge branch 'develop' into feature/GEODE-3026

This is an automated email from the ASF dual-hosted git repository.

boglesby pushed a commit to branch feature/GEODE-3026
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 9f39add38cc4961e592e352f64bef782ffb58bff
Merge: 8757eee b7208d2
Author: Barry Oglesby <bo...@users.noreply.github.com>
AuthorDate: Tue Oct 17 11:38:49 2017 -0700

    Merge branch 'develop' into feature/GEODE-3026

 .../cli/commands/StopServerAcceptanceTest.java     |  14 -
 .../session/tests/TomcatClientServerTest.java      |   1 +
 geode-book/config.yml                              |   6 +-
 geode-book/redirects.rb                            |   4 +-
 .../org/apache/geode/cache/query/IndexType.java    |  24 +-
 .../geode/cache/query/internal/CompiledIn.java     |  65 +-
 .../cache/query/internal/CompiledIteratorDef.java  |   3 +
 .../geode/cache/query/internal/CompiledSelect.java |   2 +-
 .../RestrictedMethodInvocationAuthorizer.java      |  29 +
 .../org/apache/geode/cache/wan/GatewaySender.java  |   7 +-
 .../geode/cache/wan/GatewaySenderFactory.java      |   2 +
 .../distributed/internal/InternalLocator.java      |   6 +-
 .../membership/gms/fd/GMSHealthMonitor.java        |  28 +-
 .../membership/gms/membership/GMSJoinLeave.java    |  19 +
 .../gms/messages/FinalCheckPassedMessage.java      |  71 ++
 .../distributed/internal/tcpserver/TcpServer.java  |  38 +-
 .../geode/internal/DataSerializableFixedID.java    |   1 +
 .../java/org/apache/geode/internal/Version.java    |   8 +-
 .../internal/admin/remote/RemoteBridgeServer.java  |  12 +-
 .../geode/internal/cache/AbstractCacheServer.java  |   2 +-
 .../geode/internal/cache/AbstractRegionEntry.java  |  23 +-
 .../apache/geode/internal/cache/BackupManager.java |  74 +-
 .../apache/geode/internal/cache/CacheConfig.java   |  18 +-
 .../geode/internal/cache/CacheServerImpl.java      |  20 +
 ...oOpStatistics.java => InternalCacheServer.java} |  14 +-
 ...sageHandlerFactory.java => InternalRegion.java} |  36 +-
 .../apache/geode/internal/cache/LocalRegion.java   |   2 +-
 .../org/apache/geode/internal/cache/Oplog.java     |   4 +-
 .../cache/persistence/BackupInspector.java         |  13 +-
 .../internal/cache/persistence/RestoreScript.java  |  69 +-
 .../cache/persistence/ScriptGenerator.java         |  17 +-
 .../cache/persistence/UnixBackupInspector.java     |   9 +-
 .../cache/persistence/UnixScriptGenerator.java     |  41 +-
 .../cache/persistence/WindowsBackupInspector.java  |   7 +-
 .../cache/persistence/WindowsScriptGenerator.java  |  47 +-
 .../apache/geode/internal/cache/tier/Acceptor.java |  22 +-
 .../internal/cache/tier/sockets/AcceptorImpl.java  |  79 +-
 .../cache/tier/sockets/CacheClientProxy.java       |   2 +-
 ...geHandler.java => ClientProtocolProcessor.java} |  32 +-
 ...sageHandler.java => ClientProtocolService.java} |  35 +-
 .../tier/sockets/ClientProtocolServiceLoader.java  |  51 ++
 .../cache/tier/sockets/CommandInitializer.java     |   5 +
 .../sockets/GenericProtocolServerConnection.java   |  27 +-
 .../tier/sockets/ServerConnectionFactory.java      |  84 +-
 .../cache/tier/sockets/TcpServerFactory.java       |  10 +-
 .../cache/versions/RegionVersionVector.java        |  10 +-
 .../cache/xmlcache/CacheServerCreation.java        |  13 +-
 .../geode/internal/cache/xmlcache/CacheXml.java    |   2 +-
 .../internal/cache/xmlcache/CacheXmlParser.java    |  14 +-
 .../internal/cache/xmlcache/XmlGeneratorUtils.java |  60 ++
 .../geode/internal/i18n/LocalizedStrings.java      |   3 +
 .../statistics/platform/LinuxProcFsStatistics.java |  12 +-
 .../statistics/platform/LinuxSystemStats.java      |   6 +-
 .../geode/management/DistributedSystemMXBean.java  |   2 +-
 .../apache/geode/management/cli/ConverterHint.java |   3 +-
 .../management/internal/cli/CommandManager.java    |   3 +
 .../internal/cli/commands/CreateIndexCommand.java  | 157 ++--
 .../internal/cli/commands/CreateRegionCommand.java |  26 +-
 .../internal/cli/commands/DefineIndexCommand.java  |  36 +-
 .../cli/commands/DescribeRegionCommand.java        | 259 +++---
 .../internal/cli/commands/DestroyIndexCommand.java |   1 -
 .../cli/commands/DestroyRegionCommand.java         | 195 +----
 .../internal/cli/commands/DisconnectCommand.java   |   3 +-
 .../internal/cli/commands/GetCommand.java          |  11 -
 .../internal/cli/commands/GfshCommand.java         |   9 +
 .../internal/cli/commands/ListIndexCommand.java    |   6 +-
 .../internal/cli/commands/LocateEntryCommand.java  |  11 -
 .../internal/cli/commands/PutCommand.java          |  15 -
 .../internal/cli/commands/RemoveCommand.java       |   5 -
 .../internal/cli/commands/ShowMetricsCommand.java  |  26 +-
 ...{IndexTypeConverter.java => EnumConverter.java} |  34 +-
 .../cli/converters/IndexTypeConverter.java         |  30 +-
 .../cli/converters/RegionPathConverter.java        |  52 +-
 .../internal/cli/domain/IndexDetails.java          |  56 +-
 .../management/internal/cli/domain/IndexInfo.java  |  16 +-
 .../functions/CreateDefinedIndexesFunction.java    |   5 +-
 .../cli/functions/CreateIndexFunction.java         |   6 +-
 .../cli/functions/DescribeDiskStoreFunction.java   |   7 +-
 .../internal/cli/functions/ExportDataFunction.java |   3 +-
 .../cli/functions/GarbageCollectionFunction.java   |   3 +-
 .../functions/GatewayReceiverCreateFunction.java   |   3 +-
 .../cli/functions/GatewaySenderCreateFunction.java |   3 +-
 .../functions/GatewaySenderDestroyFunction.java    |   3 +-
 .../GetMemberConfigInformationFunction.java        |   3 +-
 .../functions/GetMemberInformationFunction.java    |   3 +-
 .../functions/GetRegionDescriptionFunction.java    |   3 +-
 .../cli/functions/GetStackTracesFunction.java      |   3 +-
 .../internal/cli/functions/ImportDataFunction.java |   3 +-
 .../functions/ListAsyncEventQueuesFunction.java    |   8 +-
 .../cli/functions/ListDeployedFunction.java        |   7 +-
 .../cli/functions/ListDurableCqNamesFunction.java  |   8 +-
 .../cli/functions/ListFunctionFunction.java        |   3 +-
 .../cli/functions/MemberRegionFunction.java        |   3 +-
 .../cli/functions/MembersForRegionFunction.java    |   4 +-
 .../internal/cli/functions/RebalanceFunction.java  |   3 +-
 .../cli/functions/RegionAlterFunction.java         |   3 +-
 .../cli/functions/RegionCreateFunction.java        |   7 +-
 .../cli/functions/RegionDestroyFunction.java       |   3 +-
 .../internal/cli/functions/UndeployFunction.java   |   8 +-
 .../internal/cli/functions/UnregisterFunction.java |   4 -
 .../management/internal/cli/i18n/CliStrings.java   |   6 +-
 .../geode/management/internal/cli/shell/Gfsh.java  |  11 +-
 .../configuration/domain/CacheElement.java         |  26 +-
 .../internal/configuration/utils/XmlUtils.java     | 143 +---
 .../{ => internal}/server/Authenticator.java       |   2 +-
 .../security/{ => internal}/server/Authorizer.java |   2 +-
 .../{ => internal}/server/NoOpAuthenticator.java   |   2 +-
 .../{ => internal}/server/NoOpAuthorizer.java      |   2 +-
 .../security/{ => internal}/server/package.html    |   0
 .../geode.apache.org/schema/cache/cache-1.0.xsd    |   7 +-
 ...he.geode.security.internal.server.Authenticator |   1 +
 .../org.apache.geode.security.server.Authenticator |   1 -
 .../java/org/apache/geode/LonerDMJUnitTest.java    |  15 -
 .../apache/geode/cache/query/IndexTypeTest.java    |  29 +-
 .../cache/query/internal/CompiledInJUnitTest.java  |  68 +-
 .../RestrictedMethodInvocationAuthorizerTest.java  | 250 ++++++
 .../geode/cache30/CacheStatisticsDUnitTest.java    |   3 +-
 .../geode/cache30/MultiVMRegionTestCase.java       | 119 +--
 .../geode/cache30/PreloadedRegionTestCase.java     | 102 ---
 .../gms/fd/GMSHealthMonitorJUnitTest.java          |  81 +-
 .../internal/cache/AbstractRegionEntryTest.java    |  64 +-
 .../internal/cache/FixedPRSinglehopDUnitTest.java  |   1 -
 .../cache/PRCacheListenerInvocationTest.java       |  86 ++
 ...istenerWithInterestPolicyAllInvocationTest.java |  70 ++
 .../cache/PartitionedRegionCloseDUnitTest.java     | 196 +++++
 .../internal/cache/RemoteOperationMessageTest.java |  30 +-
 .../ReplicateCacheListenerInvocationTest.java      | 327 +++++++
 .../cache/ha/HARQueueNewImplDUnitTest.java         |  16 +-
 .../cache/partitioned/PartitionMessageTest.java    |  32 +-
 .../BackupInspectorIntegrationTest.java            |   2 +-
 .../cache/persistence/UnixScriptGeneratorTest.java | 118 +++
 .../persistence/WindowsScriptGeneratorTest.java    | 120 +++
 .../tier/sockets/ClientProxyWithDeltaTest.java     | 308 +++++++
 .../sockets/ClientWithInterestFailoverTest.java    | 280 ++++++
 .../DataSerializerPropogationDUnitTest.java        |   3 +-
 .../RegisterInterestServerMetaDataTest.java        | 272 ++++++
 .../tier/sockets/ServerConnectionFactoryTest.java  |  18 +-
 .../cache/tier/sockets/ServerConnectionTest.java   |   6 +-
 .../versions/RegionVersionVectorJUnitTest.java     |  68 +-
 .../internal/statistics/LinuxSystemStatsTest.java  | 198 +++++
 .../internal/cli/GfshParserAutoCompletionTest.java |  18 +-
 .../internal/cli/GfshParserParsingTest.java        |  10 +-
 .../cli/commands/CreateIndexCommandTest.java       | 134 +++
 .../cli/commands/CreateRegionCommandDUnitTest.java | 334 +++-----
 .../cli/commands/CreateRegionCommandTest.java      |  16 -
 .../commands/DestroyRegionCommandDUnitTest.java    | 420 +++------
 .../cli/commands/DestroyRegionCommandTest.java     |  76 ++
 ...Test.java => IndexCommandsIntegrationTest.java} | 194 ++---
 .../cli/commands/RemoveCommandDUnitTest.java       |   5 +-
 .../cli/converters/IndexTypeConverterTest.java     |  64 ++
 .../converters/RegionPathConverterJUnitTest.java   |  90 +-
 .../cli/domain/IndexDetailsIntegrationTest.java    |  12 +-
 .../DescribeDiskStoreFunctionJUnitTest.java        | 149 ++--
 .../cli/functions/ListIndexFunctionJUnitTest.java  |  18 +-
 .../internal/cli/result/CommandResultTest.java     |   8 +-
 .../internal/cli/shell/GfshJunitTest.java          |  12 +-
 .../ImportOldClusterConfigDUnitTest.java           | 104 +++
 .../configuration/utils/XmlUtilsJUnitTest.java     | 306 +++++--
 ...rictedButMethodsDoNotExistQueriesDUnitTest.java |  24 +-
 .../geode/security/query/QuerySecurityBase.java    |   3 +
 .../QuerySecurityRestrictedQueriesDUnitTest.java   |  98 +--
 ...rityRetrictedButMethodsDoNotExistDUnitTest.java | 127 +++
 .../test/dunit/rules/CleanupDUnitVMsRule.java      |   8 +
 .../test/dunit/rules/LocatorServerStartupRule.java |   6 +
 .../apache/geode/test/dunit/rules/MemberVM.java    |   4 +
 .../geode/test/junit/rules/GfshParserRule.java     |  17 +-
 .../test/junit/rules/GfshShellConnectionRule.java  |  10 +-
 .../codeAnalysis/sanctionedDataSerializables.txt   |  44 +-
 .../geode/codeAnalysis/sanctionedSerializables.txt |   8 +-
 .../management/internal/configuration/cluster8.xml |  25 +
 .../configuration/domain/CacheElementJUnitTest.xml |  16 +
 ...LocationMapMapOfStringListOfStringAttribute.xml |  10 -
 .../query_select/the_where_clause.html.md.erb      |  24 +
 .../implementing_authentication.html.md.erb        |   7 +-
 .../implementing_authorization.html.md.erb         |   6 +
 geode-docs/reference/statistics_list.html.md.erb   |   1 +
 .../reference/topics/gfe_cache_xml.html.md.erb     |   4 +-
 .../gfsh/command-pages/connect.html.md.erb         |  15 +-
 .../gfsh/command-pages/create.html.md.erb          |   2 +-
 .../tools_modules/lucene_integration.html.md.erb   |   2 +-
 .../setting_up_a_multisite_system.html.md.erb      |  20 -
 .../apache/geode/test/compiler/ClassBuilder.java   |   7 -
 .../geode/cache/lucene/FlatFormatSerializer.java   | 119 +++
 .../org/apache/geode/cache/lucene/LuceneIndex.java |   5 +
 .../geode/cache/lucene/LuceneIndexFactory.java     |   7 +
 .../serializer => }/LuceneSerializer.java          |  18 +-
 .../AbstractPartitionedRepositoryManager.java      |   2 +-
 .../lucene/internal/IndexRepositoryFactory.java    |   4 +-
 .../internal/LuceneIndexCreationProfile.java       |  41 +-
 .../lucene/internal/LuceneIndexFactoryImpl.java    |  10 +-
 .../internal/LuceneIndexForPartitionedRegion.java  |   8 +-
 .../cache/lucene/internal/LuceneIndexImpl.java     |  17 +-
 .../cache/lucene/internal/LuceneIndexStats.java    |  11 +
 .../cache/lucene/internal/LuceneRawIndex.java      |   8 +-
 .../lucene/internal/LuceneRegionListener.java      |  11 +-
 .../cache/lucene/internal/LuceneServiceImpl.java   |  24 +-
 .../internal/PartitionedRepositoryManager.java     |   2 +-
 .../lucene/internal/RawIndexRepositoryFactory.java |   4 +-
 .../internal/RawLuceneRepositoryManager.java       |   2 +-
 .../lucene/internal/cli/LuceneCliStrings.java      |  16 +-
 .../lucene/internal/cli/LuceneIndexCommands.java   | 109 +--
 .../lucene/internal/cli/LuceneIndexDetails.java    |  19 +-
 .../cache/lucene/internal/cli/LuceneIndexInfo.java |  10 +-
 .../cli/functions/LuceneCreateIndexFunction.java   |  17 +
 .../cli/functions/LuceneDestroyIndexFunction.java  |   7 +-
 .../internal/repository/IndexRepositoryImpl.java   |  57 +-
 .../serializer/HeterogeneousLuceneSerializer.java  |  47 +-
 .../repository/serializer/PdxLuceneSerializer.java |  17 +-
 .../repository/serializer/PrimitiveSerializer.java |   9 +-
 .../serializer/ReflectionLuceneSerializer.java     |   9 +-
 .../lucene/internal/xml/LuceneIndexCreation.java   |  14 +-
 .../internal/xml/LuceneIndexXmlGenerator.java      |  20 +-
 .../lucene/internal/xml/LuceneXmlConstants.java    |   3 +-
 .../cache/lucene/internal/xml/LuceneXmlParser.java |  41 +-
 .../geode.apache.org/schema/lucene/lucene-1.0.xsd  |   8 +
 .../geode/cache/lucene/DummyLuceneSerializer.java  |  16 +-
 .../lucene/FlatFormatSerializerJUnitTest.java      |  90 ++
 .../cache/lucene/LuceneIndexCreationDUnitTest.java |  46 +
 .../LuceneIndexMaintenanceIntegrationTest.java     | 102 +++
 .../NestedObjectSeralizerIntegrationTest.java      | 314 +++++++
 .../LuceneIndexCreationProfileJUnitTest.java       |  59 +-
 .../internal/LuceneIndexFactoryImplJUnitTest.java  |  40 +-
 .../LuceneIndexForPartitionedRegionTest.java       |  44 +-
 .../LuceneIndexRecoveryHAIntegrationTest.java      |   4 +-
 .../lucene/internal/LuceneIndexStatsJUnitTest.java |  14 +
 .../internal/LuceneRegionListenerJUnitTest.java    |  67 ++
 .../internal/LuceneServiceImplJUnitTest.java       |  18 +-
 .../PartitionedRepositoryManagerJUnitTest.java     |   4 +-
 .../RawLuceneRepositoryManagerJUnitTest.java       |   2 +-
 .../internal/ValidateCommandParametersTest.java    |  40 +-
 .../internal/cli/LuceneIndexCommandsDUnitTest.java | 217 +++--
 .../internal/cli/LuceneIndexCommandsJUnitTest.java |  38 +-
 .../LuceneCreateIndexFunctionJUnitTest.java        |  29 +-
 .../LuceneDestroyIndexFunctionJUnitTest.java       |  33 +-
 .../LuceneClusterConfigurationDUnitTest.java       |  86 +-
 .../distributed/DistributedScoringJUnitTest.java   |   7 +-
 .../repository/IndexRepositoryImplJUnitTest.java   |  51 +-
 .../IndexRepositoryImplPerformanceTest.java        |   6 +-
 .../HeterogeneousLuceneSerializerJUnitTest.java    |  35 +-
 .../serializer/PdxFieldMapperJUnitTest.java        |  54 +-
 .../serializer/ReflectionFieldMapperJUnitTest.java |  21 +-
 .../serializer/SerializerTestHelper.java}          |  25 +-
 ...uceneIndexXmlGeneratorIntegrationJUnitTest.java |  78 +-
 .../xml/LuceneIndexXmlGeneratorJUnitTest.java      |  82 +-
 .../LuceneIndexXmlParserIntegrationJUnitTest.java  |  59 ++
 .../apache/geode/cache/lucene/test/Customer.java}  |  27 +-
 .../cache/lucene/test/IndexRepositorySpy.java      |   2 +-
 .../test/LuceneDeclarable2TestSerializer.java}     |  22 +-
 .../cache/lucene/test/LuceneTestSerializer.java    |  66 ++
 .../cache/lucene/test/LuceneTestUtilities.java     |   2 +
 .../org/apache/geode/cache/lucene/test/Page.java}  |  34 +-
 .../apache/geode/cache/lucene/test/Person.java}    |  28 +-
 ...ionJUnitTest.parseIndexWithSerializer.cache.xml |  37 +
 ...exWithSerializerAndDeclarableProperty.cache.xml |  45 +
 ...eIndexWithSerializerAndStringProperty.cache.xml |  40 +
 .../tier/sockets/ClientProtocolMessageHandler.java |   4 -
 .../tier/sockets/MessageExecutionContext.java      |  17 +-
 .../internal/protocol/ProtobufCachePipeline.java   |  66 ++
 .../internal/protocol/ProtobufLocatorPipeline.java |  55 ++
 .../internal/protocol/ProtobufProtocolService.java |  63 ++
 .../protobuf/ProtobufSimpleAuthenticator.java      |   4 +-
 .../protobuf/ProtobufSimpleAuthorizer.java         |   2 +-
 .../protocol/protobuf/ProtobufStreamProcessor.java |  20 +-
 .../protobuf/statistics}/NoOpStatistics.java       |  24 +-
 .../statistics/ProtobufClientStatistics.java       |  14 +-
 .../protobuf/utilities/ProtobufUtilities.java      |  35 +-
 geode-protobuf/src/main/proto/clientProtocol.proto |  15 +-
 ...cache.tier.sockets.ClientProtocolMessageHandler |   1 -
 ...ternal.cache.tier.sockets.ClientProtocolService |   1 +
 ...e.geode.security.internal.server.Authenticator} |   0
 .../GenericProtocolServerConnectionTest.java       |  39 +-
 .../geode/internal/protocol/MessageUtil.java       |  20 +-
 .../protocol/ProtobufProtocolServiceJUnitTest.java |  38 +-
 .../acceptance/CacheConnectionJUnitTest.java       |  37 +-
 .../CacheConnectionTimeoutJUnitTest.java           |  15 +-
 .../acceptance/CacheMaxConnectionJUnitTest.java    |  12 +-
 .../acceptance/CacheOperationsJUnitTest.java       |  59 +-
 .../acceptance/LocatorConnectionDUnitTest.java     | 108 +--
 .../protobuf/ProtobufStreamProcessorTest.java      |   2 +-
 .../GetAllRequestOperationHandlerJUnitTest.java    |   2 +-
 ...tAvailableServersOperationHandlerJUnitTest.java |  11 +-
 ...egionNamesRequestOperationHandlerJUnitTest.java |   2 +-
 .../GetRegionRequestOperationHandlerJUnitTest.java |   2 +-
 .../GetRequestOperationHandlerJUnitTest.java       |   2 +-
 .../PutAllRequestOperationHandlerJUnitTest.java    |   2 +-
 .../PutRequestOperationHandlerJUnitTest.java       |   2 +-
 .../RemoveRequestOperationHandlerJUnitTest.java    |   2 +-
 .../internal/cache/UpdateVersionDUnitTest.java     | 940 ++++++++++-----------
 .../cli/commands/IndexCommandOverHttpTest.java     |  12 +-
 gradle.properties                                  |   2 +-
 gradle/dependency-versions.properties              |   2 +-
 gradle/rat.gradle                                  |   1 -
 292 files changed, 8119 insertions(+), 4005 deletions(-)

diff --cc geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/LuceneRegionListener.java
index c329a5c,70e7e0b..df9dca0
--- 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
@@@ -45,14 -45,13 +46,17 @@@ public class LuceneRegionListener imple
  
    private final String[] fields;
  
+   private LuceneSerializer serializer;
+ 
    private LuceneIndexImpl luceneIndex;
  
 +  private AtomicBoolean beforeCreateInvoked = new AtomicBoolean();
 +
 +  private AtomicBoolean afterCreateInvoked = new AtomicBoolean();
 +
    public LuceneRegionListener(LuceneServiceImpl service, InternalCache cache, String indexName,
-       String regionPath, String[] fields, Analyzer analyzer, Map<String, Analyzer> fieldAnalyzers) {
+       String regionPath, String[] fields, Analyzer analyzer, Map<String, Analyzer> fieldAnalyzers,
+       LuceneSerializer serializer) {
      this.service = service;
      this.cache = cache;
      this.indexName = indexName;
diff --cc geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneIndexCreationDUnitTest.java
index 4427930,afd8c96..948ba14
--- 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,8 -14,8 +14,9 @@@
   */
  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.internal.i18n.LocalizedStrings;
  import org.apache.geode.test.dunit.SerializableRunnableIF;
  import org.apache.geode.test.junit.categories.DistributedTest;
  import org.apache.geode.util.test.TestUtil;
@@@ -325,33 -325,28 +326,54 @@@ public class LuceneIndexCreationDUnitTe
      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));
+   }
+ 
 +  @Test
 +  public void verifyAsyncEventQueueIsCleanedUpIfRegionCreationFails() {
 +    SerializableRunnableIF createIndex = get2FieldsIndexes();
 +
 +    // Create a Cache in dataStore1 with a PR defining 10 buckets
 +    dataStore1.invoke(() -> initDataStore(createIndex, RegionTestableType.PARTITION));
 +
 +    // Attempt to create a Cache in dataStore2 with a PR defining 20 buckets. This will fail.
 +    String exceptionMessage =
 +        LocalizedStrings.PartitionedRegion_THE_TOTAL_NUMBER_OF_BUCKETS_FOUND_IN_PARTITIONATTRIBUTES_0_IS_INCOMPATIBLE_WITH_THE_TOTAL_NUMBER_OF_BUCKETS_USED_BY_OTHER_DISTRIBUTED_MEMBERS_SET_THE_NUMBER_OF_BUCKETS_TO_1
 +            .toLocalizedString(new Object[] {NUM_BUCKETS * 2, NUM_BUCKETS});
 +    dataStore2.invoke(() -> initDataStore(createIndex,
 +        RegionTestableType.PARTITION_WITH_DOUBLE_BUCKETS, exceptionMessage));
 +
 +    // Verify dataStore1 has two AsyncEventQueues
 +    dataStore1.invoke(() -> verifyAsyncEventQueues(2));
 +
 +    // Verify dataStore2 has no AsyncEventQueues
 +    dataStore2.invoke(() -> verifyAsyncEventQueues(0));
 +
 +    // Create a Cache in dataStore2 with a PR defining 10 buckets. This will succeed.
 +    dataStore2.invoke(() -> initDataStore(RegionTestableType.PARTITION));
 +
 +    // Verify dataStore2 has two AsyncEventQueues
 +    dataStore2.invoke(() -> verifyAsyncEventQueues(2));
 +  }
 +
    protected String getXmlFileForTest(String testName) {
      return TestUtil.getResourcePath(getClass(),
          getClassSimpleName() + "." + testName + ".cache.xml");
@@@ -491,11 -486,27 +513,35 @@@
      };
    }
  
+   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()).create(INDEX_NAME, REGION_NAME);
+     };
+   }
++
 +  protected void initDataStore(RegionTestableType regionTestType) throws Exception {
 +    regionTestType.createDataStore(getCache(), REGION_NAME);
 +  }
 +
 +  protected void verifyAsyncEventQueues(final int expectedSize) {
 +    assertEquals(expectedSize, getCache().getAsyncEventQueues(false).size());
 +  }
  }

-- 
To stop receiving notification emails like this one, please contact
"commits@geode.apache.org" <co...@geode.apache.org>.