You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by cp...@apache.org on 2021/06/25 16:24:34 UTC

[solr] branch main updated: SOLR-15485: discourage Collections.singleton.forEach use (#179)

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

cpoerschke pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new 00e23c1  SOLR-15485: discourage Collections.singleton.forEach use (#179)
00e23c1 is described below

commit 00e23c119d4e2626e23d1bd2995494f669bebc1d
Author: Christine Poerschke <cp...@apache.org>
AuthorDate: Fri Jun 25 17:24:24 2021 +0100

    SOLR-15485: discourage Collections.singleton.forEach use (#179)
---
 gradle/validation/validate-source-patterns.gradle        |  1 +
 .../src/java/org/apache/solr/core/CoreContainer.java     |  5 +----
 .../org/apache/solr/BaseDistributedSearchTestCase.java   |  4 +---
 .../apache/solr/cloud/AbstractFullDistribZkTestBase.java | 16 ++++------------
 4 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/gradle/validation/validate-source-patterns.gradle b/gradle/validation/validate-source-patterns.gradle
index 74a5af3..c39b4aa 100644
--- a/gradle/validation/validate-source-patterns.gradle
+++ b/gradle/validation/validate-source-patterns.gradle
@@ -156,6 +156,7 @@ class ValidateSourcePatternsTask extends DefaultTask {
       (~$/\$$Header\b/$) : 'svn keyword',
       (~$/\$$Source\b/$) : 'svn keyword',
       (~$/^\uFEFF/$) : 'UTF-8 byte order mark',
+      (~$/Collections\.singleton.*forEach/$) : 'potentially unnecessary forEach() use with Collections.singleton',
       (~$/import java\.lang\.\w+;/$) : 'java.lang import is unnecessary'
     ]
 
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 90908cb..5c93c8f 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -125,7 +125,6 @@ import java.security.spec.InvalidKeySpecException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.Date;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -1143,9 +1142,7 @@ public class CoreContainer {
       } finally {
         try {
           if (updateShardHandler != null) {
-            customThreadPool.submit(() -> Collections.singleton(shardHandlerFactory).parallelStream().forEach(c -> {
-              updateShardHandler.close();
-            }));
+            customThreadPool.submit(() -> updateShardHandler.close());
           }
         } finally {
           try {
diff --git a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
index f91f22f..6759af8 100644
--- a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
@@ -414,9 +414,7 @@ public abstract class BaseDistributedSearchTestCase extends SolrTestCaseJ4 {
   protected void destroyServers() throws Exception {
     ExecutorService customThreadPool = ExecutorUtil.newMDCAwareCachedThreadPool(new SolrNamedThreadFactory("closeThreadPool"));
     
-    customThreadPool.submit(() -> Collections.singleton(controlClient).parallelStream().forEach(c -> {
-      IOUtils.closeQuietly(c);
-    }));
+    customThreadPool.submit(() -> IOUtils.closeQuietly(controlClient));
 
     customThreadPool.submit(() -> {
       try {
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
index 3b200ac..2ed7ae3 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
@@ -1718,25 +1718,17 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
   protected void destroyServers() throws Exception {
     ExecutorService customThreadPool = ExecutorUtil.newMDCAwareCachedThreadPool(new SolrNamedThreadFactory("closeThreadPool"));
     
-    customThreadPool.submit(() -> Collections.singleton(commonCloudSolrClient).parallelStream().forEach(c -> {
-      IOUtils.closeQuietly(c);
-    }));
+    customThreadPool.submit(() -> IOUtils.closeQuietly(commonCloudSolrClient));
     
-    customThreadPool.submit(() -> Collections.singleton(controlClient).parallelStream().forEach(c -> {
-      IOUtils.closeQuietly(c);
-    }));
+    customThreadPool.submit(() -> IOUtils.closeQuietly(controlClient));
     
     customThreadPool.submit(() -> coreClients.parallelStream().forEach(c -> {
       IOUtils.closeQuietly(c);
     }));
 
-    customThreadPool.submit(() -> Collections.singletonList(controlClientCloud).parallelStream().forEach(c -> {
-      IOUtils.closeQuietly(c);
-    }));
+    customThreadPool.submit(() -> IOUtils.closeQuietly(controlClientCloud));
 
-    customThreadPool.submit(() -> Collections.singletonList(cloudClient).parallelStream().forEach(c -> {
-      IOUtils.closeQuietly(c);
-    }));
+    customThreadPool.submit(() -> IOUtils.closeQuietly(cloudClient));
 
     ExecutorUtil.shutdownAndAwaitTermination(customThreadPool);