Bug 1479949
| Summary: | ‘radosgw-admin bucket check –fix’ deletes indices for valid objects as well | ||
|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Ceph Storage | Reporter: | Benjamin Schmaus <bschmaus> |
| Component: | RGW | Assignee: | Matt Benjamin (redhat) <mbenjamin> |
| Status: | CLOSED ERRATA | QA Contact: | ceph-qe-bugs <ceph-qe-bugs> |
| Severity: | high | Docs Contact: | Bara Ancincova <bancinco> |
| Priority: | high | ||
| Version: | 2.3 | CC: | anharris, cbodley, ceph-eng-bugs, gmeno, icolle, kbader, mbenjamin, mhackett, owasserm, smanjara, sweil, tserlin, vakulkar, vumrao, wusui |
| Target Milestone: | rc | ||
| Target Release: | 2.4 | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | RHEL: ceph-10.2.7-33.el7cp Ubuntu: ceph_10.2.7-34redhat1 | Doc Type: | Bug Fix |
| Doc Text: |
.Fixing bucket indexes no longer damages them
Previously, a bug in the Ceph Object Gateway namespacing could cause the bucket index repair process to incorrectly delete object entries. As a consequence, an attempt to fix a bucket index could damage the index. The bug has been fixed, and fixing bucket indexes no longer damages them.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-10-17 18:12:51 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1473436, 1479701 | ||
| Attachments: | |||
|
Description
Benjamin Schmaus
2017-08-09 19:39:30 UTC
Moving to 2.5 until post 2.4 release. @matt, @orit, Could you please suggest a reproducer for this? (In reply to shilpa from comment #3) > @matt, @orit, > > Could you please suggest a reproducer for this? This is bug caused bucket check to remove non multipart entries. You can try creating a bucket, adding objects. Upload a multipart objects at least one that is not commited. Run bucket check --fix see all the objects are there (In reply to Orit Wasserman from comment #6) > (In reply to shilpa from comment #3) > > @matt, @orit, > > > > Could you please suggest a reproducer for this? > > This is bug caused bucket check to remove non multipart entries. > You can try creating a bucket, adding objects. > Upload a multipart objects at least one that is not commited. > Run bucket check --fix see all the objects are there Thanks Orit. Do you mean initiate a multipart upload that is incomplete without doing a complete_upload? (In reply to shilpa from comment #7) > (In reply to Orit Wasserman from comment #6) > > (In reply to shilpa from comment #3) > > > @matt, @orit, > > > > > > Could you please suggest a reproducer for this? > > > > This is bug caused bucket check to remove non multipart entries. > > You can try creating a bucket, adding objects. > > Upload a multipart objects at least one that is not commited. > > Run bucket check --fix see all the objects are there > > Thanks Orit. Do you mean initiate a multipart upload that is incomplete > without doing a complete_upload? yes Created attachment 1329785 [details]
bucket.py -- create a bucket with some objects
script used to create a bucket with some objects in it.
Created attachment 1329786 [details]
testmulti.py -- this creates an unfinished multpart uploaded file
Creates a multpart uploaded file that is not complete.
Created attachment 1329787 [details]
testmulti.py -- multisite tester.
This creates an incomplete multipart file.
Created attachment 1329788 [details]
viewbucket.py -- look at bucket objects.
This is used to verify that other objects in the bucket are not affected by the check run on the multipart object.
Test procedure: 1. cat a /var/log/*/* file that was big with itself repeatedly until you get a 16G text file named bigstuff. 2. run python bucket.py foo 1 to create a bucket with 1000 objects in it. 3. run python testmulti.py foo bigstuff 4. run radosgw-admin bucket check --fix --bucket=foo 5. run python viewbucket.py foo to make sure that bigstuff is gone and all the other files are still there. This test reproduced the bug on 2.4 and the bug did not occur on 2.4a (In reply to Warren from comment #14) > Created attachment 1329787 [details] > testmulti.py -- multisite tester. > > This creates an incomplete multipart file. Ignore this comment. It inaccurately repeats the one before. Verified on Ubuntu This has been verified on Ubuntu as well. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2903 |