Return-Path: X-Original-To: apmail-accumulo-commits-archive@www.apache.org Delivered-To: apmail-accumulo-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9F3FB11195 for ; Sat, 14 Jun 2014 04:55:05 +0000 (UTC) Received: (qmail 50808 invoked by uid 500); 14 Jun 2014 04:55:05 -0000 Delivered-To: apmail-accumulo-commits-archive@accumulo.apache.org Received: (qmail 50739 invoked by uid 500); 14 Jun 2014 04:55:05 -0000 Mailing-List: contact commits-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list commits@accumulo.apache.org Received: (qmail 50532 invoked by uid 99); 14 Jun 2014 04:55:05 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 14 Jun 2014 04:55:05 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 30C4F934915; Sat, 14 Jun 2014 04:55:05 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: elserj@apache.org To: commits@accumulo.apache.org Date: Sat, 14 Jun 2014 04:55:28 -0000 Message-Id: <47d49301e39846f792c77cb92d7f9f1b@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [28/51] [abbrv] git commit: ACCUMULO-2847 Add a section on ReplicaSystems ACCUMULO-2847 Add a section on ReplicaSystems Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/73d34ec7 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/73d34ec7 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/73d34ec7 Branch: refs/heads/master Commit: 73d34ec7112be43c568cff1ea8b8458079c432e3 Parents: 47e2983 Author: Josh Elser Authored: Thu May 29 13:31:20 2014 -0400 Committer: Josh Elser Committed: Thu May 29 13:31:20 2014 -0400 ---------------------------------------------------------------------- docs/src/main/asciidoc/chapters/replication.txt | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/73d34ec7/docs/src/main/asciidoc/chapters/replication.txt ---------------------------------------------------------------------- diff --git a/docs/src/main/asciidoc/chapters/replication.txt b/docs/src/main/asciidoc/chapters/replication.txt index 20843a9..9f367df 100644 --- a/docs/src/main/asciidoc/chapters/replication.txt +++ b/docs/src/main/asciidoc/chapters/replication.txt @@ -160,3 +160,25 @@ it's possible that multiple versions of the same Key with different values are i In this case, parallel replication to a peer and target is possible without any downsides. In the case where this implementation is used were column updates are frequent, it is possible that there will be an inconsistency between the primary and the peer. + +=== ReplicaSystems + ++ReplicaSystem+ is the interface which allows abstraction of replication of data +to peers of various types. Presently, only an +AccumuloReplicaSystem+ is provided +which will replicate data to another Accumulo instance. A +ReplicaSystem+ implementation +is run inside of the TabletServer process, and can be configured as mentioned in the ++Instance Configuration+ section of this document. Theoretically, an implementation +of this interface could send data to other filesystems, databases, etc. + +==== AccumuloReplicaSystem + +The +AccumuloReplicaSystem+ uses Thrift to communicate with a peer Accumulo instance +and replicate the necessary data. The TabletServer running on the primary will communicate +with the Master on the peer to request the address of a TabletServer on the peer which +this TabletServer will use to replicate the data. + +The TabletServer on the primary will then replicate data in batches of a configurable +size (+replication.max.unit.size+). The TabletServer on the peer will report how many +records were applied back to the primary, which will be used to record how many records +were successfully replicated. The TabletServer on the primary will continue to replicate +data in these batches until no more data can be read from the file.