From ce0e75e6a4513ce375287c3a21827c06870f991b Mon Sep 17 00:00:00 2001 From: groot Date: Fri, 28 May 2021 11:34:00 +0800 Subject: [PATCH] Fix #5191 (#5459) * Fix #5191 Signed-off-by: yhmo --- shards/mishards/service_handler.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/shards/mishards/service_handler.py b/shards/mishards/service_handler.py index 28c1a31ed5..5ba801f9b5 100644 --- a/shards/mishards/service_handler.py +++ b/shards/mishards/service_handler.py @@ -29,11 +29,17 @@ class ServiceHandler(milvus_pb2_grpc.MilvusServiceServicer): def _reduce(self, source_ids, ids, source_diss, diss, k, reverse): sort_f = (lambda x, y: x >= y) if reverse else (lambda x, y: x <= y) + if len(ids) == 0: + return source_ids, source_diss + + if len(source_ids) == 0: + return ids, diss + src_last = len(source_diss) - 1 - if sort_f(source_diss[src_last], diss[0]): + if sort_f(source_diss[src_last], diss[0]) and len(source_ids) >= k: return source_ids, source_diss last = len(diss) - 1 - if sort_f(diss[last], source_diss[0]): + if sort_f(diss[last], source_diss[0]) and len(ids) >= k: return ids, diss source_diss.extend(diss)