Index: src/main/javadoc/org/apache/hadoop/hbase/replication/package.html =================================================================== --- src/main/javadoc/org/apache/hadoop/hbase/replication/package.html (revision 1177446) +++ src/main/javadoc/org/apache/hadoop/hbase/replication/package.html (working copy) @@ -44,7 +44,9 @@ features:
@@ -113,6 +117,10 @@ scope of 1 means it's going to be. In the future, different scope can be used for routing policies. +
list_peers(as of version 0.92) +
+ As of version 0.92 HBase supports master/master and cyclic replication as + well as replication to multiple slaves. +
In a separate thread, the edit is read from the log (as part of a batch) and only the KVs that are replicable are kept (that is, that they are part - of a family scoped GLOBAL in the family's schema and non-catalog so not - .META. or -ROOT-). When the buffer is filled, or the reader hits the - end of the file, the buffer is sent to a random region server on the - slave cluster. + of a family scoped GLOBAL in the family's schema, non-catalog so not + .META. or -ROOT-, and did not originate in the target slave cluster - in + case of cyclic replication).
+ The edit is then tagged with the master's cluster UUID. + When the buffer is filled, or the reader hits the end of the file, + the buffer is sent to a random region server on the slave cluster. +
+Synchronously, the region server that receives the edits reads them sequentially and separates each of them into buffers, one per table. Once all edits are read, each buffer is flushed using the normal HBase client (HTables managed by a HTablePool). This is done in order to leverage parallel insertion (MultiPut). + The master's cluster UUID is retained in the edits applied at the + slave cluster in order to allow cyclic replication.
Back in the master cluster's region server, the offset for the current @@ -395,14 +405,6 @@ that weren't copied.