From 01a8c5a7f96787016ca24bbb7f61cca7fcc45866 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Mon, 29 Mar 2021 14:04:13 +0800 Subject: [PATCH] crimson/onode-staged-tree: allow non-empty DeltaRecorder to be destructed Fixes: http://tracker.ceph.com/issues/50028 Signed-off-by: Yingxin Cheng --- .../onode_manager/staged-fltree/node_delta_recorder.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/crimson/os/seastore/onode_manager/staged-fltree/node_delta_recorder.h b/src/crimson/os/seastore/onode_manager/staged-fltree/node_delta_recorder.h index 63aa16c6352..a37fdb6d509 100644 --- a/src/crimson/os/seastore/onode_manager/staged-fltree/node_delta_recorder.h +++ b/src/crimson/os/seastore/onode_manager/staged-fltree/node_delta_recorder.h @@ -18,7 +18,10 @@ namespace crimson::os::seastore::onode { class DeltaRecorder { public: virtual ~DeltaRecorder() { - assert(is_empty()); + /* May be non-empty if transaction is abandoned without + * being submitted -- conflicts are a particularly common + * example (denoted generally by returning crimson::ct_error::eagain). + */ } bool is_empty() const { -- 2.39.5