Hi, all, We(@liuchang0812 & @Leeshine) are currently working on implementing a new bucket index in the Ceph RGW (called FDBIndex). The key points of FDBIndex are as below: 1. likes tail objects, we make head objects immutable too. 2. stores raw_rgw_key into FDB; uses `rgw_obj_key::parse_raw_oid` to get corresponding head object name 3. uses FDB's transaction to atomicly update a) object id b) object meta info c) bucket usage. currently we uploads some RGW objects. RGW will create some rados objects as : 0c4d3ad9-8ff1-45da-9e58-20b5e3766b6d.4158.1__head_ceph.confEMLK8gcVFNgi3O0YpZi7ldQPV_PtyBC 0c4d3ad9-8ff1-45da-9e58-20b5e3766b6d.4158.1__head_unittest_workqueuebqvuHn7qym69q2JHNURjOUgc0YHlx4l 0c4d3ad9-8ff1-45da-9e58-20b5e3766b6d.4158.1__shadow_unittest_workqueuebqvuHn7qym69q2JHNURjOUgc0YHlx4l.1_1 We have implemented a prototype already. The new bucket index bucket supports almost core APIs: 1. put object 2. put multi-part object 3. get object 4. delete object 5. list objects 6. head object ==== testing result Test cluster is consists of 36 FDB processes(3machines) and 84 OSDs(7 machines). The bucket which used FDBIndex is expected to store unlimited number of objects, besides this, as long as the FDB cluster is writable, the bucket is writable. In order to test this feature, I first uploaded almost 700W objects into a FDBIndex bucket and ran a backgroud task to upload objects continuously, When I killed a FDB process or rebooted a FDB machine, thae backgroud task was not blocked(i.e. the bucket is always writable). Upload 10MB file 100 times, FDB index bucket takes 50.814s, but normal index bucket takes 53.447s. I created a bucket with 100 subdirectories and 9999 files under each subdirectory. It takes 0.8s to list root directory. Thanks, comments are appreciated! 1. foundationdb: https://github.com/apple/foundationdb