You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by cp...@apache.org on 2017/04/18 20:20:23 UTC

lucene-solr:jira/solr-8668: SOLR-8668: remove (and related and ) support from Solr 7.0 onwards.

Repository: lucene-solr
Updated Branches:
  refs/heads/jira/solr-8668 [created] 90206647c


SOLR-8668: remove <mergePolicy> (and related <mergeFactor> and <maxMergeDocs>) support from Solr 7.0 onwards.

This commit just starts a working branch, further (test related) changes will be needed.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/90206647
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/90206647
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/90206647

Branch: refs/heads/jira/solr-8668
Commit: 90206647cd2283f1ddfb3581d1d536989d4d771e
Parents: 43c2b23
Author: Christine Poerschke <cp...@apache.org>
Authored: Tue Apr 18 21:18:57 2017 +0100
Committer: Christine Poerschke <cp...@apache.org>
Committed: Tue Apr 18 21:18:57 2017 +0100

----------------------------------------------------------------------
 .../org/apache/solr/update/SolrIndexConfig.java | 136 +++----------------
 .../conf/solrconfig-tieredmergepolicy.xml       |  48 -------
 .../solr/collection1/conf/solrconfig-warmer.xml |  46 -------
 .../apache/solr/update/SolrIndexConfigTest.java |  27 ++--
 4 files changed, 27 insertions(+), 230 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/90206647/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
