You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ch...@apache.org on 2020/12/21 09:39:40 UTC

[kafka] branch trunk updated: MINOR: Replace Collection.toArray(new T[size]) by Collection.toArray(new T[0]) (#9750)

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

chia7712 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 1670362  MINOR: Replace Collection.toArray(new T[size]) by Collection.toArray(new T[0]) (#9750)
1670362 is described below

commit 167036223606ace089966ce2cf3dd74e0eb19a68
Author: APaMio <75...@users.noreply.github.com>
AuthorDate: Mon Dec 21 17:38:33 2020 +0800

    MINOR: Replace Collection.toArray(new T[size]) by Collection.toArray(new T[0]) (#9750)
    
    This PR is based on the research of https://shipilev.net/blog/2016/arrays-wisdom-ancients
    
    Reviewers: Chia-Ping Tsai <ch...@gmail.com>
---
 .../org/apache/kafka/common/header/internals/RecordHeaders.java     | 2 +-
 .../java/org/apache/kafka/common/metrics/stats/Frequencies.java     | 2 +-
 .../kafka/common/security/scram/internals/ScramSaslClient.java      | 2 +-
 .../kafka/common/security/scram/internals/ScramSaslServer.java      | 2 +-
 .../main/java/org/apache/kafka/connect/runtime/rest/RestServer.java | 4 ++--
 .../java/org/apache/kafka/connect/runtime/rest/util/SSLUtils.java   | 4 ++--
 .../internals/KTableKTableAbstractJoinValueGetterSupplier.java      | 2 +-
 .../kafka/streams/kstream/internals/KTableKTableJoinMerger.java     | 2 +-
 .../kafka/streams/kstream/internals/graph/StreamSourceNode.java     | 2 +-
 .../org/apache/kafka/streams/kstream/internals/TimeWindowTest.java  | 2 +-
 .../org/apache/kafka/trogdor/coordinator/CoordinatorClient.java     | 2 +-
 .../org/apache/kafka/trogdor/fault/DegradedNetworkFaultWorker.java  | 6 +++---
 12 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/clients/src/main/java/org/apache/kafka/common/header/internals/RecordHeaders.java b/clients/src/main/java/org/apache/kafka/common/header/internals/RecordHeaders.java
index e6f05c1..7137f72 100644
--- a/clients/src/main/java/org/apache/kafka/common/header/internals/RecordHeaders.java
+++ b/clients/src/main/java/org/apache/kafka/common/header/internals/RecordHeaders.java
@@ -109,7 +109,7 @@ public class RecordHeaders implements Headers {
     }
 
     public Header[] toArray() {
-        return headers.isEmpty() ? Record.EMPTY_HEADERS : headers.toArray(new Header[headers.size()]);
+        return headers.isEmpty() ? Record.EMPTY_HEADERS : headers.toArray(new Header[0]);     
     }
 
     private void checkKey(String key) {
diff --git a/clients/src/main/java/org/apache/kafka/common/metrics/stats/Frequencies.java b/clients/src/main/java/org/apache/kafka/common/metrics/stats/Frequencies.java
index a3d7d25..36daea6 100644
--- a/clients/src/main/java/org/apache/kafka/common/metrics/stats/Frequencies.java
+++ b/clients/src/main/java/org/apache/kafka/common/metrics/stats/Frequencies.java
@@ -63,7 +63,7 @@ public class Frequencies extends SampledStat implements CompoundStat {
         if (frequencies.isEmpty()) {
             throw new IllegalArgumentException("Must specify at least one metric name");
         }
-        Frequency[] frequencyArray = frequencies.toArray(new Frequency[frequencies.size()]);
+        Frequency[] frequencyArray = frequencies.toArray(new Frequency[0]);
         return new Frequencies(2, 0.0, 1.0, frequencyArray);
     }
 
diff --git a/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslClient.java b/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslClient.java
index 6ee2e31..ac486b7 100644
--- a/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslClient.java
+++ b/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslClient.java
@@ -241,7 +241,7 @@ public class ScramSaslClient implements SaslClient {
         @Override
         public String[] getMechanismNames(Map<String, ?> props) {
             Collection<String> mechanisms = ScramMechanism.mechanismNames();
-            return mechanisms.toArray(new String[mechanisms.size()]);
+            return mechanisms.toArray(new String[0]);
         }
     }
 }
diff --git a/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslServer.java b/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslServer.java
index f9bce80..1cc5b89 100644
--- a/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslServer.java
+++ b/clients/src/main/java/org/apache/kafka/common/security/scram/internals/ScramSaslServer.java
@@ -259,7 +259,7 @@ public class ScramSaslServer implements SaslServer {
         @Override
         public String[] getMechanismNames(Map<String, ?> props) {
             Collection<String> mechanisms = ScramMechanism.mechanismNames();
-            return mechanisms.toArray(new String[mechanisms.size()]);
+            return mechanisms.toArray(new String[0]);
         }
     }
 }
diff --git a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/RestServer.java b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/RestServer.java
index 408f72e..136c616 100644
--- a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/RestServer.java
+++ b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/RestServer.java
@@ -133,7 +133,7 @@ public class RestServer {
             }
         }
 
-        jettyServer.setConnectors(connectors.toArray(new Connector[connectors.size()]));
+        jettyServer.setConnectors(connectors.toArray(new Connector[0]));
 
         if (adminListeners != null && !adminListeners.isEmpty()) {
             for (String adminListener : adminListeners) {
@@ -300,7 +300,7 @@ public class RestServer {
         contextHandlers.add(new DefaultHandler());
         contextHandlers.add(requestLogHandler);
 
-        handlers.setHandlers(contextHandlers.toArray(new Handler[]{}));
+        handlers.setHandlers(contextHandlers.toArray(new Handler[0]));
         try {
             context.start();
         } catch (Exception e) {
diff --git a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/util/SSLUtils.java b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/util/SSLUtils.java
index 6b391d9..bf22bb6 100644
--- a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/util/SSLUtils.java
+++ b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/util/SSLUtils.java
@@ -121,7 +121,7 @@ public class SSLUtils {
     @SuppressWarnings("unchecked")
     protected static void configureSslContextFactoryAlgorithms(SslContextFactory ssl, Map<String, Object> sslConfigValues) {
         List<String> sslEnabledProtocols = (List<String>) getOrDefault(sslConfigValues, SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, Arrays.asList(COMMA_WITH_WHITESPACE.split(SslConfigs.DEFAULT_SSL_ENABLED_PROTOCOLS)));
-        ssl.setIncludeProtocols(sslEnabledProtocols.toArray(new String[sslEnabledProtocols.size()]));
+        ssl.setIncludeProtocols(sslEnabledProtocols.toArray(new String[0]));
 
         String sslProvider = (String) sslConfigValues.get(SslConfigs.SSL_PROVIDER_CONFIG);
         if (sslProvider != null)
@@ -131,7 +131,7 @@ public class SSLUtils {
 
         List<String> sslCipherSuites = (List<String>) sslConfigValues.get(SslConfigs.SSL_CIPHER_SUITES_CONFIG);
         if (sslCipherSuites != null)
-            ssl.setIncludeCipherSuites(sslCipherSuites.toArray(new String[sslCipherSuites.size()]));
+            ssl.setIncludeCipherSuites(sslCipherSuites.toArray(new String[0]));
 
         ssl.setKeyManagerFactoryAlgorithm((String) getOrDefault(sslConfigValues, SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, SslConfigs.DEFAULT_SSL_KEYMANGER_ALGORITHM));
 
diff --git a/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableAbstractJoinValueGetterSupplier.java b/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableAbstractJoinValueGetterSupplier.java
index f2de67f..924452d 100644
--- a/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableAbstractJoinValueGetterSupplier.java
+++ b/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableAbstractJoinValueGetterSupplier.java
@@ -37,7 +37,7 @@ public abstract class KTableKTableAbstractJoinValueGetterSupplier<K, R, V1, V2>
         final Set<String> stores = new HashSet<>(storeNames1.length + storeNames2.length);
         Collections.addAll(stores, storeNames1);
         Collections.addAll(stores, storeNames2);
-        return stores.toArray(new String[stores.size()]);
+        return stores.toArray(new String[0]);
     }
 
 }
diff --git a/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableJoinMerger.java b/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableJoinMerger.java
index c669fb2..3ca0160 100644
--- a/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableJoinMerger.java
+++ b/streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableKTableJoinMerger.java
@@ -70,7 +70,7 @@ public class KTableKTableJoinMerger<K, V> implements KTableProcessorSupplier<K,
                     final Set<String> stores = new HashSet<>(storeNames1.length + storeNames2.length);
                     Collections.addAll(stores, storeNames1);
                     Collections.addAll(stores, storeNames2);
-                    return stores.toArray(new String[stores.size()]);
+                    return stores.toArray(new String[0]);
                 }
             };
         }
diff --git a/streams/src/main/java/org/apache/kafka/streams/kstream/internals/graph/StreamSourceNode.java b/streams/src/main/java/org/apache/kafka/streams/kstream/internals/graph/StreamSourceNode.java
index fa585f1..f4f9842 100644
--- a/streams/src/main/java/org/apache/kafka/streams/kstream/internals/graph/StreamSourceNode.java
+++ b/streams/src/main/java/org/apache/kafka/streams/kstream/internals/graph/StreamSourceNode.java
@@ -84,7 +84,7 @@ public class StreamSourceNode<K, V> extends SourceGraphNode<K, V> {
                                       consumedInternal().timestampExtractor(),
                                       consumedInternal().keyDeserializer(),
                                       consumedInternal().valueDeserializer(),
-                                      topicNames().toArray(new String[topicNames().size()]));
+                                      topicNames().toArray(new String[0]));
 
         }
     }
