Project

General

Profile

Actions

Bug #8183

closed

osd: In a tiered pool after successful removal request object still appears to be there

Added by David Zafman almost 10 years ago. Updated almost 10 years ago.

Status:
Won't Fix
Priority:
Urgent
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

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

Description

What works:
After a removal a second removal returns ENOENT
After a removal the creation of another object with the same name succeeds

What doesn't work:
The object store retains an empty file for the object and so "rados ls" returns the object

$ ./rados -p cache put testfile ceph.conf
$ find dev -name '*testfile*' -ls
398539    8 -rw-r--r--   1 dzafman  dzafman      3205 Apr 22 19:45 dev/osd0/current/3.6_head/testfile__head_551A2B36__3
$ ./rados -p cache rm testfile
$ ./rados -p cache rm testfile
error removing cache/testfile: (2) No such file or directory
$ ./rados -p cache ls
testfile
$ find dev -name '*testfile*' -ls
398539    4 -rw-r--r--   1 dzafman  dzafman         0 Apr 22 19:46 dev/osd0/current/3.6_head/testfile__head_551A2B36__3
$ ./rados -p cache put testfile ceph.conf
$ find dev -name '*testfile*' -ls
398539    8 -rw-r--r--   1 dzafman  dzafman      3205 Apr 22 19:52 dev/osd0/current/3.6_head/testfile__head_551A2B36__3
Actions #1

Updated by David Zafman almost 10 years ago

  • Subject changed from After successful removal request object still appears to be there to osd: In a tiered pool after successful removal request object still appears to be there
Actions #2

Updated by Sage Weil almost 10 years ago

  • Status changed from New to Won't Fix

This is as expected. The list_objects and rados ls are basically not coherent when you're using a cache pool. In this case, the object you see is the whiteout in the cache pool. In general, you will see a subset of objects listed there.

Someday we may fix this, but we need to come up with a sane design first. In the meantime, nothing uses the list objects interfaces except these cli utilities and various unit tests.

Actions

Also available in: Atom PDF