You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by er...@apache.org on 2020/07/13 02:55:27 UTC

[lucene-solr] branch branch_8x updated: SOLR-13939: https://issues.apache.org/jira/browse/SOLR-13939

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

erick pushed a commit to branch branch_8x
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/branch_8x by this push:
     new 1ee5490  SOLR-13939: https://issues.apache.org/jira/browse/SOLR-13939
1ee5490 is described below

commit 1ee54905176118eecef600bbb037da42d73215f4
Author: Erick Erickson <Er...@gmail.com>
AuthorDate: Sun Jul 12 22:55:17 2020 -0400

    SOLR-13939: https://issues.apache.org/jira/browse/SOLR-13939
---
 .../lucene/queryparser/classic/FastCharStream.java |  9 +++++++++
 .../flexible/standard/parser/FastCharStream.java   |  9 +++++++++
 .../surround/parser/FastCharStream.java            |  9 +++++++++
 solr/CHANGES.txt                                   |  3 +++
 .../solr/handler/dataimport/ContextImpl.java       |  3 +--
 .../handler/dataimport/EntityProcessorWrapper.java |  4 ++--
 .../handler/dataimport/XPathEntityProcessor.java   |  3 +--
 .../dataimport/TestFileListEntityProcessor.java    |  6 +++---
 .../dataimport/TestLineEntityProcessor.java        |  6 +++---
 .../solr/response/VelocityResponseWriter.java      |  2 --
 .../solr/cloud/ShardLeaderElectionContextBase.java |  8 ++++----
 .../java/org/apache/solr/handler/IndexFetcher.java | 22 ++++++++--------------
 .../apache/solr/handler/ReplicationHandler.java    |  3 +--
 .../org/apache/solr/parser/FastCharStream.java     | 17 ++++++++++++++++-
 .../solr/search/facet/FacetFieldProcessor.java     |  2 +-
 .../distance/GeoDistValueSourceParser.java         |  3 +--
 .../java/org/apache/solr/servlet/HttpSolrCall.java |  3 +--
 .../TestReplicationHandlerDiskOverFlow.java        |  2 +-
 .../handler/admin/MetricsHistoryHandlerTest.java   |  2 +-
 .../solrj/cloud/autoscaling/PolicyHelper.java      |  3 +--
 .../solrj/request/JavaBinUpdateRequestCodec.java   |  2 +-
 .../java/org/apache/solr/common/SolrDocument.java  |  2 ++
 .../org/apache/solr/common/SolrInputDocument.java  |  1 +
 .../solr/common/cloud/CompositeIdRouter.java       |  3 +--
 .../org/apache/solr/common/cloud/DocRouter.java    |  3 +--
 .../org/apache/solr/common/SolrDocumentTest.java   |  2 +-
 26 files changed, 82 insertions(+), 50 deletions(-)

diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
index d528111..9439bc0 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/FastCharStream.java
@@ -105,11 +105,20 @@ public final class FastCharStream implements CharStream {
     }
   }
 
+  /**
+   * Returns the column position of the character last read.
+   * @deprecated see: #getEndColumn
+   */
+  @Deprecated
   @Override
   public final int getColumn() {
     return bufferStart + bufferPosition;
   }
+  /**
+   * @deprecated see #getEndLine
+   */
   @Override
+  @Deprecated
   public final int getLine() {
     return 1;
   }
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java
index ee0f9af..df27356 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/flexible/standard/parser/FastCharStream.java
@@ -105,10 +105,19 @@ public final class FastCharStream implements CharStream {
     }
   }
 
+  /**
+   * Returns the column position of the character last read.
+   * @deprecated see #getEndColumn
+   */
+  @Deprecated
   @Override
   public final int getColumn() {
     return bufferStart + bufferPosition;
   }
+  /**
+   * @deprecated see #getEndLine
+   */
+  @Deprecated
   @Override
   public final int getLine() {
     return 1;
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java
index 3a033f5..ddd2b73 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/surround/parser/FastCharStream.java
@@ -104,10 +104,19 @@ public final class FastCharStream implements CharStream {
     }
   }
 
+  /**
+   * Returns the column position of the character last read.
+   * @deprecated see: #getEndColumn
+   */
+  @Deprecated
   @Override
   public final int getColumn() {
     return bufferStart + bufferPosition;
   }
