Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doveadm force-resync extension to clean up unreferenced objects #147

Closed
jrse opened this issue May 24, 2018 · 1 comment
Closed

doveadm force-resync extension to clean up unreferenced objects #147

jrse opened this issue May 24, 2018 · 1 comment
Assignees

Comments

@jrse
Copy link
Contributor

jrse commented May 24, 2018

with the assumption that the current mailbox index files are valid and complete, detect all unreferenced objects of a user (same namespace) and remove them from object store.

To activate this behavior a new 90-plugin setting can be used, which can be passed to doveadm force-resync with the -o option.

The force-resync option needs to take all user mailboxes into account to find unreferenced objects.

@jrse jrse self-assigned this Jun 14, 2018
jrse added a commit that referenced this issue Jun 14, 2018
- new option for rmb check indices to delete all mail objects of a
  user which are not referenced in a index file (all mailboxes).
- doveadm force-resync -u .. <box> is available to restore index
entries.
@jrse
Copy link
Contributor Author

jrse commented Jun 14, 2018

unreferenced user mail objects can be detected by using doveadm rmb plugin:

doveadm rmb check indices -u username

To delete all unrefrenced user mail objects the following command can be used:

doveadm rmb check indices -u username delete_not_refrenced_objects

to repair the index (adding missing mail objects to the index) the doveadm force-resync command can be used.

jrse added a commit that referenced this issue Jun 19, 2018
- doveadm rmb check indices does no loger load metadata by default
- stat is done async.
@jrse jrse mentioned this issue Jul 2, 2018
peter-mauritius pushed a commit that referenced this issue Jul 9, 2018
* #156: modified log entry.

mv|cp|save:src_ns,src_oid;metadata_key=metadata_value:metadata_key=metadata_value:....

* #156: basic doveadm rmb plugin

- basic integration of rmb plugin
- lsppols as first command.

* #156: added: doveadm rmb plugin commands

- doveadm rmb config create
- doveadm rmb config show
- doveadm rmb config update key=value

* #156: doveadm rmb plugin new commands:

- ls / get / set

* #156: doveadm rmb plugin

- ls mb, rename, delete

* #156: rmb plugin command

+ save_log

* #156: cleanup.

* #156: cleanup

-removed debug message

* #156: doveadm rmb save_log

- restores the index entry of moved objects.

* #156: doveadm rmb command check indices

- new doveadm rmb check indices -u <username> 
  iterates over all user mailboxes and checks if mail does exist.
  if mail does not exist, it prints out message with uid, guid and oid.

* #156: doveadm rmb check indices

- detect not referenced mail objects in user namespace and print them
  out.

* #147: doveadm rmb check indices delete_not_referenced_objects

- new option for rmb check indices to delete all mail objects of a
  user which are not referenced in a index file (all mailboxes).
- doveadm force-resync -u .. <box> is available to restore index
entries.

* #149: doveadm force-resync -u <user> INBOX 

- force-resync ignores the mailbox parameter like mdbox does and
performes does a force-resync for all user mailboxes.

* #149: doveadm force-rebuild

- uid is always generated and updated

* #156: removed some warnings / addional input param checks.

* #156: build 2.3 fix.

* #147: check indices no longer loads metadata by default

- doveadm rmb check indices does no loger load metadata by default
- stat is done async.

* build fix.

* doveadm mailbox delete

- delete mail objects asynchronous

* #163 new config option  rados_check_empty_mailboxes = true|false new doveadm rmb mailbox delete cmd

* #163: build fix 2.3, moved dovecot doevadm mailbox_delete function to rbox_src

* 163: #ifdefs for 2.2.21 build and removed some warnings

* #163: removed some debug messages

* added dovecad plugin lib10_doveadm_rbox_plugin.la

* cleanup mailbox before do copybox
@jrse jrse closed this as completed Jul 9, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant