Merge branch 'stable-2.16' into stable-3.0

* stable-2.16:
  fixup!: Disable auto flushing during offline Lucene indexing

Change-Id: Ib20218441868b9eb0f62cebe9ec621d6a0d78837
diff --git a/java/com/google/gerrit/lucene/LuceneIndexModule.java b/java/com/google/gerrit/lucene/LuceneIndexModule.java
index 10b58c0..16fd87f 100644
--- a/java/com/google/gerrit/lucene/LuceneIndexModule.java
+++ b/java/com/google/gerrit/lucene/LuceneIndexModule.java
@@ -14,6 +14,7 @@
 
 package com.google.gerrit.lucene;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableMap;
 import com.google.gerrit.index.IndexConfig;
 import com.google.gerrit.index.project.ProjectIndex;
@@ -36,6 +37,12 @@
     return new LuceneIndexModule(ImmutableMap.of(), threads, slave, autoFlush);
   }
 
+  @VisibleForTesting
+  public static LuceneIndexModule singleVersionWithExplicitVersions(
+      Map<String, Integer> versions, int threads, boolean slave) {
+    return new LuceneIndexModule(versions, threads, slave, AutoFlush.ENABLED);
+  }
+
   public static LuceneIndexModule singleVersionWithExplicitVersions(
       Map<String, Integer> versions, int threads, boolean slave, AutoFlush autoFlush) {
     return new LuceneIndexModule(versions, threads, slave, autoFlush);
diff --git a/java/com/google/gerrit/testing/InMemoryModule.java b/java/com/google/gerrit/testing/InMemoryModule.java
index 9d07780..83b9e2b 100644
--- a/java/com/google/gerrit/testing/InMemoryModule.java
+++ b/java/com/google/gerrit/testing/InMemoryModule.java
@@ -61,7 +61,6 @@
 import com.google.gerrit.server.git.PerThreadRequestScope;
 import com.google.gerrit.server.git.SearchingChangeCacheImpl;
 import com.google.gerrit.server.git.WorkQueue;
-import com.google.gerrit.server.index.AutoFlush;
 import com.google.gerrit.server.index.IndexModule.IndexType;
 import com.google.gerrit.server.index.account.AccountSchemaDefinitions;
 import com.google.gerrit.server.index.account.AllAccountsIndexer;
@@ -305,13 +304,8 @@
       boolean slave = cfg.getBoolean("container", "slave", false);
       Class<?> clazz = Class.forName(moduleClassName);
       Method m =
-          clazz.getMethod(
-              "singleVersionWithExplicitVersions",
-              Map.class,
-              int.class,
-              boolean.class,
-              AutoFlush.class);
-      return (Module) m.invoke(null, getSingleSchemaVersions(), 0, slave, AutoFlush.ENABLED);
+          clazz.getMethod("singleVersionWithExplicitVersions", Map.class, int.class, boolean.class);
+      return (Module) m.invoke(null, getSingleSchemaVersions(), 0, slave);
     } catch (ClassNotFoundException
         | SecurityException
         | NoSuchMethodException