+  /**
+   * @deprecated see: #getEndLine
+   */
+  @Deprecated
   @Override
   public final int getLine() {
     return 1;
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 9888831..74aa270 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -49,6 +49,9 @@ Other Changes
 * SOLR-10742: SolrCores.getNamesForCore is quite inefficient and blocks other core operations. 
   NOTE: this experimental method has been removed (Erick Erickson)
 
+* SOLR-13939: Extract any non-gradle related patches (deprecations, URL fixes, etc.) from gradle effort. NOTE:
+  this will be in several separate commits/pushes. (Erick Erickson)
+
 ==================  8.6.0 ==================
 
 Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java
index a47434e..3d9f386 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ContextImpl.java
@@ -84,9 +84,8 @@ public class ContextImpl extends Context {
   }
 
   @Override
-  @SuppressWarnings({"unchecked"})
   public List<Map<String, String>> getAllEntityFields() {
-    return epw==null || epw.getEntity() == null ? Collections.EMPTY_LIST : epw.getEntity().getAllFieldsList();
+    return epw==null || epw.getEntity() == null ? Collections.emptyList() : epw.getEntity().getAllFieldsList();
   }
 
   @Override
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/EntityProcessorWrapper.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/EntityProcessorWrapper.java
index 1b564ea..927a30c 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/EntityProcessorWrapper.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/EntityProcessorWrapper.java
@@ -79,12 +79,12 @@ public class EntityProcessorWrapper extends EntityProcessor {
 
   }
 
-  @SuppressWarnings("unchecked")
+  @SuppressWarnings({"unchecked"})
   void loadTransformers() {
     String transClasses = context.getEntityAttribute(TRANSFORMER);
 
     if (transClasses == null) {
-      transformers = Collections.EMPTY_LIST;
+      transformers = Collections.emptyList();
       return;
     }
 
diff --git a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java
index 0373712..67dd80e 100644
--- a/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/XPathEntityProcessor.java
@@ -184,8 +184,7 @@ public class XPathEntityProcessor extends EntityProcessorBase {
       }
     }
     String url = context.getEntityAttribute(URL);
-    @SuppressWarnings({"unchecked"})
-    List<String> l = url == null ? Collections.EMPTY_LIST : resolver.getVariables(url);
+    List<String> l = url == null ? Collections.emptyList() : resolver.getVariables(url);
     for (String s : l) {
       if (s.startsWith(entityName + ".")) {
         if (placeHolderVariables == null)
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
index c4b4ab0..cf0f3a3 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestFileListEntityProcessor.java
@@ -55,7 +55,7 @@ public class TestFileListEntityProcessor extends AbstractDataImportHandlerTestCa
             FileListEntityProcessor.FILE_NAME, "xml$",
             FileListEntityProcessor.BASE_DIR, tmpdir.getAbsolutePath());
     Context c = getContext(null,
-            new VariableResolver(), null, Context.FULL_DUMP, Collections.EMPTY_LIST, attrs);
+            new VariableResolver(), null, Context.FULL_DUMP, Collections.emptyList(), attrs);
     FileListEntityProcessor fileListEntityProcessor = new FileListEntityProcessor();
     fileListEntityProcessor.init(c);
     List<String> fList = new ArrayList<>();
@@ -122,10 +122,10 @@ public class TestFileListEntityProcessor extends AbstractDataImportHandlerTestCa
     assertEquals(l, new HashSet<>(fList));
   }
 
-  @SuppressWarnings("unchecked")
   static List<String> getFiles(VariableResolver resolver, @SuppressWarnings({"rawtypes"})Map attrs) {
+    @SuppressWarnings({"unchecked"})
     Context c = getContext(null,
-            resolver, null, Context.FULL_DUMP, Collections.EMPTY_LIST, attrs);
+            resolver, null, Context.FULL_DUMP, Collections.emptyList(), attrs);
     FileListEntityProcessor fileListEntityProcessor = new FileListEntityProcessor();
     fileListEntityProcessor.init(c);
     List<String> fList = new ArrayList<>();
diff --git a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java
index 492e18a..3563e6a 100644
--- a/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java
+++ b/solr/contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/TestLineEntityProcessor.java
@@ -97,7 +97,7 @@ public class TestLineEntityProcessor extends AbstractDataImportHandlerTestCase {
             new VariableResolver(),  //resolver
             getDataSource(filecontents),   //parentDataSource
             Context.FULL_DUMP,                             //currProcess
-            Collections.EMPTY_LIST,        //entityFields
+            Collections.emptyList(),        //entityFields
             attrs                          //entityAttrs
     );
     LineEntityProcessor ep = new LineEntityProcessor();
