From e7251c1010b12c98727f73c0fb45dc03ebde7a31 Mon Sep 17 00:00:00 2001 From: ZhanLu00 Date: Thu, 25 Feb 2021 13:57:27 -0500 Subject: [PATCH] avoid index out of boundary error on dynamic filtering register tasks --- .../io/prestosql/dynamicfilter/DynamicFilterService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/presto-main/src/main/java/io/prestosql/dynamicfilter/DynamicFilterService.java b/presto-main/src/main/java/io/prestosql/dynamicfilter/DynamicFilterService.java index 388531f2f..73f82036e 100644 --- a/presto-main/src/main/java/io/prestosql/dynamicfilter/DynamicFilterService.java +++ b/presto-main/src/main/java/io/prestosql/dynamicfilter/DynamicFilterService.java @@ -299,7 +299,13 @@ public class DynamicFilterService } if (node instanceof JoinNode) { JoinNode joinNode = (JoinNode) node; - registerTasksHelper(node, joinNode.getCriteria().get(0).getRight(), joinNode.getDynamicFilters(), taskIds, workers, stateMachine); + List criterias = joinNode.getCriteria(); + if (!criterias.isEmpty()) { + registerTasksHelper(node, criterias.get(0).getRight(), joinNode.getDynamicFilters(), taskIds, workers, stateMachine); + } + else { + log.warn("registerTasks is empty"); + } } else if (node instanceof SemiJoinNode) { SemiJoinNode semiJoinNode = (SemiJoinNode) node;