Re: RGW: vstart and ceph df detail showing 0 B stored

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This commit had a number of unintended consequences. I believe the
zero-detection is going to be gated behind a developer flag in all
subsequent point releases. :)
-Greg

On Mon, May 16, 2022 at 3:43 PM Curt Bruns <curt.e.bruns@xxxxxxxxx> wrote:
>
> Hi Devs,
>
> I figured out the issue with ceph df mismatch on Object count vs Stored data for my issue - and posting it here in case anyone encounters it in their testing.
>
> The below commit modified Bluestore to not write bufferlists with zeroes as data into the pool/backend. My test objects were all created with 0s as their data, which triggered this "skipping bufferlists with zeroes as data", which is why I wasn't seeing the "Stored" data count increasing. The object count increments, but Bluestore doesn't write the zeroes to the pool/backend so the "ceph df" metrics don't see any stored data.
>
> So, lesson here is, create test objects with /dev/random, not /dev/zero.
>
> You can figure out how many bytes have NOT been written into the backend with:
> ./bin/ceph daemon osd.0 perf dump | grep skipped
>
> Commit where bufferlists with zeroes are not written:
> 914debdd4a5c3dd8f7b7762cd138e971a44cfdc3 is the first bad commit
>
> commit 914debdd4a5c3dd8f7b7762cd138e971a44cfdc3
>
> Author: Laura Flores <lflores@xxxxxxxxxx>
>
> Date:   Fri Dec 24 01:18:13 2021 +0000
>
>
>     os/bluestore: detect unnecessary zeros in _do_write_big()
>
>
>     Bluestore's `_do_write()` method handles writing data from bufferlists. Currently, it writes data from bufferlists without checking for unnecessary zeros. The lack zero detection may negatively impact performance.
>
>
> Best regards,
> - Curt
>
>
>
> On Wed, May 11, 2022 at 1:49 PM Curt Bruns <curt.e.bruns@xxxxxxxxx> wrote:
>>
>> Hi -
>>
>> I'm working with the Quincy tag (commit: 6551f450487afe6c3f7bdd7a7c9c891e447045ed) and I vstart a cluster to do RGW testing.
>>
>> I put a 8 objects into my "test_bucket" which goes to default.rgw.buckets.data and when I do:
>> ./bin/ceph df detail
>> I see the object count increased correctly, but df reports "0 B" stored.
>>
>> [ubuntu-validation-01][~/source/ceph/build] (quincy)proxy$ ./bin/ceph df detail
>> *** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH ***
>> 2022-05-11T13:44:14.824-0700 7fa924c41700 -1 WARNING: all dangerous and experimental features are enabled.
>> 2022-05-11T13:44:14.832-0700 7fa924c41700 -1 WARNING: all dangerous and experimental features are enabled.
>> --- RAW STORAGE ---
>> CLASS     SIZE    AVAIL     USED  RAW USED  %RAW USED
>> qlc    303 GiB  300 GiB  3.0 GiB   3.0 GiB       1.00
>> ssd    303 GiB  300 GiB  3.0 GiB   3.0 GiB       0.99
>> TOTAL  606 GiB  600 GiB  6.0 GiB   6.0 GiB       0.99
>>
>> --- POOLS ---
>> POOL                       ID  PGS   STORED   (DATA)  (OMAP)  OBJECTS     USED   (DATA)  (OMAP)  %USED  MAX AVAIL  QUOTA OBJECTS  QUOTA BYTES  DIRTY  USED COMPR  UNDER COMPR
>> .rgw.root                   1    1  1.4 KiB  1.4 KiB     0 B        4   48 KiB   48 KiB     0 B      0    198 GiB            N/A          N/A    N/A         0 B          0 B
>> default.rgw.log             2    1  7.5 KiB  7.5 KiB     0 B      179  4.8 MiB  4.8 MiB     0 B      0    198 GiB            N/A          N/A    N/A         0 B          0 B
>> default.rgw.control         3    1      0 B      0 B     0 B        8      0 B      0 B     0 B      0    198 GiB            N/A          N/A    N/A         0 B          0 B
>> default.rgw.meta            4    1  5.3 KiB  5.3 KiB     0 B       21  2.4 MiB  2.4 MiB     0 B      0    198 GiB            N/A          N/A    N/A         0 B          0 B
>> default.rgw.buckets.index   5    1      0 B      0 B     0 B       11      0 B      0 B     0 B      0    198 GiB            N/A          N/A    N/A         0 B          0 B
>> default.rgw.buckets.data    6    1      0 B      0 B     0 B        8      0 B      0 B     0 B      0     99 GiB            N/A          N/A    N/A         0 B          0 B
>>
>> I can get object_stats and see their size is definitely non-zero.
>>
>> Did anything change in Quincy with df reporting?
>>
>> Thanks,
>> - Curt
>
> _______________________________________________
> Dev mailing list -- dev@xxxxxxx
> To unsubscribe send an email to dev-leave@xxxxxxx

_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx



[Index of Archives]     [CEPH Users]     [Ceph Devel]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux