Project

General

Profile

Bug #10052

LibRadosTwoPools[EC]PP.PromoteSnap failure

Added by Samuel Just about 4 years ago. Updated about 3 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
-
Category:
-
Target version:
-
Start date:
11/10/2014
Due date:
% Done:

0%

Source:
Q/A
Tags:
Backport:
firefly
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

ubuntu@teuthology:/a/samuelj-2014-11-07_21:48:36-rados-wip-sam-testing-wip-testing-vanilla-fixes-basic-multi/590439
ubuntu@teuthology:/a/samuelj-2014-11-07_21:48:36-rados-wip-sam-testing-wip-testing-vanilla-fixes-basic-multi/590102
ubuntu@teuthology:/a/samuelj-2014-11-07_21:48:36-rados-wip-sam-testing-wip-testing-vanilla-fixes-basic-multi/590367


Related issues

Copied to Ceph - Backport #12015: LibRadosTwoPools[EC]PP.PromoteSnap failure Resolved 11/10/2014

Associated revisions

Revision 8dde6a61 (diff)
Added by Sage Weil about 4 years ago

ceph_test_rados_api_tier: fix cleanup of whiteouts

Doing a normal DELETE on a whiteout returns ENOENT. Use the IGNORE_CACHE
flag to make sure it removes the whiteout, too.

Fixes: #10052
Signed-off-by: Sage Weil <>

Revision 971eb3f6 (diff)
Added by Sage Weil about 3 years ago

ceph_test_rados_api_tier: fix cleanup of whiteouts

Doing a normal DELETE on a whiteout returns ENOENT. Use the IGNORE_CACHE
flag to make sure it removes the whiteout, too.

Fixes: #10052
Signed-off-by: Sage Weil <>
(cherry picked from commit 8dde6a61921798aa188bd69406c8fa7afeb96b45)

Conflicts:
src/test/librados/TestCase.cc
for it of type ObjectIterator:
- use it->first instead of it->get_oid()
- use it->second instead of it->get_locator()

History

#1 Updated by Sage Weil about 4 years ago

ubuntu@teuthology:/a/sage-2014-11-11_14:57:42-smoke-wip-warn-max-pg-distro-basic-multi/596722

#2 Updated by Sage Weil about 4 years ago

ubuntu@teuthology:/a/sage-2014-11-12_13:30:37-smoke-wip-warn-max-pg-distro-basic-multi/598501

#3 Updated by Sage Weil about 4 years ago

  • Status changed from New to In Progress
  • Source changed from other to Q/A

// read baz {
bufferlist bl;
ASSERT_EQ(-ENOENT, ioctx.read("baz", bl, 1, 0));
}

I think this usually doesn't trigger a whiteout, but if there is any failure injection is may. And when it does, the test cleanup code enumerates objects and then does remove()... which fails with ENOENT on a whiteout. Strange that we haven't seen this before. :/

Fix is to make the test cleanup code use a stronger remove() function that also zaps whiteouts. I'll use the IGNORE_CACHE for this ...

#4 Updated by Sage Weil about 4 years ago

  • Status changed from In Progress to Need Review

#5 Updated by Sage Weil almost 4 years ago

  • Status changed from Need Review to Pending Backport

#6 Updated by Nathan Cutler over 3 years ago

  • Backport set to firefly
  • Regression set to No

#7 Updated by Loic Dachary about 3 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF