Skip to content

Commit ce6c4a9

Browse files
authored
Merge pull request ceph#64757 from VinayBhaskar-V/wip-unittest-72325
test/rbd-mirror: eliminate a race in ResyncRequestedRemoteNotPrimary Reviewed-by: Ilya Dryomov <[email protected]>
2 parents 9fa66fb + b5a013f commit ce6c4a9

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/test/rbd_mirror/image_replayer/snapshot/test_mock_Replayer.cc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1787,6 +1787,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, ResyncRequested) {
17871787
mock_replayer_listener,
17881788
mock_image_meta,
17891789
&update_watch_ctx));
1790+
17901791
// inject a primary snapshot
17911792
mock_remote_image_ctx.snap_info = {
17921793
{1U, librbd::SnapInfo{"snap1", cls::rbd::MirrorSnapshotNamespace{
@@ -1803,6 +1804,7 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, ResyncRequested) {
18031804

18041805
// wait for sync to complete and expect replay complete
18051806
ASSERT_EQ(0, wait_for_notification(1));
1807+
ASSERT_TRUE(mock_replayer.is_resync_requested());
18061808
ASSERT_FALSE(mock_replayer.is_replaying());
18071809

18081810
ASSERT_EQ(0, shut_down_entry_replayer(mock_replayer, mock_threads,
@@ -1876,6 +1878,8 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, ResyncRequestedRemoteNotPrimary) {
18761878
mock_local_image_ctx, 11, true, 0, 0);
18771879
expect_notify_update(mock_local_image_ctx);
18781880
expect_notify_sync_complete(mock_instance_watcher, mock_local_image_ctx.id);
1881+
1882+
// idle
18791883
expect_load_image_meta(mock_image_meta, true, 0);
18801884
expect_is_refresh_required(mock_remote_image_ctx, false);
18811885
expect_is_refresh_required(mock_local_image_ctx, true);
@@ -1890,7 +1894,8 @@ TEST_F(TestMockImageReplayerSnapshotReplayer, ResyncRequestedRemoteNotPrimary) {
18901894
// wake-up replayer
18911895
update_watch_ctx->handle_notify();
18921896

1893-
ASSERT_EQ(0, wait_for_notification(1));
1897+
ASSERT_EQ(0, wait_for_notification(2));
1898+
ASSERT_FALSE(mock_replayer.is_resync_requested());
18941899
ASSERT_FALSE(mock_replayer.is_replaying());
18951900

18961901
ASSERT_EQ(0, shut_down_entry_replayer(mock_replayer, mock_threads,

0 commit comments

Comments
 (0)