@@ -137,7 +137,7 @@ public class TestLineEntityProcessor extends AbstractDataImportHandlerTestCase {
             new VariableResolver(),  //resolver
             getDataSource(filecontents),   //parentDataSource
             Context.FULL_DUMP,                             //currProcess
-            Collections.EMPTY_LIST,        //entityFields
+            Collections.emptyList(),        //entityFields
             attrs                          //entityAttrs
     );
     LineEntityProcessor ep = new LineEntityProcessor();
@@ -175,7 +175,7 @@ public class TestLineEntityProcessor extends AbstractDataImportHandlerTestCase {
             new VariableResolver(),  //resolver
             getDataSource(filecontents),   //parentDataSource
             Context.FULL_DUMP,                             //currProcess
-            Collections.EMPTY_LIST,        //entityFields
+            Collections.emptyList(),        //entityFields
             attrs                          //entityAttrs
     );
     LineEntityProcessor ep = new LineEntityProcessor();
diff --git a/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java b/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
index a4ddf55..58d8b2b 100644
--- a/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
+++ b/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
@@ -19,7 +19,6 @@ package org.apache.solr.response;
 import java.io.File;
 import java.io.FilePermission;
 import java.io.IOException;
-import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.StringWriter;
 import java.io.Writer;
@@ -130,7 +129,6 @@ public class VelocityResponseWriter implements QueryResponseWriter, SolrCoreAwar
   public void inform(SolrCore core) {
     // need to leverage SolrResourceLoader, so load init.properties.file here instead of init()
     if (initPropertiesFileName != null) {
-      InputStream is = null;
       try {
         velocityInitProps.load(new InputStreamReader(core.getResourceLoader().openResource(initPropertiesFileName), StandardCharsets.UTF_8));
       } catch (IOException e) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
index a9afc8d..a9da3de 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
@@ -19,10 +19,10 @@ package org.apache.solr.cloud;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;
+import java.nio.file.Paths;
 import java.util.List;
 import java.util.ArrayList;
 
-import org.apache.hadoop.fs.Path;
 import org.apache.solr.cloud.overseer.OverseerAction;
 import org.apache.solr.common.SolrException;
 import org.apache.solr.common.SolrException.ErrorCode;
@@ -71,7 +71,7 @@ class ShardLeaderElectionContextBase extends ElectionContext {
     this.shardId = shardId;
     this.collection = collection;
 
-    String parent = new Path(leaderPath).getParent().toString();
+    String parent = Paths.get(leaderPath).getParent().toString();
     ZkCmdExecutor zcmd = new ZkCmdExecutor(30000);
     // only if /collections/{collection} exists already do we succeed in creating this path
     log.info("make sure parent is created {}", parent);
@@ -99,7 +99,7 @@ class ShardLeaderElectionContextBase extends ElectionContext {
           // version whenever a leader registers.
           log.debug("Removing leader registration node on cancel: {} {}", leaderPath, leaderZkNodeParentVersion);
           List<Op> ops = new ArrayList<>(2);
-          ops.add(Op.check(new Path(leaderPath).getParent().toString(), leaderZkNodeParentVersion));
+          ops.add(Op.check(Paths.get(leaderPath).getParent().toString(), leaderZkNodeParentVersion));
           ops.add(Op.delete(leaderPath, -1));
           zkClient.multi(ops, true);
         } catch (InterruptedException e) {
@@ -119,7 +119,7 @@ class ShardLeaderElectionContextBase extends ElectionContext {
       throws KeeperException, InterruptedException, IOException {
     // register as leader - if an ephemeral is already there, wait to see if it goes away
 
-    String parent = new Path(leaderPath).getParent().toString();
+    String parent = Paths.get(leaderPath).getParent().toString();
     try {
       RetryUtil.retryOnThrowable(NodeExistsException.class, 60000, 5000, () -> {
         synchronized (lock) {
diff --git a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
index 46c009c..e78028e 100644
--- a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
+++ b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
@@ -1489,7 +1489,7 @@ public class IndexFetcher {
   @SuppressWarnings({"unchecked"})
   private Collection<Map<String, Object>> getModifiedConfFiles(List<Map<String, Object>> confFilesToDownload) {
     if (confFilesToDownload == null || confFilesToDownload.isEmpty())
-      return Collections.EMPTY_LIST;
+      return Collections.emptyList();
     //build a map with alias/name as the key
     @SuppressWarnings({"rawtypes"})
     Map<String, Map<String, Object>> nameVsFile = new HashMap<>();
@@ -1512,7 +1512,7 @@ public class IndexFetcher {
         nameVsFile.remove(name); //checksums are same so the file need not be downloaded
       }
     }
-    return nameVsFile.isEmpty() ? Collections.EMPTY_LIST : nameVsFile.values();
+    return nameVsFile.isEmpty() ? Collections.emptyList() : nameVsFile.values();
   }
 
   /**
@@ -1570,49 +1570,43 @@ public class IndexFetcher {
     return timeElapsed;
   }
 
-  @SuppressWarnings({"unchecked"})
   List<Map<String, Object>> getTlogFilesToDownload() {
     //make a copy first because it can be null later
     List<Map<String, Object>> tmp = tlogFilesToDownload;
     //create a new instance. or else iterator may fail
-    return tmp == null ? Collections.EMPTY_LIST : new ArrayList<>(tmp);
+    return tmp == null ? Collections.emptyList() : new ArrayList<>(tmp);
   }
 
-  @SuppressWarnings({"unchecked"})
   List<Map<String, Object>> getTlogFilesDownloaded() {
     //make a copy first because it can be null later
     List<Map<String, Object>> tmp = tlogFilesDownloaded;
     // NOTE: it's safe to make a copy of a SynchronizedCollection(ArrayList)
-    return tmp == null ? Collections.EMPTY_LIST : new ArrayList<>(tmp);
+    return tmp == null ? Collections.emptyList() : new ArrayList<>(tmp);
   }
 
-  @SuppressWarnings({"unchecked"})
   List<Map<String, Object>> getConfFilesToDownload() {
     //make a copy first because it can be null later
     List<Map<String, Object>> tmp = confFilesToDownload;
     //create a new instance. or else iterator may fail
-    return tmp == null ? Collections.EMPTY_LIST : new ArrayList<>(tmp);
+    return tmp == null ? Collections.emptyList() : new ArrayList<>(tmp);
   }
 
-  @SuppressWarnings({"unchecked"})
   List<Map<String, Object>> getConfFilesDownloaded() {
     //make a copy first because it can be null later
     List<Map<String, Object>> tmp = confFilesDownloaded;
     // NOTE: it's safe to make a copy of a SynchronizedCollection(ArrayList)
-    return tmp == null ? Collections.EMPTY_LIST : new ArrayList<>(tmp);
+    return tmp == null ? Collections.emptyList() : new ArrayList<>(tmp);
   }
 
-  @SuppressWarnings({"unchecked"})
   List<Map<String, Object>> getFilesToDownload() {
     //make a copy first because it can be null later
     List<Map<String, Object>> tmp = filesToDownload;
-    return tmp == null ? Collections.EMPTY_LIST : new ArrayList<>(tmp);
+    return tmp == null ? Collections.emptyList() : new ArrayList<>(tmp);
   }
 
-  @SuppressWarnings({"unchecked"})
   List<Map<String, Object>> getFilesDownloaded() {
     List<Map<String, Object>> tmp = filesDownloaded;
-    return tmp == null ? Collections.EMPTY_LIST : new ArrayList<>(tmp);
+    return tmp == null ? Collections.emptyList() : new ArrayList<>(tmp);
   }
 
   // TODO: currently does not reflect conf files
diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
index d6b779e..ec711dc 100644
--- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
@@ -621,7 +621,6 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
     rsp.add(STATUS, OK_STATUS);
   }
 
-  @SuppressWarnings("unchecked")
   private void getFileList(SolrParams solrParams, SolrQueryResponse rsp) {
     final IndexDeletionPolicyWrapper delPol = core.getDeletionPolicy();
     final long gen = Long.parseLong(solrParams.required().get(GENERATION));
@@ -631,7 +630,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
       if (gen == -1) {
         commit = delPol.getAndSaveLatestCommit();
         if (null == commit) {
-          rsp.add(CMD_GET_FILE_LIST, Collections.EMPTY_LIST);
+          rsp.add(CMD_GET_FILE_LIST, Collections.emptyList());
           return;
         }
       } else {
diff --git a/solr/core/src/java/org/apache/solr/parser/FastCharStream.java b/solr/core/src/java/org/apache/solr/parser/FastCharStream.java
index b9cb27a..abd4afb 100644
--- a/solr/core/src/java/org/apache/solr/parser/FastCharStream.java
+++ b/solr/core/src/java/org/apache/solr/parser/FastCharStream.java
@@ -109,7 +109,22 @@ public final class FastCharStream implements CharStream {
     } catch (IOException e) {
     }
   }
-
+  @Deprecated
+  /**
+   * Returns the column position of the character last read.
+   * @deprecated see #getEndColumn
+   */
+  public final int getLine() {
+    return 1;
+  }
+  @Deprecated
+  /**
+   * Returns the column position of the character last read.
+   * @deprecated see #getEndColumn
+   */
+  public final int getColumn() {
+    return bufferStart + bufferPosition;
+  }
   @Override
   public final int getEndColumn() {
     return bufferStart + bufferPosition;
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessor.java b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessor.java
index c5fcd5a..7ebef22 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessor.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldProcessor.java
@@ -924,7 +924,7 @@ abstract class FacetFieldProcessor extends FacetProcessor<FacetField> {
 
   @SuppressWarnings({"unchecked"})
   static <T> List<T> asList(Object list) {
-    return list != null ? (List<T>)list : Collections.EMPTY_LIST;
+    return list != null ? (List<T>)list : Collections.emptyList();
   }
 
   @SuppressWarnings({"rawtypes", "unchecked"})
diff --git a/solr/core/src/java/org/apache/solr/search/function/distance/GeoDistValueSourceParser.java b/solr/core/src/java/org/apache/solr/search/function/distance/GeoDistValueSourceParser.java
index c61763c..4c845cd 100644
--- a/solr/core/src/java/org/apache/solr/search/function/distance/GeoDistValueSourceParser.java
+++ b/solr/core/src/java/org/apache/solr/search/function/distance/GeoDistValueSourceParser.java
@@ -210,9 +210,8 @@ public class GeoDistValueSourceParser extends ValueSourceParser {
 
     final SpatialStrategy strategy;
     final DistanceUnits distanceUnits;
-    @SuppressWarnings({"unchecked"})
     public SpatialStrategyMultiValueSource(SpatialStrategy strategy, DistanceUnits distanceUnits) {
-      super(Collections.EMPTY_LIST);
+      super(Collections.emptyList());
       this.strategy = strategy;
       this.distanceUnits = distanceUnits;
     }
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index 4a9f88d..a778e47 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -1200,11 +1200,10 @@ public class HttpSolrCall {
   static final String CONTENT_LENGTH_HEADER = "Content-Length";
   List<CommandOperation> parsedCommands;
 
-  @SuppressWarnings({"unchecked"})
   public List<CommandOperation> getCommands(boolean validateInput) {
     if (parsedCommands == null) {
       Iterable<ContentStream> contentStreams = solrReq.getContentStreams();
-      if (contentStreams == null) parsedCommands = Collections.EMPTY_LIST;
+      if (contentStreams == null) parsedCommands = Collections.emptyList();
       else {
         parsedCommands = ApiBag.getCommandOperations(contentStreams.iterator().next(), getValidators(), validateInput);
       }
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
index ba4e452..6018181b 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandlerDiskOverFlow.java
@@ -196,7 +196,7 @@ public class TestReplicationHandlerDiskOverFlow extends SolrTestCaseJ4 {
                  "OK", response._getStr("status", null));
     
     assertEquals("threads encountered failures (see logs for when)",
-                 Collections.EMPTY_LIST, threadFailures);
+                 Collections.emptyList(), threadFailures);
 
     response = slaveClient.query(new SolrQuery().setQuery("*:*").setRows(0));
     assertEquals("docs in slave", docsInMaster, response.getResults().getNumFound());
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java
index 286af4a..a796f6f 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHistoryHandlerTest.java
@@ -118,7 +118,7 @@ public class MetricsHistoryHandlerTest extends SolrCloudTestCase {
   @Test
   //Commented 14-Oct-2018 @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // added 15-Sep-2018
   public void testBasic() throws Exception {
-    timeSource.sleep(10000);
+    timeSource.sleep(15000);
     List<Pair<String, Long>> list = handler.getFactory().list(100);
     // solr.jvm, solr.node, solr.collection..system
     assertEquals(list.toString(), 3, list.size());
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java
index 4066eab..a1e9fad 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java
@@ -268,8 +268,7 @@ public class PolicyHelper {
     ctx.max = max;
     ctx.session = policy.createSession(cloudManager);
     String[] t = params == null ? null : params.getParams("type");
-    @SuppressWarnings({"unchecked"})
-    List<String> types = t == null? Collections.EMPTY_LIST: Arrays.asList(t);
+    List<String> types = t == null? Collections.emptyList(): Arrays.asList(t);
 
     if(types.isEmpty() || types.contains(violation.name())) {
       List<Violation> violations = ctx.session.getViolations();
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
index 3ff6a49..6285ce6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/JavaBinUpdateRequestCodec.java
@@ -342,7 +342,7 @@ public class JavaBinUpdateRequestCodec {
 
           handler.update(sdoc, updateRequest, commitWithin, overwrite);
         }
-        return Collections.EMPTY_LIST;
+        return Collections.emptyList();
       } finally {
         super.readStringAsCharSeq = false;
 
diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrDocument.java b/solr/solrj/src/java/org/apache/solr/common/SolrDocument.java
index 1cc32a0..d7c04e9 100644
--- a/solr/solrj/src/java/org/apache/solr/common/SolrDocument.java
+++ b/solr/solrj/src/java/org/apache/solr/common/SolrDocument.java
@@ -407,6 +407,8 @@ public class SolrDocument extends SolrDocumentBase<Object, SolrDocument> impleme
    }
 
   @Override
+  
+  @Deprecated
   public int getChildDocumentCount() {
     if (_childDocuments == null) return 0;
     return _childDocuments.size();
diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java b/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java
index 860f3d5..fa88584 100644
--- a/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java
+++ b/solr/solrj/src/java/org/apache/solr/common/SolrInputDocument.java
@@ -289,6 +289,7 @@ public class SolrInputDocument extends SolrDocumentBase<SolrInputField, SolrInpu
   }
 
   @Override
+  @Deprecated
   public int getChildDocumentCount() {
     return hasChildDocuments() ? _childDocuments.size(): 0;
   }
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java b/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java
index 92efa2e..4b7acc1 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/CompositeIdRouter.java
@@ -188,13 +188,12 @@ public class CompositeIdRouter extends HashBasedRouter {
   }
 
   @Override
-  @SuppressWarnings({"unchecked"})
   public List<Range> partitionRange(int partitions, Range range) {
     int min = range.min;
     int max = range.max;
 
     assert max >= min;
-    if (partitions == 0) return Collections.EMPTY_LIST;
+    if (partitions == 0) return Collections.emptyList();
     long rangeSize = (long) max - (long) min;
     long rangeStep = Math.max(1, rangeSize / partitions);
 
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java b/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
index 02cec69..0f45231 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/DocRouter.java
@@ -170,7 +170,6 @@ public abstract class DocRouter {
    *        of variation in resulting ranges - odd ranges will be larger and even ranges will be smaller
    *        by up to that percentage.
    */
-  @SuppressWarnings({"unchecked"})
   public List<Range> partitionRange(int partitions, Range range, float fuzz) {
     int min = range.min;
     int max = range.max;
@@ -181,7 +180,7 @@ public abstract class DocRouter {
     } else if (fuzz < 0.0f) {
       fuzz = 0.0f;
     }
-    if (partitions == 0) return Collections.EMPTY_LIST;
+    if (partitions == 0) return Collections.emptyList();
     long rangeSize = (long)max - (long)min;
     long rangeStep = Math.max(1, rangeSize / partitions);
     long fuzzStep = Math.round(rangeStep * (double)fuzz / 2.0);
diff --git a/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java b/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java
index 1bcfd35..1d931a3 100644
--- a/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java
+++ b/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java
@@ -94,7 +94,7 @@ public class SolrDocumentTest extends SolrTestCase
     try { doc.getFieldValuesMap().putAll( null );        fail( "should be unsupported!" ); } catch( UnsupportedOperationException ex ){}
     try { doc.getFieldValuesMap().values();              fail( "should be unsupported!" ); } catch( UnsupportedOperationException ex ){}
     try { doc.getFieldValuesMap().remove( "key" );       fail( "should be unsupported!" ); } catch( UnsupportedOperationException ex ){}
-    try { doc.getFieldValueMap().put( "key", Collections.EMPTY_LIST ); fail( "should be unsupported!" ); } catch( UnsupportedOperationException ex ){}
+    try { doc.getFieldValueMap().put( "key", Collections.emptyList() ); fail( "should be unsupported!" ); } catch( UnsupportedOperationException ex ){}
 
     assertEquals( null, doc.getFieldValueMap().get( "aaa" ) );
     doc.setField( "aaa", "bbb" );