[FIX] Improvments regarding mailbox consistency (backport 3.9.x)#3067
Conversation
Carry over truth table from MailboxManager
…thV3 registration and recover from failed mailboxPathV3 deletion upon rename
Improve overall atomicity Please note that we do not address TOCTOU races. We also do not need serial for destination mailbix as it is gated by an idempotent DELETE...IF NOT EXIST
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation failure | | | /home/jenkins/jenkins-agent/workspace/james_ApacheJames_PR-3067/server/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/QuotaUsernameChangeTaskStepTest.java:[101,85] constructor RecomputeMailboxCurrentQuotasService in class org.apache.james.mailbox.quota.task.RecomputeMailboxCurrentQuotasService cannot be applied to given types; |
When renaming a mailbox across namespaces, StoreMailboxManager preloads the mailbox and its children then renames them through renameSubMailboxes. That helper updated the mailbox name and user but not the namespace, causing id-based renames across namespaces to keep the old namespace in storage. Update the namespace during rename and add a regression test covering both the renamed mailbox and one child mailbox.
|
I backported #3069 (comment). And also fixed the compilation issue. |
|
Huge thanks! |
…t empty (backport)
No description provided.