Skip to content

Commit c05d4e2

Browse files
committed
src/mon/ConnectionTracker.cc: fix dump
Problem: Currently, the ConnectionTracker::dump() will dump a duplicate key which is not ideal when you want to write a test that converts the dump into a JSON since JSON objects are key-value pairs where each key must be unique. Solution: Use open_array_section and convert `peer_scores` and `reports` into an array instead. Fixes: https://tracker.ceph.com/issues/65695 Signed-off-by: Kamoltat <[email protected]>
1 parent 103cd8e commit c05d4e2

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/mon/ConnectionTracker.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -325,13 +325,13 @@ void ConnectionReport::dump(ceph::Formatter *f) const
325325
f->dump_int("rank", rank);
326326
f->dump_int("epoch", epoch);
327327
f->dump_int("version", epoch_version);
328-
f->open_object_section("peer_scores");
328+
f->open_array_section("peer_scores");
329329
for (auto i : history) {
330330
f->open_object_section("peer");
331331
f->dump_int("peer_rank", i.first);
332332
f->dump_float("peer_score", i.second);
333333
f->dump_bool("peer_alive", current.find(i.first)->second);
334-
f->close_section();
334+
f->close_section(); // peer
335335
}
336336
f->close_section(); // peer scores
337337
}
@@ -354,11 +354,11 @@ void ConnectionTracker::dump(ceph::Formatter *f) const
354354
f->dump_int("version", version);
355355
f->dump_float("half_life", half_life);
356356
f->dump_int("persist_interval", persist_interval);
357-
f->open_object_section("reports");
357+
f->open_array_section("reports");
358358
for (const auto& i : peer_reports) {
359359
f->open_object_section("report");
360360
i.second.dump(f);
361-
f->close_section();
361+
f->close_section(); // report
362362
}
363363
f->close_section(); // reports
364364
}

0 commit comments

Comments
 (0)