From 29772bf2c099ea6d6587f8ebf8635afd809cae09 Mon Sep 17 00:00:00 2001 From: Jason Dillaman Date: Mon, 16 Dec 2019 09:46:15 -0500 Subject: [PATCH] rbd-mirror: ensure deterministic ordering of method calls The mock tests will require method calls in a known order. Previously different environments could evaluate the parameters in different orders resulting in out-of-order method calls. Signed-off-by: Jason Dillaman --- src/test/rbd_mirror/test_mock_ImageReplayer.cc | 4 ++-- src/tools/rbd_mirror/ImageReplayer.cc | 9 ++++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/test/rbd_mirror/test_mock_ImageReplayer.cc b/src/test/rbd_mirror/test_mock_ImageReplayer.cc index f627d752d2d..76a8eb39319 100644 --- a/src/test/rbd_mirror/test_mock_ImageReplayer.cc +++ b/src/test/rbd_mirror/test_mock_ImageReplayer.cc @@ -965,10 +965,10 @@ TEST_F(TestMockImageReplayer, ReplayerInterrupted) { .WillOnce(Return(false)); EXPECT_CALL(mock_journal_replayer, is_replaying()) .WillOnce(Return(false)); - EXPECT_CALL(mock_journal_replayer, get_error_description()) - .WillOnce(Return("INVALID")); EXPECT_CALL(mock_journal_replayer, get_error_code()) .WillOnce(Return(-EINVAL)); + EXPECT_CALL(mock_journal_replayer, get_error_description()) + .WillOnce(Return("INVALID")); expect_shut_down(mock_journal_replayer, 0); expect_mirror_image_status_exists(false); mock_journal_replayer.replayer_listener->handle_notification(); diff --git a/src/tools/rbd_mirror/ImageReplayer.cc b/src/tools/rbd_mirror/ImageReplayer.cc index efe2ba4e237..27fbc4b7378 100644 --- a/src/tools/rbd_mirror/ImageReplayer.cc +++ b/src/tools/rbd_mirror/ImageReplayer.cc @@ -1078,9 +1078,12 @@ void ImageReplayer::handle_replayer_notification() { } if (!m_replayer->is_replaying()) { - dout(10) << "replay interrupted" << dendl; - on_stop_journal_replay(m_replayer->get_error_code(), - m_replayer->get_error_description()); + auto error_code = m_replayer->get_error_code(); + auto error_description = m_replayer->get_error_description(); + dout(10) << "replay interrupted: " + << "r=" << error_code << ", " + << "error=" << error_description << dendl; + on_stop_journal_replay(error_code, error_description); return; } -- 2.39.5