ceph-dovecot / dovecot-ceph-plugin

Dovecot plugin for storing mails in a Ceph cluster
Other
131 stars 23 forks source link

Additional Ceph object index for mailbox repair #349

Closed jrse closed 1 year ago

jrse commented 1 year ago

As maintainer i want to have a possibility to fast repair a lost/corrupt mailbox index. Currently the scanning for objects just takes to long as the ceph object list mechanism scans for all objects in the object pool and the client filters the ones not relevant out.

Technical solution: The discussed technical solution should create a additional index file in the users namespace with the user UUID. Every time a mail is added to a mailbox, the system should append the mail oid to this file (separated by e.g. ',')

The repair mechanism (force-resync) should then use that ceph index as input for the repair. After repair the index should be updated with the current object list. force-resync should also have the possibility to bypass the cephindex and do complete object search.

to create initial index file for existing ceph mailboxes, the rmb tool check-indices should be modified to initially create this cephindex object based on the existing index files.

Additional information: