Project

General

Profile

Actions

Bug #18990

closed

[rbd-mirror] deleting a snapshot during sync can result in read errors

Added by Jason Dillaman about 7 years ago. Updated almost 7 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Jason Dillaman
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
kraken,jewel
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Given an image with zero snapshots and some data written to object X, if you create a snapshot, start a full rbd-mirror image sync, and delete the snapshot between the time when the sync starts and before it reaches object X, it will attempt to read object X from the (now) deleted snapshot revision. This results in an error but the image sync will not automatically recover by detecting that the snapshot no longer exists.

2017-02-19 23:07:28.732236 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 ObjectCopyRequest: remote_oid=rbd_data.12190238e1f29.000000000000083e, local_oid=rbd_data.5e8c3702170c.000000000000083e
2017-02-19 23:07:28.732238 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 send_list_snaps
2017-02-19 23:07:28.732860 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 handle_list_snaps: r=0
2017-02-19 23:07:28.732866 7f5dd67fc700 10 calc_snap_set_diff start 0 end 398, snap_set seq 0
2017-02-19 23:07:28.732869 7f5dd67fc700 20  clone 18446744073709551614 snaps [] -> [1,18446744073709551614] size 4194304 overlap to next []
2017-02-19 23:07:28.732871 7f5dd67fc700 20   start, after 0
2017-02-19 23:07:28.732873 7f5dd67fc700 20  end
2017-02-19 23:07:28.732874 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 compute_diffs: start_remote_snap=0, end_remote_snap_id=398, end_local_snap_id=731, diff=[0~4194304], end_size=4194304, exists=1
2017-02-19 23:07:28.732878 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 compute_diffs: read/write op: 0~4194304
2017-02-19 23:07:28.732881 7f5dd67fc700 10 calc_snap_set_diff start 398 end 399, snap_set seq 0
2017-02-19 23:07:28.732882 7f5dd67fc700 20  clone 18446744073709551614 snaps [] -> [1,18446744073709551614] size 4194304 overlap to next []
2017-02-19 23:07:28.732885 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 compute_diffs: start_remote_snap=398, end_remote_snap_id=399, end_local_snap_id=732, diff=[], end_size=4194304, exists=1
2017-02-19 23:07:28.732888 7f5dd67fc700 10 librados: set snap read snapdir -> 18e
2017-02-19 23:07:28.732892 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 send_read_object: remote_snap_seq=398
2017-02-19 23:07:28.733329 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 handle_read_object: r=-2
2017-02-19 23:07:28.733334 7f5dd67fc700 -1 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 handle_read_object: failed to read from remote object: (2) No such file or directory
2017-02-19 23:07:28.733343 7f5dd67fc700 20 rbd::mirror::image_sync::ObjectCopyRequest: 0x7f5d68275d00 finish: r=-2

Related issues 2 (0 open2 closed)

Copied to rbd - Backport #19037: kraken: rbd-mirror: deleting a snapshot during sync can result in read errorsResolvedNathan CutlerActions
Copied to rbd - Backport #19038: jewel: [rbd-mirror] deleting a snapshot during sync can result in read errorsResolvedJason DillamanActions
Actions #1

Updated by Jason Dillaman about 7 years ago

  • Status changed from In Progress to Fix Under Review
Actions #2

Updated by Jason Dillaman about 7 years ago

  • Copied to Backport #19037: kraken: rbd-mirror: deleting a snapshot during sync can result in read errors added
Actions #3

Updated by Jason Dillaman about 7 years ago

  • Copied to Backport #19038: jewel: [rbd-mirror] deleting a snapshot during sync can result in read errors added
Actions #4

Updated by Mykola Golub about 7 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #5

Updated by Nathan Cutler almost 7 years ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF