diff --git a/pinot-query-planner/src/main/java/org/apache/pinot/query/QueryEnvironment.java b/pinot-query-planner/src/main/java/org/apache/pinot/query/QueryEnvironment.java index 7225e143486..e6da0a822af 100644 --- a/pinot-query-planner/src/main/java/org/apache/pinot/query/QueryEnvironment.java +++ b/pinot-query-planner/src/main/java/org/apache/pinot/query/QueryEnvironment.java @@ -146,22 +146,20 @@ private WorkerManager getWorkerManager(SqlNodeAndOptions sqlNodeAndOptions) { String useImplicitColocatedOptionValue = sqlNodeAndOptions.getOptions() .get(CommonConstants.Broker.Request.QueryOptionKey.IMPLICIT_COLOCATE_JOIN); WorkerManager workerManager = _envConfig.getWorkerManager(); - if (Boolean.parseBoolean(useImplicitColocatedOptionValue)) { - Objects.requireNonNull(workerManager, "WorkerManager is required for implicit colocated join"); - return workerManager; - } else if (useImplicitColocatedOptionValue == null) { - boolean useImplicitColocated = _envConfig.useImplicitColocatedByDefault(); - if (useImplicitColocated) { + + if (useImplicitColocatedOptionValue == null) { + return _envConfig.useImplicitColocatedByDefault() ? workerManager : null; + } + switch (useImplicitColocatedOptionValue.toLowerCase()) { + case "true": + Objects.requireNonNull(workerManager, "WorkerManager is required for implicit colocated join"); return workerManager; - } else { + case "false": return null; - } - } else if ("false".equalsIgnoreCase(useImplicitColocatedOptionValue)) { - return null; - } else { - throw new RuntimeException("Invalid value for query option '" - + CommonConstants.Broker.Request.QueryOptionKey.IMPLICIT_COLOCATE_JOIN + "': " - + useImplicitColocatedOptionValue); + default: + throw new RuntimeException("Invalid value for query option '" + + CommonConstants.Broker.Request.QueryOptionKey.IMPLICIT_COLOCATE_JOIN + "': " + + useImplicitColocatedOptionValue); } }