[
https://issues.apache.org/jira/browse/JAMES-2805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16881225#comment-16881225
]
Tellier Benoit commented on JAMES-2805:
---------------------------------------
Story:
{code:java}
As an admin, using webAdmin, I want to definitly delete a deletedMessage
For instance, if it contains some critical information hence I want to delete
it sooner than the retention period
{code}
Regarding the 'single message delete' of the deletedMessageVault, we had two
choices:
- Deleting the metadata, which unreferences the blob, and let blob background
deletion task do it's job
This is bad as the content the admin wishes to deletes is still in the
DeletedMessageVault.
- Deleting the blob in the objectStore
Then it means deleting other deletedMessages sharing this blob. This is
acceptable as it is an admin triggered operation, and the side effect actually
ensure all messages sharing the same MIME message would also no longer exist.
We decided to implement the latest, of course documenting this behaviour will
be needed.
> Top level implementation of the DeletedMessageVault
> ---------------------------------------------------
>
> Key: JAMES-2805
> URL: https://issues.apache.org/jira/browse/JAMES-2805
> Project: James Server
> Issue Type: Improvement
> Reporter: Tellier Benoit
> Priority: Major
>
> While working on the deletedMessageVault, we targeted in MAILBOX-381 a first
> implementation on top of MailRepositories
> That decision was unfortunate as then one can browse the content of the
> deletedMessageVault vault through webAdmin.
> Thus we decided to implement DeletedMessageVault as a separate component.
> That component has the following considerations:
> - Should have a low storage cost
> - Cold storage and delays upon reads are acceptable as one does not expect a
> restore/export to be fast
> - Find an efficient way to implement retention (deleting too old emails)
> without a full scan
> We decided to provide an implementation above the blobStore and a metaData
> store (cassandra)
> Retention will be implemented with object storage buckets (one month = 1
> bucket). We could then simply delete a bucket when all the mails it contains
> are older than the retention period.
> Querying the deleteMessageVault will first be done with a full scan. Later
> enhancement can be done by providing a per-bucket (immutable) Lucene index -
> once the bucket is no longer the latest one.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]