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

Preserve the original partition of a (sub-)mailbox when using XFER #70

Open
wants to merge 1 commit into
base: cyrus-imapd-2.5
Choose a base branch
from

Conversation

kanarip
Copy link
Contributor

@kanarip kanarip commented Nov 3, 2016

Preserve the partition of a (sub-)mailbox when using XFER, rather than use the highest-level mailbox of the hierarchy transferred as the target partition for all mailboxes in the hierarchy.

The use-case is mailbox hierarchies split over multiple partitions.

Example scenario;

  • user.john resides on the default partition, and user.john.Archive resides on a partition archive.

  • While 'default' is fast, expensive storage, we have only 1GB of it.

  • While 'archive' is slow, cheap storage, we have a few TBs of it.

  • The size of user.john.Archive is > 1 GB.

With this patch, unless a partition is explicitly specified to the issuing of the XFER command, any mailbox residing on;

  • the local default partition will be replicated to the target default partition,

  • a local non-default partition will be replicated to the target partition of the same name.

I do not believe this patch makes any sense for master, as I understand XFER has transitioned to the sync protocol, but please do correct me if a similar scenario may exist there, that deserves attention.

…the highest-level mailbox of the hierarchy transferred as the target partition for all mailboxes in the hierarchy.

The use-case is mailbox hierarchies split over multiple partitions.

Example;

  * user.john resides on the default partition, and user.john.Archive resides on a partition archive.

  * While 'default' is fast, expensive storage, we have only 1GB of it.

  * While 'archive' is slow, cheap storage, we have a few TBs of it.

  * The size of user.john.Archive is > 1 GB.
@kanarip
Copy link
Contributor Author

kanarip commented Nov 3, 2016

Please note that the change to RFC 4466 style inclusion of the target partition in the changed LOCALCREATE command issuance has to do with a later change I'm yet to create a pull request for.

@elliefm
Copy link
Contributor

elliefm commented Jan 9, 2018

What happens if the remote server has the higher level partition, but not the submailbox partition(s)?

Will it:

a) fall back to the original behaviour of just putting the whole hierarchy on the one partition?
b) fail to copy the submailboxes, causing the whole XFER to fail?
c) fail to copy the submailboxes, but the XFER still reports "success"?

I don't really care much one way or other between a or b; but c would be unacceptable

@kanarip
Copy link
Contributor Author

kanarip commented Jan 9, 2018

The target backend for the transfer should respond as if an invalid partition was specified, meaning that it should bail out on the XFER -- so option b).

elliefm pushed a commit that referenced this pull request Nov 16, 2021
Add test to ensure rscale is hidden from caldav if added in JMAP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants