[jira] [Commented] (JAMES-4209) S3: ability to restore content from solely the object store

"Benoit Tellier (Jira)" <[email protected]>
Newsgroups gmane.comp.jakarta.james.devel
Message-ID <[email protected]>
    [ https://issues.apache.org/jira/browse/JAMES-4209?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18107053#comment-18107053 ] 

Benoit Tellier commented on JAMES-4209:
---------------------------------------

Regarding that one I am planning a large scale real data test in order to confirm this works as intended.

> S3: ability to restore content from solely the object store
> -----------------------------------------------------------
>
>                 Key: JAMES-4209
>                 URL: https://issues.apache.org/jira/browse/JAMES-4209
>             Project: James Server
>          Issue Type: Improvement
>          Components: cassandra, mailbox, s3
>            Reporter: Benoit Tellier
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> h3. Goal
> Recorvery Plan
> GIVEN a major producton incident
> WHEN I loose fully the Cassandra DB and its backup
> THEN I want to be able to retrieve contents from S3 and set them back to users
> Out of scope: folder structure and context (flag)
> Recover point objective
> GIVEN a major producton incident
> WHEN I loose fully the Cassandra DB and need to restore a backup
> THEN I want to be able to retrieve contents from S3 and set them back to users between the time-of backup and time of the incident
> Effectively achieve RPO of 0 for contents, only folder sorting is subject to a loss.
> h3. How
> Optional config in cassandra.properties
> {code:java}
> mailbox.blob.recovery.mode=SYNCHRONOUS|ASYNCHRONOUS|NONE
> {code}
> NONE being the default.
> The idea is to save a side objects recovery/YYY where YYY is the header blob ID. It contains the corresponding body blobId. 
> Using the Delivered-To header It effectively allow rebuild of the message and it allows identifying who it was delivered to.
> Please note that natural generation of the header blob then allow time sorting with a month granularity, allowing finner grain restore.
> Special care about the GC: do not delete the sidecar, but piggy back its deletion on actual content
> h3. The restore script
> Ship it as a binary in server/apps/distributed-app and use what we need from the guice wiring. One could override the main class to actually run it...
> We should be able to restrict to a single generation. 
> We should be able to provide a "since" date
> -----------
> Idea design done with Yann Biez



--
This message was sent by Atlassian Jira
(v8.20.10#820010)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.