You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by go...@apache.org on 2024/04/01 08:44:57 UTC
(pinot) branch master updated: Improved null check for varargs (#12673)
This is an automated email from the ASF dual-hosted git repository.
gortiz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 3185e303f4 Improved null check for varargs (#12673)
3185e303f4 is described below
commit 3185e303f42e02bf3df80c7ddf16360e0fe2b197
Author: soumitra-st <12...@users.noreply.github.com>
AuthorDate: Mon Apr 1 01:44:50 2024 -0700
Improved null check for varargs (#12673)
* Improved null check for varargs
* Fixed the null check for varargs to not check the null inside the array
* Filter out null values from varargs
---
.../src/main/java/org/apache/pinot/client/BrokerCache.java | 6 +++++-
.../org/apache/pinot/common/function/scalar/ArrayFunctions.java | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
index 759dd32084..6742174582 100644
--- a/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
+++ b/pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/BrokerCache.java
@@ -28,6 +28,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Properties;
import java.util.Random;
import java.util.Set;
@@ -190,7 +191,10 @@ public class BrokerCache {
public String getBroker(String... tableNames) {
List<String> brokers = null;
- if (tableNames != null) {
+ // If tableNames is not-null, filter out nulls
+ tableNames =
+ tableNames == null ? tableNames : Arrays.stream(tableNames).filter(Objects::nonNull).toArray(String[]::new);
+ if (!(tableNames == null || tableNames.length == 0)) {
// returning list of common brokers hosting all the tables.
brokers = BrokerSelectorUtils.getTablesCommonBrokers(Arrays.asList(tableNames),
_brokerData.getTableToBrokerMap());
diff --git a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArrayFunctions.java b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArrayFunctions.java
index 32f115b51a..53e6bc76c2 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArrayFunctions.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ArrayFunctions.java
@@ -230,7 +230,7 @@ public class ArrayFunctions {
@ScalarFunction(names = {"array", "arrayValueConstructor"}, isVarArg = true)
public static Object arrayValueConstructor(Object... arr) {
- if (arr.length == 0) {
+ if (arr == null || arr.length == 0) {
return arr;
}
Class<?> clazz = arr[0].getClass();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org