You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Bill Farner (JIRA)" <ji...@apache.org> on 2015/02/16 19:46:11 UTC

[jira] [Commented] (AURORA-1108) The scheduler synchronously writes a backup while writing a snapshot to the replicated log

    [ https://issues.apache.org/jira/browse/AURORA-1108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14323129#comment-14323129 ] 

Bill Farner commented on AURORA-1108:
-------------------------------------

Relevant TODO in StorageBackup.java:
{noformat}
 * TODO(William Farner): Perform backups asynchronously.  As written, they are performed in a
 * blocking write operation, which is asking for trouble.
{noformat}

> The scheduler synchronously writes a backup while writing a snapshot to the replicated log
> ------------------------------------------------------------------------------------------
>
>                 Key: AURORA-1108
>                 URL: https://issues.apache.org/jira/browse/AURORA-1108
>             Project: Aurora
>          Issue Type: Bug
>          Components: Reliability, Scheduler
>            Reporter: Bill Farner
>            Priority: Critical
>
> In the course of writing a snapshot to the replicated log, the scheduler may block while writing a snapshot to the disk.  There is no need for this activity to be done synchronously, and doing so causes the write lock to be unnecessarily held for an additional period of time.
> From StorageBackup.java:
> {code}
>     @Override
>     public Snapshot createSnapshot() {
>       Snapshot snapshot = delegate.createSnapshot();
>       if (clock.nowMillis() >= (lastBackupMs + backupIntervalMs)) {
>         save(snapshot);
>       }
>       return snapshot;
>     }
> {code}
> {{StorageBackup}} happens to be the unqualified binding to {{SnapshotStore<Snapshot>}} that is used in {{LogStorage}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)