index d484e85..48547e1 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
@@ -69,14 +69,11 @@ public class SolrIndexConfig implements MapSerializable {
   private boolean effectiveUseCompoundFileSetting;
 
   public final int maxBufferedDocs;
-  public final int maxMergeDocs;
-  public final int mergeFactor;
 
   public final double ramBufferSizeMB;
 
   public final int writeLockTimeout;
   public final String lockType;
-  public final PluginInfo mergePolicyInfo;
   public final PluginInfo mergePolicyFactoryInfo;
   public final PluginInfo mergeSchedulerInfo;
   public final PluginInfo metricsInfo;
@@ -92,12 +89,9 @@ public class SolrIndexConfig implements MapSerializable {
     luceneVersion = solrConfig.luceneMatchVersion;
     effectiveUseCompoundFileSetting = false;
     maxBufferedDocs = -1;
-    maxMergeDocs = -1;
-    mergeFactor = -1;
     ramBufferSizeMB = 100;
     writeLockTimeout = -1;
     lockType = DirectoryFactory.LOCK_TYPE_NATIVE;
-    mergePolicyInfo = null;
     mergePolicyFactoryInfo = null;
     mergeSchedulerInfo = null;
     mergedSegmentWarmerInfo = null;
@@ -141,8 +135,18 @@ public class SolrIndexConfig implements MapSerializable {
 
     effectiveUseCompoundFileSetting = solrConfig.getBool(prefix+"/useCompoundFile", def.getUseCompoundFile());
     maxBufferedDocs=solrConfig.getInt(prefix+"/maxBufferedDocs",def.maxBufferedDocs);
-    maxMergeDocs=solrConfig.getInt(prefix+"/maxMergeDocs",def.maxMergeDocs);
-    mergeFactor=solrConfig.getInt(prefix+"/mergeFactor",def.mergeFactor);
+    {
+      final int maxMergeDocs = solrConfig.getInt(prefix+"/maxMergeDocs");
+      if (maxMergeDocs != 0) {
+        throw new IllegalArgumentException("Beginning with Solr 7.0, <maxMergeDocs> is no longer supported, configure it on the relevant <mergePolicyFactory> instead.");
+      }
+    }
+    {
+      final int mergeFactor = solrConfig.getInt(prefix+"/mergeFactor");
+      if (mergeFactor != 0) {
+        throw new IllegalArgumentException("Beginning with Solr 7.0, <mergeFactor> is no longer supported, configure it on the relevant <mergePolicyFactory> instead.");
+      }
+    }
     ramBufferSizeMB = solrConfig.getDouble(prefix+"/ramBufferSizeMB", def.ramBufferSizeMB);
 
     writeLockTimeout=solrConfig.getInt(prefix+"/writeLockTimeout", def.writeLockTimeout);
@@ -155,24 +159,13 @@ public class SolrIndexConfig implements MapSerializable {
       metricsInfo = infos.get(0);
     }
     mergeSchedulerInfo = getPluginInfo(prefix + "/mergeScheduler", solrConfig, def.mergeSchedulerInfo);
-    mergePolicyInfo = getPluginInfo(prefix + "/mergePolicy", solrConfig, def.mergePolicyInfo);
-    mergePolicyFactoryInfo = getPluginInfo(prefix + "/mergePolicyFactory", solrConfig, def.mergePolicyFactoryInfo);
-    if (mergePolicyInfo != null && mergePolicyFactoryInfo != null) {
-      throw new IllegalArgumentException("<mergePolicy> and <mergePolicyFactory> are mutually exclusive.");
-    }
-    if (maxMergeDocs != def.maxMergeDocs && mergePolicyFactoryInfo != null) {
-      throw new IllegalArgumentException("<maxMergeDocs> and <mergePolicyFactory> are mutually exclusive.");
-    }
-    if (mergeFactor != def.mergeFactor && mergePolicyFactoryInfo != null) {
-      throw new IllegalArgumentException("<mergeFactor> and <mergePolicyFactory> are mutually exclusive.");
+    {
+      final PluginInfo mergePolicyInfo = getPluginInfo(prefix + "/mergePolicy", solrConfig, null);
+      if (mergePolicyInfo != null) {
+        throw new IllegalArgumentException("Beginning with Solr 7.0, <mergePolicy> is no longer supported, use <mergePolicyFactory> instead.");
+      }
     }
-
-    assertWarnOrFail("Beginning with Solr 5.5, <mergePolicy> is deprecated, use <mergePolicyFactory> instead.",
-        (mergePolicyInfo == null), false);
-    assertWarnOrFail("Beginning with Solr 5.5, <maxMergeDocs> is deprecated, configure it on the relevant <mergePolicyFactory> instead.",
-        (maxMergeDocs == def.maxMergeDocs), false);
-    assertWarnOrFail("Beginning with Solr 5.5, <mergeFactor> is deprecated, configure it on the relevant <mergePolicyFactory> instead.",
-        (mergeFactor == def.mergeFactor), false);
+    mergePolicyFactoryInfo = getPluginInfo(prefix + "/mergePolicyFactory", solrConfig, def.mergePolicyFactoryInfo);
 
     String val = solrConfig.get(prefix + "/termIndexInterval", null);
     if (val != null) {
@@ -200,8 +193,6 @@ public class SolrIndexConfig implements MapSerializable {
   public Map<String, Object> toMap(Map<String, Object> map) {
     Map<String, Object> m = Utils.makeMap("useCompoundFile", effectiveUseCompoundFileSetting,
         "maxBufferedDocs", maxBufferedDocs,
-        "maxMergeDocs", maxMergeDocs,
-        "mergeFactor", mergeFactor,
         "ramBufferSizeMB", ramBufferSizeMB,
         "writeLockTimeout", writeLockTimeout,
         "lockType", lockType,
@@ -210,9 +201,7 @@ public class SolrIndexConfig implements MapSerializable {
     if (metricsInfo != null) {
       m.put("metrics", metricsInfo);
     }
-    if (mergePolicyInfo != null) {
-      m.put("mergePolicy", mergePolicyInfo);
-    } else if (mergePolicyFactoryInfo != null) {
+    if (mergePolicyFactoryInfo != null) {
       m.put("mergePolicyFactory", mergePolicyFactoryInfo);
     }
     if(mergedSegmentWarmerInfo != null) m.put("mergedSegmentWarmer",mergedSegmentWarmerInfo);
@@ -276,19 +265,12 @@ public class SolrIndexConfig implements MapSerializable {
     return iwc;
   }
 
-  private boolean useMergePolicyInfo() {
-    return mergePolicyInfo != null || maxMergeDocs != -1 || mergeFactor != -1;
-  }
-
   /**
    * Builds a MergePolicy using the configured MergePolicyFactory
    * or if no factory is configured uses the configured mergePolicy PluginInfo.
    */
   @SuppressWarnings("unchecked")
   private MergePolicy buildMergePolicy(final IndexSchema schema) {
-    if (useMergePolicyInfo()) {
-      return buildMergePolicyFromInfo(schema);
-    }
 
     final String mpfClassName;
     final MergePolicyFactoryArgs mpfArgs;
@@ -311,59 +293,6 @@ public class SolrIndexConfig implements MapSerializable {
     return mpf.getMergePolicy();
   }
 
-  /**
-   * Builds a MergePolicy, may also modify the value returned by
-   * getUseCompoundFile() for use by the IndexWriterConfig if 
-   * "useCompoundFile" is specified as an init arg for 
-   * an out of the box MergePolicy that no longer supports it
-   *
-   * @see #fixUseCFMergePolicyInitArg
-   * @see #getUseCompoundFile
-   */
-  private MergePolicy buildMergePolicyFromInfo(IndexSchema schema) {
-    final MergePolicy policy;
-    if (mergePolicyInfo == null) {
-      final SolrResourceLoader resourceLoader = schema.getResourceLoader();
-      final MergePolicyFactoryArgs mpfArgs = new MergePolicyFactoryArgs();
-      final MergePolicyFactory defaultMergePolicyFactory = resourceLoader.newInstance(
-          DEFAULT_MERGE_POLICY_FACTORY_CLASSNAME,
-          MergePolicyFactory.class,
-          NO_SUB_PACKAGES,
-          new Class[] { SolrResourceLoader.class, MergePolicyFactoryArgs.class, IndexSchema.class },
-          new Object[] { resourceLoader, mpfArgs, schema });
-      policy = defaultMergePolicyFactory.getMergePolicy();
-    } else {
-      policy = schema.getResourceLoader().newInstance(mergePolicyInfo.className, MergePolicy.class);
-    }
-
-    if (policy instanceof LogMergePolicy) {
-      LogMergePolicy logMergePolicy = (LogMergePolicy) policy;
-      fixUseCFMergePolicyInitArg(LogMergePolicy.class);
-
-      if (maxMergeDocs != -1)
-        logMergePolicy.setMaxMergeDocs(maxMergeDocs);
-
-      if (mergeFactor != -1)
-        logMergePolicy.setMergeFactor(mergeFactor);
-    } else if (policy instanceof TieredMergePolicy) {
-      TieredMergePolicy tieredMergePolicy = (TieredMergePolicy) policy;
-      fixUseCFMergePolicyInitArg(TieredMergePolicy.class);
-
-      if (mergeFactor != -1) {
-        tieredMergePolicy.setMaxMergeAtOnce(mergeFactor);
-        tieredMergePolicy.setSegmentsPerTier(mergeFactor);
-      }
-    } else if (mergeFactor != -1) {
-      log.warn("Use of <mergeFactor> cannot be configured if merge policy is not an instance of LogMergePolicy or TieredMergePolicy. The configured policy's defaults will be used.");
-    }
-
-    if (mergePolicyInfo != null) {
-      SolrPluginUtils.invokeSetters(policy, mergePolicyInfo.initArgs);
-    }
-
-    return policy;
-  }
-
   private MergeScheduler buildMergeScheduler(IndexSchema schema) {
     String msClassName = mergeSchedulerInfo == null ? SolrIndexConfig.DEFAULT_MERGE_SCHEDULER_CLASSNAME : mergeSchedulerInfo.className;
     MergeScheduler scheduler = schema.getResourceLoader().newInstance(msClassName, MergeScheduler.class);
@@ -395,31 +324,4 @@ public class SolrIndexConfig implements MapSerializable {
     return effectiveUseCompoundFileSetting;
   }
 
-  /**
-   * Lucene 4.4 removed the setUseCompoundFile(boolean) method from the two 
-   * conrete MergePolicies provided with Lucene/Solr and added it to the 
-   * IndexWriterConfig.  
-   * In the event that users have a value explicitly configured for this 
-   * setter in their MergePolicy init args, we remove it from the MergePolicy 
-   * init args, update the 'effective' useCompoundFile setting used by the 
-   * IndexWriterConfig, and warn about discontinuing to use this init arg.
-   * 
-   * @see #getUseCompoundFile
-   */
-  private void fixUseCFMergePolicyInitArg(Class c) {
-
-    if (null == mergePolicyInfo || null == mergePolicyInfo.initArgs) return;
-
-    Object useCFSArg = mergePolicyInfo.initArgs.remove("useCompoundFile");
-    if (null != useCFSArg) {
-      log.warn("Ignoring 'useCompoundFile' specified as an init arg for the <mergePolicy> since it is no directly longer supported by " + c.getSimpleName());
-      if (useCFSArg instanceof Boolean) {
-        boolean cfs = ((Boolean)useCFSArg).booleanValue();
-        log.warn("Please update your config to specify <useCompoundFile>"+cfs+"</useCompoundFile> directly in your <indexConfig> settings.");
-        effectiveUseCompoundFileSetting = cfs;
-      } else {
-        log.error("MergePolicy's 'useCompoundFile' init arg is not a boolean, can not apply back compat logic to apply to the IndexWriterConfig: " + useCFSArg.toString());
-      }
-    }
-  }
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/90206647/solr/core/src/test-files/solr/collection1/conf/solrconfig-tieredmergepolicy.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-tieredmergepolicy.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-tieredmergepolicy.xml
deleted file mode 100644
index 026b3c7..0000000
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-tieredmergepolicy.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" ?>
-
-<!--
- 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.
--->
-
-<config>
-  <luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion>
-  <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.RAMDirectoryFactory}"/>
-  <schemaFactory class="ClassicIndexSchemaFactory"/>
-
-  <indexConfig>
-    <mergeFactor>7</mergeFactor>
-    <mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
-      <int name="maxMergeAtOnceExplicit">19</int>
-      <int name="segmentsPerTier">9</int>
-      <double name="noCFSRatio">0.1</double>
-
-      <!-- Setter for this was moved from the MergePolicies to IndexWriterConfig
-           in Lucene 4.4, so we should treat it the same as a <useCompoundFile>
-           setting and log a warning (instead of failing because the setter is 
-           gone).
-      -->
-      <bool name="useCompoundFile">${useCompoundFile:false}</bool>
-
-    </mergePolicy>
-    <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler">
-      <int name="maxMergeCount">987</int>
-      <int name="maxThreadCount">42</int>
-    </mergeScheduler>
-  </indexConfig>
-
-  <requestHandler name="standard" class="solr.StandardRequestHandler"></requestHandler>
-
-</config>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/90206647/solr/core/src/test-files/solr/collection1/conf/solrconfig-warmer.xml
----------------------------------------------------------------------
diff --git a/solr/core/src/test-files/solr/collection1/conf/solrconfig-warmer.xml b/solr/core/src/test-files/solr/collection1/conf/solrconfig-warmer.xml
deleted file mode 100644
index 691c94b..0000000
--- a/solr/core/src/test-files/solr/collection1/conf/solrconfig-warmer.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" ?>
-
-<!--
- 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.
--->
-
-<!-- a basic solrconfig that tests can use when they want simple minimal solrconfig/schema
-     DO NOT ADD THINGS TO THIS CONFIG! -->
-<config>
-  <luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion>
-  <dataDir>${solr.data.dir:}</dataDir>
-  <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.RAMDirectoryFactory}"/>
-  <schemaFactory class="ClassicIndexSchemaFactory"/>
-  <requestHandler name="standard" class="solr.StandardRequestHandler"></requestHandler>
-  
-  <indexConfig>
-    <!-- we don't use solrconfig.snippet.randomindexconfig.xml here
-         because we explicitly test that a mergedSegmentWarmer works, 
-         but we can still test some of the other randomized indexConfig 
-         settings
-    -->
-    <mergedSegmentWarmer class="org.apache.lucene.index.SimpleMergedSegmentWarmer"/>
-    <mergePolicy class="org.apache.solr.util.RandomMergePolicy" />
-  
-    <useCompoundFile>${useCompoundFile}</useCompoundFile>
-    <maxBufferedDocs>${solr.tests.maxBufferedDocs}</maxBufferedDocs>
-    <ramBufferSizeMB>${solr.tests.ramBufferSizeMB}</ramBufferSizeMB>
-    <mergeScheduler class="${solr.tests.mergeScheduler}" />
-    <writeLockTimeout>1000</writeLockTimeout>
-    <commitLockTimeout>10000</commitLockTimeout>
-    <lockType>single</lockType>
-  </indexConfig>
-</config>

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/90206647/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java b/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
index 0f53f33..db97db7 100644
--- a/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
+++ b/solr/core/src/test/org/apache/solr/update/SolrIndexConfigTest.java
@@ -46,9 +46,7 @@ import org.junit.Test;
 public class SolrIndexConfigTest extends SolrTestCaseJ4 {
 
   private static final String solrConfigFileName = "solrconfig.xml";
-  private static final String solrConfigFileNameWarmerRandomMergePolicy = "solrconfig-warmer.xml";
   private static final String solrConfigFileNameWarmerRandomMergePolicyFactory = "solrconfig-warmer-randommergepolicyfactory.xml";
-  private static final String solrConfigFileNameTieredMergePolicy = "solrconfig-tieredmergepolicy.xml";
   private static final String solrConfigFileNameTieredMergePolicyFactory = "solrconfig-tieredmergepolicyfactory.xml";
   private static final String solrConfigFileNameSortingMergePolicyFactory = "solrconfig-sortingmergepolicyfactory.xml";
   private static final String schemaFileName = "schema.xml";
@@ -63,7 +61,7 @@ public class SolrIndexConfigTest extends SolrTestCaseJ4 {
   @Test
   public void testFailingSolrIndexConfigCreation() {
     try {
-      SolrConfig solrConfig = new SolrConfig(random().nextBoolean() ? "bad-mp-solrconfig.xml" : "bad-mpf-solrconfig.xml");
+      SolrConfig solrConfig = new SolrConfig("bad-mpf-solrconfig.xml");
       SolrIndexConfig solrIndexConfig = new SolrIndexConfig(solrConfig, null, null);
       IndexSchema indexSchema = IndexSchemaFactory.buildIndexSchema(schemaFileName, solrConfig);
       h.getCore().setLatestSchema(indexSchema);
@@ -76,7 +74,7 @@ public class SolrIndexConfigTest extends SolrTestCaseJ4 {
 
   @Test
   public void testTieredMPSolrIndexConfigCreation() throws Exception {
-    String solrConfigFileName = random().nextBoolean() ? solrConfigFileNameTieredMergePolicy : solrConfigFileNameTieredMergePolicyFactory;
+    String solrConfigFileName = solrConfigFileNameTieredMergePolicyFactory;
     SolrConfig solrConfig = new SolrConfig(instanceDir, solrConfigFileName, null);
     SolrIndexConfig solrIndexConfig = new SolrIndexConfig(solrConfig, null, null);
     IndexSchema indexSchema = IndexSchemaFactory.buildIndexSchema(schemaFileName, solrConfig);
@@ -121,7 +119,7 @@ public class SolrIndexConfigTest extends SolrTestCaseJ4 {
   }
 
   public void testMergedSegmentWarmerIndexConfigCreation() throws Exception {
-    SolrConfig solrConfig = new SolrConfig(instanceDir, random().nextBoolean() ? solrConfigFileNameWarmerRandomMergePolicy : solrConfigFileNameWarmerRandomMergePolicyFactory, null);
+    SolrConfig solrConfig = new SolrConfig(instanceDir, solrConfigFileNameWarmerRandomMergePolicyFactory, null);
     SolrIndexConfig solrIndexConfig = new SolrIndexConfig(solrConfig, null, null);
     assertNotNull(solrIndexConfig);
     assertNotNull(solrIndexConfig.mergedSegmentWarmerInfo);
@@ -134,20 +132,14 @@ public class SolrIndexConfigTest extends SolrTestCaseJ4 {
   }
 
   public void testToMap() throws Exception {
-    final String solrConfigFileNameWarmer = random().nextBoolean() ? solrConfigFileNameWarmerRandomMergePolicy : solrConfigFileNameWarmerRandomMergePolicyFactory;
-    final String solrConfigFileNameTMP = random().nextBoolean() ? solrConfigFileNameTieredMergePolicy : solrConfigFileNameTieredMergePolicyFactory;
+    final String solrConfigFileNameWarmer = solrConfigFileNameWarmerRandomMergePolicyFactory;
+    final String solrConfigFileNameTMP = solrConfigFileNameTieredMergePolicyFactory;
     final String solrConfigFileName = (random().nextBoolean() ? solrConfigFileNameWarmer : solrConfigFileNameTMP);
     SolrConfig solrConfig = new SolrConfig(instanceDir, solrConfigFileName, null);
     SolrIndexConfig solrIndexConfig = new SolrIndexConfig(solrConfig, null, null);
     assertNotNull(solrIndexConfig);
-    if (solrConfigFileName.equals(solrConfigFileNameTieredMergePolicyFactory) ||
-        solrConfigFileName.equals(solrConfigFileNameWarmerRandomMergePolicyFactory)) {
-      assertNotNull(solrIndexConfig.mergePolicyFactoryInfo);
-    } else {
-      assertNotNull(solrIndexConfig.mergePolicyInfo);
-    }
-    if (solrConfigFileName.equals(solrConfigFileNameWarmerRandomMergePolicy) ||
-        solrConfigFileName.equals(solrConfigFileNameWarmerRandomMergePolicyFactory)) {
+    assertNotNull(solrIndexConfig.mergePolicyFactoryInfo);
+    if (solrConfigFileName.equals(solrConfigFileNameWarmerRandomMergePolicyFactory)) {
       assertNotNull(solrIndexConfig.mergedSegmentWarmerInfo);
     } else {
       assertNull(solrIndexConfig.mergedSegmentWarmerInfo);
@@ -160,8 +152,6 @@ public class SolrIndexConfigTest extends SolrTestCaseJ4 {
     ++mSizeExpected; assertTrue(m.get("useCompoundFile") instanceof Boolean);
 
     ++mSizeExpected; assertTrue(m.get("maxBufferedDocs") instanceof Integer);
-    ++mSizeExpected; assertTrue(m.get("maxMergeDocs") instanceof Integer);
-    ++mSizeExpected; assertTrue(m.get("mergeFactor") instanceof Integer);
 
     ++mSizeExpected; assertTrue(m.get("ramBufferSizeMB") instanceof Double);
 
@@ -191,8 +181,7 @@ public class SolrIndexConfigTest extends SolrTestCaseJ4 {
       ++mSizeExpected; assertTrue(m.get("mergePolicy") instanceof MapSerializable);
       assertNull(m.get("mergePolicyFactory"));
     }
-    if (solrConfigFileName.equals(solrConfigFileNameWarmerRandomMergePolicy) ||
-        solrConfigFileName.equals(solrConfigFileNameWarmerRandomMergePolicyFactory)) {
+    if (solrConfigFileName.equals(solrConfigFileNameWarmerRandomMergePolicyFactory)) {
       ++mSizeExpected; assertTrue(m.get("mergedSegmentWarmer") instanceof MapSerializable);
     } else {
       assertNull(m.get("mergedSegmentWarmer"));