From daf8ce29ca24285d2cb694f4e42e02e11c732089 Mon Sep 17 00:00:00 2001 From: xinghuayu007 <1450306854@qq.com> Date: Wed, 16 Jun 2021 09:39:31 +0800 Subject: [PATCH] [Bug] Fix bucket shuffle bug when left table is without any data (#5965) --- .../src/main/java/org/apache/doris/qe/Coordinator.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java index cb93a094b20e92..e957dd26ed887f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/Coordinator.java @@ -837,7 +837,13 @@ private void computeFragmentExecParams() throws Exception { int bucketSeq = 0; int bucketNum = bucketShuffleJoinController.getFragmentBucketNum(destFragment.getFragmentId()); TNetworkAddress dummyServer = new TNetworkAddress("0.0.0.0", 0); - + + // when left table is empty, it's bucketset is empty. + // set right table destination address to the address of left table + if (destParams.instanceExecParams.size() == 1 && destParams.instanceExecParams.get(0).bucketSeqSet.isEmpty()) { + bucketNum = 1; + destParams.instanceExecParams.get(0).bucketSeqSet.add(0); + } while (bucketSeq < bucketNum) { TPlanFragmentDestination dest = new TPlanFragmentDestination();