Hi again,

I managed to change the file with some other bucket's index.
--check-objects --fix worked but my hopes have failed as it didn't actually
read through the files or fixed anything. Any suggestions?


On Thu, Apr 4, 2013 at 5:56 PM, Erdem Agaoglu <erdem.agao...@gmail.com>wrote:

> Hi all,
>
> After a major failure, and getting our cluster health back OK (with some
> help from inktank folks, thanks), we found out that we have managed to
> corrupt one of our bucket indices. As far as i can track it, we are missing
> the omapheader on that specific index, so we're unable to use radosgw-admin
> tools to fix it.
>
> While a healthy (smaller) bucket answers
> # radosgw-admin bucket check -b imgdoviz
> { "existing_header": { "usage": { "rgw.main": { "size_kb": 4140,
>               "size_kb_actual": 4484,
>               "num_objects": 157}}},
>   "calculated_header": { "usage": { "rgw.main": { "size_kb": 4140,
>               "size_kb_actual": 4484,
>               "num_objects": 157}}}}
>
> The faulty one fails with
> # radosgw-admin bucket check -b imgiz
> failed to list objects in bucket=imgiz(@.rgw.buckets[4470.1]) err=(22)
> Invalid argument
> failed to check index err=(22) Invalid argument
>
> When i push further
> # radosgw-admin bucket check -b imgiz --check-objects --fix
> failed to list objects in bucket=imgiz(@.rgw.buckets[4470.1]) err=(22)
> Invalid argument
> Checking objects, decreasing bucket 2-phase commit timeout.
> ** Note that timeout will reset only when operation completes successfully
> **
> ERROR: failed operation r=-22
> ERROR: failed operation r=-22
> ..
> last line keeps repeating without any progress.
>
> I checked the file omapheaders and while the healty bucket has:
> # rados -p .rgw.buckets getomapheader .dir.6912.3
> header (49 bytes) :
> 0000 : 03 02 2b 00 00 00 01 00 00 00 01 02 02 18 00 00 : ..+.............
> 0010 : 00 a8 af 40 00 00 00 00 00 00 10 46 00 00 00 00 : ...@.......F....
> 0020 : 00 9d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
> 0030 : 00                                              : .
>
> the faulty one is missing it
> # rados -p .rgw.buckets getomapheader .dir.4470.1
> header (0 bytes) :
>
>
> I'm currently in the process of understanding how to create a readable
> header. My hopes are even while its wrong, radosgw-admin will be able to
> read through objects and fix the necessary parts. But i'm not sure how to
> set the new-header. It seems there is a setomapheader counterpart for
> getomapheader but it only accepts values from commandline so i don't know
> how to push a rgw-readable binary with it.
>
> Is this somewhat possible?
>
> Thanks in advance.
>
> --
> erdem agaoglu
>



-- 
erdem agaoglu
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to