ceph-dovecot / dovecot-ceph-plugin

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

Multithreading object search for mailbox repair #342

Closed jrse closed 1 year ago

jrse commented 2 years ago

Repairing mailbox in case of lost index can be a pain for mail_pools with millions of objects, as the only way to restore mail objects, is to ask each primary osd of a placementgroup for potential object list. Depending on the number of Placement Groups this can be a long running process. Ceph does not support parallel processing of this, however there seems to be potential to increase the speed of this operation by first listing all placement groups with corresponding primary osd, then using a thread pool to parallelize the object search.