From de53addac8234037a66cdd45cf8007deba7a0530 Mon Sep 17 00:00:00 2001 From: Joao Eduardo Luis Date: Mon, 7 Sep 2015 14:12:19 +0100 Subject: [PATCH] mon: MonitorDBStore: make get_next_key() work properly We introduced a significant bug with 2cc7aee, when we fixed issue #11786. Although that patch would fix the problem described in #11786, we managed to not increment the iterator upon returning the current key. This would have the iterator iterating over the same key, forever and ever. Signed-off-by: Joao Eduardo Luis (cherry picked from commit 70d31082fd3dc8c7857994104577f1a3631c678c) --- src/mon/MonitorDBStore.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mon/MonitorDBStore.h b/src/mon/MonitorDBStore.h index ff97878947c5e..2e45fcc29a409 100644 --- a/src/mon/MonitorDBStore.h +++ b/src/mon/MonitorDBStore.h @@ -393,8 +393,10 @@ class MonitorDBStore for (; iter->valid(); iter->next()) { pair r = iter->raw_key(); - if (sync_prefixes.count(r.first) > 0) + if (sync_prefixes.count(r.first) > 0) { + iter->next(); return r; + } } return pair(); } -- 2.39.5