diff --git a/streams/src/test/java/org/apache/kafka/streams/kstream/internals/TimeWindowTest.java b/streams/src/test/java/org/apache/kafka/streams/kstream/internals/TimeWindowTest.java
index f6e06e4..80e9a34 100644
--- a/streams/src/test/java/org/apache/kafka/streams/kstream/internals/TimeWindowTest.java
+++ b/streams/src/test/java/org/apache/kafka/streams/kstream/internals/TimeWindowTest.java
@@ -128,7 +128,7 @@ public class TimeWindowTest {
         final TimeWindows windows = TimeWindows.of(ofMillis(12L)).advanceBy(ofMillis(5L));
         final Map<Long, TimeWindow> matched = windows.windowsFor(21L);
 
-        final Long[] expected = matched.keySet().toArray(new Long[matched.size()]);
+        final Long[] expected = matched.keySet().toArray(new Long[0]);
         assertEquals(expected[0].longValue(), 10L);
         assertEquals(expected[1].longValue(), 15L);
         assertEquals(expected[2].longValue(), 20L);
diff --git a/tools/src/main/java/org/apache/kafka/trogdor/coordinator/CoordinatorClient.java b/tools/src/main/java/org/apache/kafka/trogdor/coordinator/CoordinatorClient.java
index ba40e7b..078dbbc 100644
--- a/tools/src/main/java/org/apache/kafka/trogdor/coordinator/CoordinatorClient.java
+++ b/tools/src/main/java/org/apache/kafka/trogdor/coordinator/CoordinatorClient.java
@@ -174,7 +174,7 @@ public class CoordinatorClient {
 
     public TasksResponse tasks(TasksRequest request) throws Exception {
         UriBuilder uriBuilder = UriBuilder.fromPath(url("/coordinator/tasks"));
-        uriBuilder.queryParam("taskId", (Object[]) request.taskIds().toArray(new String[0]));
+        uriBuilder.queryParam("taskId", request.taskIds().toArray(new Object[0]));
         uriBuilder.queryParam("firstStartMs", request.firstStartMs());
         uriBuilder.queryParam("lastStartMs", request.lastStartMs());
         uriBuilder.queryParam("firstEndMs", request.firstEndMs());
diff --git a/tools/src/main/java/org/apache/kafka/trogdor/fault/DegradedNetworkFaultWorker.java b/tools/src/main/java/org/apache/kafka/trogdor/fault/DegradedNetworkFaultWorker.java
index 292c18d..d071d12 100644
--- a/tools/src/main/java/org/apache/kafka/trogdor/fault/DegradedNetworkFaultWorker.java
+++ b/tools/src/main/java/org/apache/kafka/trogdor/fault/DegradedNetworkFaultWorker.java
@@ -109,19 +109,19 @@ public class DegradedNetworkFaultWorker implements TaskWorker {
             List<String> delay = new ArrayList<>();
             rootHandler(networkDevice, delay::add);
             netemDelay(delayMs, deviationMs, delay::add);
-            platform.runCommand(delay.toArray(new String[]{}));
+            platform.runCommand(delay.toArray(new String[0]));
 
             if (rateLimitKbps > 0) {
                 List<String> rate = new ArrayList<>();
                 childHandler(networkDevice, rate::add);
                 tbfRate(rateLimitKbps, rate::add);
-                platform.runCommand(rate.toArray(new String[]{}));
+                platform.runCommand(rate.toArray(new String[0]));
             }
         } else if (rateLimitKbps > 0) {
             List<String> rate = new ArrayList<>();
             rootHandler(networkDevice, rate::add);
             tbfRate(rateLimitKbps, rate::add);
-            platform.runCommand(rate.toArray(new String[]{}));
+            platform.runCommand(rate.toArray(new String[0]));
         } else {
             log.warn("Not applying any rate limiting or latency");
         }