From 41e882f80ba812f4b7904bc7b5fc6c745d6077c8 Mon Sep 17 00:00:00 2001 From: Taewoo Kim Date: Thu, 22 Jul 2021 15:07:01 -0400 Subject: [PATCH] Check input value is duplicated when quantile queue is full (#7091) Co-authored-by: Taewoo Kim --- src/common/quantile.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/quantile.h b/src/common/quantile.h index 4167adbe8..bdfe387c7 100644 --- a/src/common/quantile.h +++ b/src/common/quantile.h @@ -575,7 +575,7 @@ class QuantileSketchTemplate { */ inline void Push(DType x, RType w = 1) { if (w == static_cast(0)) return; - if (inqueue.qtail == inqueue.queue.size()) { + if (inqueue.qtail == inqueue.queue.size() && inqueue.queue[inqueue.qtail - 1].value != x) { // jump from lazy one value to limit_size * 2 if (inqueue.queue.size() == 1) { inqueue.queue.resize(limit_size * 2);