Actions
Backport #20325
closedlibradosstriper silently fails to delete empty objects in jewel
Release:
jewel
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Files
Updated by Nathan Cutler almost 7 years ago
- Tracker changed from Bug to Backport
- Description updated (diff)
description¶
libradosstriper fails to delete striped objects of zero length without returning any kind of error.Steps to reproduce:
- Create an empty striper object:
~# echo 123 | rados --striper -p sata put test - ~# rados --striper -p sata truncate test 0 ~# rados --striper -p sata stat test sata/test mtime 2017-06-16 02:31:42.000000, size 0
Note: You cannot write empty object straight into libradosstriper, because it's causes an assertion failure. This issue is fixed in commit 7cce1e8c51640f466d8bb37a21c0d5f1b00db8ab which is not currently a part of jewel release. - Try to remove striped object:
~# rados --striper -p sata rm test ~# echo $? 0
- Check that object is still present:
~# rados -p sata ls test.0000000000000000 ~# rados --striper -p sata ls test
Expected result:
Striped object is deleted
It seems that stripe math in "libradosstriper::RadosStriperImpl::remove()" is missing corner case of an empty object, so I'm attaching a simple patch to fix this.
Also this issue is probably fixed in commit 7a50ea479e7e5c2909d899d89d33d3fb082257f8, which is not part of the jewel release and pretty massive to backport.
Updated by Nathan Cutler almost 7 years ago
- Description updated (diff)
- Status changed from New to In Progress
- Assignee set to Nathan Cutler
Updated by Nathan Cutler almost 7 years ago
@Stan: Thanks for the bug report and patch. I opened a github PR [1] in your name. Can you please provide your consent for us to use the code, like you did in #20240.
Updated by Stan K almost 7 years ago
@Nathan Weinberg Cutler: Great, thanks. Yes, of course you have my permission to use this code.
Updated by Nathan Cutler almost 7 years ago
- Status changed from In Progress to Need More Info
Clarifying whether tests need to be added.
Updated by Nathan Cutler over 6 years ago
- Status changed from Need More Info to Resolved
- Target version set to v10.2.10
The question of tests was answered in the PR.
Actions