Uploaded image for project: 'James Server'
  1. James Server
  2. JAMES-2805

Top level implementation of the DeletedMessageVault

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 3.4.0
    • None
    • None

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            btellier Benoit Tellier
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: