hbase git commit: HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL; ADDENDUM

2017-06-13 Thread stack
Repository: hbase
Updated Branches:
  refs/heads/branch-2 1eb2f2593 -> 16a5a9db3


HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL;
ADDENDUM

Forgot this change found testing.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/16a5a9db
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/16a5a9db
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/16a5a9db

Branch: refs/heads/branch-2
Commit: 16a5a9db3edf3594b492f548b78bf8342884373f
Parents: 1eb2f25
Author: Michael Stack 
Authored: Tue Jun 13 21:58:48 2017 -0700
Committer: Michael Stack 
Committed: Tue Jun 13 21:59:32 2017 -0700

--
 .../hbase/procedure2/store/wal/ProcedureWALFormatReader.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/16a5a9db/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
index 4d644f7..c1b1439 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
@@ -483,7 +483,7 @@ public class ProcedureWALFormatReader {
  */
 private static boolean isIncreasing(ProcedureProtos.Procedure current,
 ProcedureProtos.Procedure candidate) {
-  boolean increasing = current.getStackIdCount() < 
candidate.getStackIdCount() &&
+  boolean increasing = current.getStackIdCount() <= 
candidate.getStackIdCount() &&
 current.getLastUpdate() <= candidate.getLastUpdate();
   if (!increasing) {
 LOG.warn("NOT INCREASING! current=" + current + ", candidate=" + 
candidate);
@@ -868,4 +868,4 @@ public class ProcedureWALFormatReader {
   return (int)(Procedure.getProcIdHashCode(procId) % procedureMap.length);
 }
   }
-}
\ No newline at end of file
+}



hbase git commit: HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL; ADDENDUM

2017-06-13 Thread stack
Repository: hbase
Updated Branches:
  refs/heads/master 0b43353bf -> 550b6c585


HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL;
ADDENDUM

Forgot this change found testing.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/550b6c58
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/550b6c58
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/550b6c58

Branch: refs/heads/master
Commit: 550b6c585e0390bc80516e64df8bd1a3a6e10e23
Parents: 0b43353
Author: Michael Stack 
Authored: Tue Jun 13 21:58:48 2017 -0700
Committer: Michael Stack 
Committed: Tue Jun 13 21:58:48 2017 -0700

--
 .../hbase/procedure2/store/wal/ProcedureWALFormatReader.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/550b6c58/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
index 4d644f7..c1b1439 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
@@ -483,7 +483,7 @@ public class ProcedureWALFormatReader {
  */
 private static boolean isIncreasing(ProcedureProtos.Procedure current,
 ProcedureProtos.Procedure candidate) {
-  boolean increasing = current.getStackIdCount() < 
candidate.getStackIdCount() &&
+  boolean increasing = current.getStackIdCount() <= 
candidate.getStackIdCount() &&
 current.getLastUpdate() <= candidate.getLastUpdate();
   if (!increasing) {
 LOG.warn("NOT INCREASING! current=" + current + ", candidate=" + 
candidate);
@@ -868,4 +868,4 @@ public class ProcedureWALFormatReader {
   return (int)(Procedure.getProcIdHashCode(procId) % procedureMap.length);
 }
   }
-}
\ No newline at end of file
+}



hbase git commit: HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL

2017-06-13 Thread stack
Repository: hbase
Updated Branches:
  refs/heads/branch-2 f50fe2219 -> 1eb2f2593


HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1eb2f259
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1eb2f259
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1eb2f259

Branch: refs/heads/branch-2
Commit: 1eb2f2593d00b6e92f31fe9811fdd656fcf2847b
Parents: f50fe22
Author: Michael Stack 
Authored: Fri Jun 2 15:38:53 2017 -0700
Committer: Michael Stack 
Committed: Tue Jun 13 21:49:30 2017 -0700

--
 .../store/wal/ProcedureWALFormatReader.java | 93 +++-
 1 file changed, 69 insertions(+), 24 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/1eb2f259/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
index 0a05e6e..4d644f7 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
@@ -44,7 +44,7 @@ public class ProcedureWALFormatReader {
   private static final Log LOG = 
LogFactory.getLog(ProcedureWALFormatReader.class);
 
   // 
==
-  //  We read the WALs in reverse order. from the newest to the oldest.
+  //  We read the WALs in reverse order from the newest to the oldest.
   //  We have different entry types:
   //   - INIT: Procedure submitted by the user (also known as 'root procedure')
   //   - INSERT: Children added to the procedure :[, ...]
@@ -53,7 +53,8 @@ public class ProcedureWALFormatReader {
   //
   // In the WAL we can find multiple times the same procedure as UPDATE or 
INSERT.
   // We read the WAL from top to bottom, so every time we find an entry of the
-  // same procedure, that will be the "latest" update.
+  // same procedure, that will be the "latest" update (Caveat: with multiple 
threads writing
+  // the store, this assumption does not hold).
   //
   // We keep two in-memory maps:
   //  - localProcedureMap: is the map containing the entries in the WAL we are 
processing
@@ -65,7 +66,7 @@ public class ProcedureWALFormatReader {
   //
   // The WAL is append-only so the last procedure in the WAL is the one that
   // was in execution at the time we crashed/closed the server.
-  // given that, the procedure replay order can be inferred by the WAL order.
+  // Given that, the procedure replay order can be inferred by the WAL order.
   //
   // Example:
   //WAL-2: [A, B, A, C, D]
@@ -78,7 +79,7 @@ public class ProcedureWALFormatReader {
   //WAL-2 localProcedureMap.replayOrder is [D, C, A, B]
   //WAL-1 localProcedureMap.replayOrder is [F, G]
   //
-  // each time we reach the WAL-EOF, the "replayOrder" list is merged/appended 
in 'procedureMap'
+  // Each time we reach the WAL-EOF, the "replayOrder" list is merged/appended 
in 'procedureMap'
   // so using the example above we end up with: [D, C, A, B] + [F, G] as 
replay order.
   //
   //  Fast Start: INIT/INSERT record and StackIDs
@@ -183,12 +184,12 @@ public class ProcedureWALFormatReader {
   procedureMap.mergeTail(localProcedureMap);
 
   //if (hasFastStartSupport) {
-// TODO: Some procedure may be already runnables (see readInitEntry())
-//   (we can also check the "update map" in the log trackers)
-// --
-//EntryIterator iter = procedureMap.fetchReady();
-//if (iter != null) loader.load(iter);
-// --
+  // TODO: Some procedure may be already runnables (see readInitEntry())
+  //   (we can also check the "update map" in the log trackers)
+  // --
+  //EntryIterator iter = procedureMap.fetchReady();
+  //if (iter != null) loader.load(iter);
+  // --
   //}
 }
   }
@@ -224,7 +225,7 @@ public class ProcedureWALFormatReader {
   }
 
   private void readInitEntry(final ProcedureWALEntry entry)
-  throws IOException {
+  throws IOException {
 assert entry.getProcedureCount() == 1 : "Expected only one procedure";
 loadProcedure(entry, entry.getProcedure(0));
   }
@@ -319,12 

hbase git commit: HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL

2017-06-13 Thread stack
Repository: hbase
Updated Branches:
  refs/heads/master cb88b6462 -> 0b43353bf


HBASE-18216 [AMv2] Workaround for HBASE-18152, corrupt procedure WAL


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0b43353b
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0b43353b
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0b43353b

Branch: refs/heads/master
Commit: 0b43353bf76f19e020e2831691a832722b590915
Parents: cb88b64
Author: Michael Stack 
Authored: Fri Jun 2 15:38:53 2017 -0700
Committer: Michael Stack 
Committed: Tue Jun 13 21:48:28 2017 -0700

--
 .../store/wal/ProcedureWALFormatReader.java | 93 +++-
 1 file changed, 69 insertions(+), 24 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/0b43353b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
--
diff --git 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
index 0a05e6e..4d644f7 100644
--- 
a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
+++ 
b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.java
@@ -44,7 +44,7 @@ public class ProcedureWALFormatReader {
   private static final Log LOG = 
LogFactory.getLog(ProcedureWALFormatReader.class);
 
   // 
==
-  //  We read the WALs in reverse order. from the newest to the oldest.
+  //  We read the WALs in reverse order from the newest to the oldest.
   //  We have different entry types:
   //   - INIT: Procedure submitted by the user (also known as 'root procedure')
   //   - INSERT: Children added to the procedure :[, ...]
@@ -53,7 +53,8 @@ public class ProcedureWALFormatReader {
   //
   // In the WAL we can find multiple times the same procedure as UPDATE or 
INSERT.
   // We read the WAL from top to bottom, so every time we find an entry of the
-  // same procedure, that will be the "latest" update.
+  // same procedure, that will be the "latest" update (Caveat: with multiple 
threads writing
+  // the store, this assumption does not hold).
   //
   // We keep two in-memory maps:
   //  - localProcedureMap: is the map containing the entries in the WAL we are 
processing
@@ -65,7 +66,7 @@ public class ProcedureWALFormatReader {
   //
   // The WAL is append-only so the last procedure in the WAL is the one that
   // was in execution at the time we crashed/closed the server.
-  // given that, the procedure replay order can be inferred by the WAL order.
+  // Given that, the procedure replay order can be inferred by the WAL order.
   //
   // Example:
   //WAL-2: [A, B, A, C, D]
@@ -78,7 +79,7 @@ public class ProcedureWALFormatReader {
   //WAL-2 localProcedureMap.replayOrder is [D, C, A, B]
   //WAL-1 localProcedureMap.replayOrder is [F, G]
   //
-  // each time we reach the WAL-EOF, the "replayOrder" list is merged/appended 
in 'procedureMap'
+  // Each time we reach the WAL-EOF, the "replayOrder" list is merged/appended 
in 'procedureMap'
   // so using the example above we end up with: [D, C, A, B] + [F, G] as 
replay order.
   //
   //  Fast Start: INIT/INSERT record and StackIDs
@@ -183,12 +184,12 @@ public class ProcedureWALFormatReader {
   procedureMap.mergeTail(localProcedureMap);
 
   //if (hasFastStartSupport) {
-// TODO: Some procedure may be already runnables (see readInitEntry())
-//   (we can also check the "update map" in the log trackers)
-// --
-//EntryIterator iter = procedureMap.fetchReady();
-//if (iter != null) loader.load(iter);
-// --
+  // TODO: Some procedure may be already runnables (see readInitEntry())
+  //   (we can also check the "update map" in the log trackers)
+  // --
+  //EntryIterator iter = procedureMap.fetchReady();
+  //if (iter != null) loader.load(iter);
+  // --
   //}
 }
   }
@@ -224,7 +225,7 @@ public class ProcedureWALFormatReader {
   }
 
   private void readInitEntry(final ProcedureWALEntry entry)
-  throws IOException {
+  throws IOException {
 assert entry.getProcedureCount() == 1 : "Expected only one procedure";
 loadProcedure(entry, entry.getProcedure(0));
   }
@@ -319,12 +320,25 

hbase git commit: HBASE-17008 Examples to make AsyncClient go down easy

2017-06-13 Thread zhangduo
Repository: hbase
Updated Branches:
  refs/heads/branch-2 385b79244 -> f50fe2219


HBASE-17008 Examples to make AsyncClient go down easy


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f50fe221
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f50fe221
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f50fe221

Branch: refs/heads/branch-2
Commit: f50fe22196561a8e55cbf14516d7c59dd108c516
Parents: 385b792
Author: zhangduo 
Authored: Tue Jun 13 16:14:29 2017 +0800
Committer: zhangduo 
Committed: Wed Jun 14 10:51:51 2017 +0800

--
 .../client/example/AsyncClientExample.java  | 184 +
 .../hbase/client/example/HttpProxyExample.java  | 264 +++
 .../client/example/TestAsyncClientExample.java  |  57 
 .../client/example/TestHttpProxyExample.java| 106 
 4 files changed, 611 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/f50fe221/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
--
diff --git 
a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
 
b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
new file mode 100644
index 000..2d587bf
--- /dev/null
+++ 
b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
@@ -0,0 +1,184 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.client.example;
+
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.IntStream;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.AsyncConnection;
+import org.apache.hadoop.hbase.client.AsyncTable;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.hbase.client.Get;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.Threads;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+
+/**
+ * A simple example shows how to use asynchronous client.
+ */
+public class AsyncClientExample extends Configured implements Tool {
+
+  private static final Log LOG = LogFactory.getLog(AsyncClientExample.class);
+
+  /**
+   * The size for thread pool.
+   */
+  private static final int THREAD_POOL_SIZE = 16;
+
+  /**
+   * The default number of operations.
+   */
+  private static final int DEFAULT_NUM_OPS = 100;
+
+  /**
+   * The name of the column family. d for default.
+   */
+  private static final byte[] FAMILY = Bytes.toBytes("d");
+
+  /**
+   * For the example we're just using one qualifier.
+   */
+  private static final byte[] QUAL = Bytes.toBytes("test");
+
+  private final AtomicReference future =
+  new AtomicReference<>();
+
+  private CompletableFuture getConn() {
+CompletableFuture f = future.get();
+if (f != null) {
+  return f;
+}
+for (;;) {
+  if (future.compareAndSet(null, new CompletableFuture<>())) {
+CompletableFuture toComplete = future.get();
+ConnectionFactory.createAsyncConnection(getConf()).whenComplete((conn, 
error) -> {
+  if (error != null) {
+toComplete.completeExceptionally(error);
+// we need to reset the future holder so we will get a chance to 
recreate an async
+// connection at next try.
+future.set(null);
+return;
+  }
+  toComplete.complete(conn);
+});
+return toComplete;
+

hbase git commit: HBASE-17008 Examples to make AsyncClient go down easy

2017-06-13 Thread zhangduo
Repository: hbase
Updated Branches:
  refs/heads/master f5768b430 -> cb88b6462


HBASE-17008 Examples to make AsyncClient go down easy


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/cb88b646
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/cb88b646
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/cb88b646

Branch: refs/heads/master
Commit: cb88b6462933ae5a5e79b167e3f924eb08472473
Parents: f5768b4
Author: zhangduo 
Authored: Tue Jun 13 16:14:29 2017 +0800
Committer: zhangduo 
Committed: Wed Jun 14 10:24:19 2017 +0800

--
 .../client/example/AsyncClientExample.java  | 184 +
 .../hbase/client/example/HttpProxyExample.java  | 264 +++
 .../client/example/TestAsyncClientExample.java  |  57 
 .../client/example/TestHttpProxyExample.java| 106 
 4 files changed, 611 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/cb88b646/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
--
diff --git 
a/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
 
b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
new file mode 100644
index 000..2d587bf
--- /dev/null
+++ 
b/hbase-examples/src/main/java/org/apache/hadoop/hbase/client/example/AsyncClientExample.java
@@ -0,0 +1,184 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.client.example;
+
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.IntStream;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configured;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.AsyncConnection;
+import org.apache.hadoop.hbase.client.AsyncTable;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
+import org.apache.hadoop.hbase.client.Get;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.Threads;
+import org.apache.hadoop.util.Tool;
+import org.apache.hadoop.util.ToolRunner;
+
+/**
+ * A simple example shows how to use asynchronous client.
+ */
+public class AsyncClientExample extends Configured implements Tool {
+
+  private static final Log LOG = LogFactory.getLog(AsyncClientExample.class);
+
+  /**
+   * The size for thread pool.
+   */
+  private static final int THREAD_POOL_SIZE = 16;
+
+  /**
+   * The default number of operations.
+   */
+  private static final int DEFAULT_NUM_OPS = 100;
+
+  /**
+   * The name of the column family. d for default.
+   */
+  private static final byte[] FAMILY = Bytes.toBytes("d");
+
+  /**
+   * For the example we're just using one qualifier.
+   */
+  private static final byte[] QUAL = Bytes.toBytes("test");
+
+  private final AtomicReference future =
+  new AtomicReference<>();
+
+  private CompletableFuture getConn() {
+CompletableFuture f = future.get();
+if (f != null) {
+  return f;
+}
+for (;;) {
+  if (future.compareAndSet(null, new CompletableFuture<>())) {
+CompletableFuture toComplete = future.get();
+ConnectionFactory.createAsyncConnection(getConf()).whenComplete((conn, 
error) -> {
+  if (error != null) {
+toComplete.completeExceptionally(error);
+// we need to reset the future holder so we will get a chance to 
recreate an async
+// connection at next try.
+future.set(null);
+return;
+  }
+  toComplete.complete(conn);
+});
+return toComplete;
+  } 

[1/6] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

2017-06-13 Thread git-site-role
Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 96e810777 -> 04f9c7413


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/hbase-archetypes/hbase-shaded-client-project/team-list.html
--
diff --git a/hbase-archetypes/hbase-shaded-client-project/team-list.html 
b/hbase-archetypes/hbase-shaded-client-project/team-list.html
index c13d804..1326b62 100644
--- a/hbase-archetypes/hbase-shaded-client-project/team-list.html
+++ b/hbase-archetypes/hbase-shaded-client-project/team-list.html
@@ -1,5 +1,5 @@
 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
-
+
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
@@ -10,7 +10,7 @@
   @import url("./css/site.css");
 
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 
 
 
-Last Published: 2017-06-11
+Last Published: 2017-06-13
   | Version: 
3.0.0-SNAPSHOT
   
 Apache HBase - Exemplar for 
hbase-shaded-client archetype

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/hbase-archetypes/index.html
--
diff --git a/hbase-archetypes/index.html b/hbase-archetypes/index.html
index 91919bc..53f0acb 100644
--- a/hbase-archetypes/index.html
+++ b/hbase-archetypes/index.html
@@ -1,5 +1,5 @@
 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
-
+
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
@@ -10,7 +10,7 @@
   @import url("./css/site.css");
 
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 
 
 
-Last Published: 2017-06-11
+Last Published: 2017-06-13
   | Version: 
3.0.0-SNAPSHOT
   
 Apache HBase - Archetypes

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/hbase-archetypes/integration.html
--
diff --git a/hbase-archetypes/integration.html 
b/hbase-archetypes/integration.html
index 04b0d97..8d31553 100644
--- a/hbase-archetypes/integration.html
+++ b/hbase-archetypes/integration.html
@@ -1,5 +1,5 @@
 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
-
+
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
@@ -10,7 +10,7 @@
   @import url("./css/site.css");
 
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 
 
 
-Last Published: 2017-06-11
+Last Published: 2017-06-13
   | Version: 
3.0.0-SNAPSHOT
   
 Apache HBase - Archetypes

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/hbase-archetypes/issue-tracking.html
--
diff --git a/hbase-archetypes/issue-tracking.html 
b/hbase-archetypes/issue-tracking.html
index 08e26f3..6452022 100644
--- a/hbase-archetypes/issue-tracking.html
+++ b/hbase-archetypes/issue-tracking.html
@@ -1,5 +1,5 @@
 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
-
+
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
@@ -10,7 +10,7 @@
   @import url("./css/site.css");
 
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 
 
 
-Last Published: 2017-06-11
+Last Published: 2017-06-13
   | Version: 
3.0.0-SNAPSHOT
   
 Apache HBase - Archetypes

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/hbase-archetypes/license.html
--
diff --git a/hbase-archetypes/license.html b/hbase-archetypes/license.html
index 2562667..2cd6850 100644
--- a/hbase-archetypes/license.html
+++ b/hbase-archetypes/license.html
@@ -1,5 +1,5 @@
 http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd;>
-
+
 http://www.w3.org/1999/xhtml; xml:lang="en" lang="en">
   
 
@@ -10,7 +10,7 @@
   @import url("./css/site.css");
 
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 
 
 
-Last Published: 2017-06-11
+Last Published: 2017-06-13
   | Version: 
3.0.0-SNAPSHOT
   
 Apache HBase - Archetypes

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/hbase-archetypes/mail-lists.html
--
diff --git a/hbase-archetypes/mail-lists.html b/hbase-archetypes/mail-lists.html
index ed73ba8..0fdf435 100644
--- a/hbase-archetypes/mail-lists.html
+++ 

hbase-site git commit: INFRA-10751 Empty commit

2017-06-13 Thread git-site-role
Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 04f9c7413 -> a311d9f88


INFRA-10751 Empty commit


Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/a311d9f8
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/a311d9f8
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/a311d9f8

Branch: refs/heads/asf-site
Commit: a311d9f8886c0bf25e37f1a633c2c2864a59877c
Parents: 04f9c74
Author: jenkins 
Authored: Tue Jun 13 14:59:49 2017 +
Committer: jenkins 
Committed: Tue Jun 13 14:59:49 2017 +

--

--




[5/6] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

2017-06-13 Thread git-site-role
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
--
diff --git 
a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
 
b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 00735d9..02faac8 100644
--- 
a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ 
b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -293,76 +293,76 @@ extends org.jamon.AbstractTemplateProxy.ImplData
 privateHRegionServer m_regionServer
 
 
-
+
 
 
 
 
-m_format
-privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_format
+m_bcv
+privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_bcv
 
 
-
+
 
 
 
 
-m_format__IsNotDefault
-privateboolean m_format__IsNotDefault
+m_bcv__IsNotDefault
+privateboolean m_bcv__IsNotDefault
 
 
-
+
 
 
 
 
-m_filter
-privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_filter
+m_bcn
+privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_bcn
 
 
-
+
 
 
 
 
-m_filter__IsNotDefault
-privateboolean m_filter__IsNotDefault
+m_bcn__IsNotDefault
+privateboolean m_bcn__IsNotDefault
 
 
-
+
 
 
 
 
-m_bcn
-privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_bcn
+m_filter
+privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_filter
 
 
-
+
 
 
 
 
-m_bcn__IsNotDefault
-privateboolean m_bcn__IsNotDefault
+m_filter__IsNotDefault
+privateboolean m_filter__IsNotDefault
 
 
-
+
 
 
 
 
-m_bcv
-privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_bcv
+m_format
+privatehttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">String m_format
 
 
-
+
 
 
 
 
-m_bcv__IsNotDefault
-privateboolean m_bcv__IsNotDefault
+m_format__IsNotDefault
+privateboolean m_format__IsNotDefault
 
 
 
@@ -408,112 +408,112 @@ extends org.jamon.AbstractTemplateProxy.ImplData
 publicHRegionServergetRegionServer()
 
 
-
+
 
 
 
 
-setFormat
-publicvoidsetFormat(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">Stringformat)
+setBcv
+publicvoidsetBcv(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">Stringbcv)
 
 
-
+
 
 
 
 
-getFormat
-publichttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">StringgetFormat()
+getBcv
+publichttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">StringgetBcv()
 
 
-
+
 
 
 
 
-getFormat__IsNotDefault
-publicbooleangetFormat__IsNotDefault()
+getBcv__IsNotDefault
+publicbooleangetBcv__IsNotDefault()
 
 
-
+
 
 
 
 
-setFilter
-publicvoidsetFilter(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">Stringfilter)
+setBcn
+publicvoidsetBcn(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">Stringbcn)
 
 
-
+
 
 
 
 
-getFilter
-publichttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">StringgetFilter()
+getBcn
+publichttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">StringgetBcn()
 
 
-
+
 
 
 
 
-getFilter__IsNotDefault
-publicbooleangetFilter__IsNotDefault()
+getBcn__IsNotDefault
+publicbooleangetBcn__IsNotDefault()
 
 
-
+
 
 
 
 
-setBcn
-publicvoidsetBcn(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">Stringbcn)
+setFilter
+publicvoidsetFilter(http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">Stringfilter)
 
 
-
+
 
 
 
 
-getBcn
-publichttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">StringgetBcn()
+getFilter
+publichttp://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true;
 title="class or interface in java.lang">StringgetFilter()
 
 
-
+
 
 
 
 
-getBcn__IsNotDefault

[3/6] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

2017-06-13 Thread git-site-role
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
--
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 6817483..7a0715f 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -33,10 +33,10 @@
 025  requiredArguments = {
 026@org.jamon.annotations.Argument(name 
= "regionServer", type = "HRegionServer")},
 027  optionalArguments = {
-028@org.jamon.annotations.Argument(name 
= "format", type = "String"),
-029@org.jamon.annotations.Argument(name 
= "filter", type = "String"),
-030@org.jamon.annotations.Argument(name 
= "bcn", type = "String"),
-031@org.jamon.annotations.Argument(name 
= "bcv", type = "String")})
+028@org.jamon.annotations.Argument(name 
= "bcv", type = "String"),
+029@org.jamon.annotations.Argument(name 
= "bcn", type = "String"),
+030@org.jamon.annotations.Argument(name 
= "filter", type = "String"),
+031@org.jamon.annotations.Argument(name 
= "format", type = "String")})
 032public class RSStatusTmpl
 033  extends 
org.jamon.AbstractTemplateProxy
 034{
@@ -77,74 +77,74 @@
 069  return m_regionServer;
 070}
 071private HRegionServer 
m_regionServer;
-072// 22, 1
-073public void setFormat(String 
format)
+072// 24, 1
+073public void setBcv(String bcv)
 074{
-075  // 22, 1
-076  m_format = format;
-077  m_format__IsNotDefault = true;
+075  // 24, 1
+076  m_bcv = bcv;
+077  m_bcv__IsNotDefault = true;
 078}
-079public String getFormat()
+079public String getBcv()
 080{
-081  return m_format;
+081  return m_bcv;
 082}
-083private String m_format;
-084public boolean 
getFormat__IsNotDefault()
+083private String m_bcv;
+084public boolean 
getBcv__IsNotDefault()
 085{
-086  return m_format__IsNotDefault;
+086  return m_bcv__IsNotDefault;
 087}
-088private boolean 
m_format__IsNotDefault;
-089// 21, 1
-090public void setFilter(String 
filter)
+088private boolean 
m_bcv__IsNotDefault;
+089// 23, 1
+090public void setBcn(String bcn)
 091{
-092  // 21, 1
-093  m_filter = filter;
-094  m_filter__IsNotDefault = true;
+092  // 23, 1
+093  m_bcn = bcn;
+094  m_bcn__IsNotDefault = true;
 095}
-096public String getFilter()
+096public String getBcn()
 097{
-098  return m_filter;
+098  return m_bcn;
 099}
-100private String m_filter;
-101public boolean 
getFilter__IsNotDefault()
+100private String m_bcn;
+101public boolean 
getBcn__IsNotDefault()
 102{
-103  return m_filter__IsNotDefault;
+103  return m_bcn__IsNotDefault;
 104}
-105private boolean 
m_filter__IsNotDefault;
-106// 23, 1
-107public void setBcn(String bcn)
+105private boolean 
m_bcn__IsNotDefault;
+106// 21, 1
+107public void setFilter(String 
filter)
 108{
-109  // 23, 1
-110  m_bcn = bcn;
-111  m_bcn__IsNotDefault = true;
+109  // 21, 1
+110  m_filter = filter;
+111  m_filter__IsNotDefault = true;
 112}
-113public String getBcn()
+113public String getFilter()
 114{
-115  return m_bcn;
+115  return m_filter;
 116}
-117private String m_bcn;
-118public boolean 
getBcn__IsNotDefault()
+117private String m_filter;
+118public boolean 
getFilter__IsNotDefault()
 119{
-120  return m_bcn__IsNotDefault;
+120  return m_filter__IsNotDefault;
 121}
-122private boolean 
m_bcn__IsNotDefault;
-123// 24, 1
-124public void setBcv(String bcv)
+122private boolean 
m_filter__IsNotDefault;
+123// 22, 1
+124public void setFormat(String 
format)
 125{
-126  // 24, 1
-127  m_bcv = bcv;
-128  m_bcv__IsNotDefault = true;
+126  // 22, 1
+127  m_format = format;
+128  m_format__IsNotDefault = true;
 129}
-130public String getBcv()
+130public String getFormat()
 131{
-132  return m_bcv;
+132  return m_format;
 133}
-134private String m_bcv;
-135public boolean 
getBcv__IsNotDefault()
+134private String m_format;
+135public boolean 
getFormat__IsNotDefault()
 136{
-137  return m_bcv__IsNotDefault;
+137  return m_format__IsNotDefault;
 138}
-139private boolean 
m_bcv__IsNotDefault;
+139private boolean 
m_format__IsNotDefault;
 140  }
 141  @Override
 142  protected 
org.jamon.AbstractTemplateProxy.ImplData makeImplData()
@@ -156,31 +156,31 @@
 148return (ImplData) 
super.getImplData();
 149  }
 150  
-151  protected String 

[6/6] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

2017-06-13 Thread git-site-role
Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.


Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/04f9c741
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/04f9c741
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/04f9c741

Branch: refs/heads/asf-site
Commit: 04f9c74138019442c4edf434f6b1e8b4c8ec2891
Parents: 96e8107
Author: jenkins 
Authored: Tue Jun 13 14:59:37 2017 +
Committer: jenkins 
Committed: Tue Jun 13 14:59:37 2017 +

--
 acid-semantics.html |   4 +-
 apache_hbase_reference_guide.pdf|   4 +-
 apache_hbase_reference_guide.pdfmarks   |   4 +-
 bulk-loads.html |   4 +-
 checkstyle-aggregate.html   |  34 +--
 coc.html|   4 +-
 cygwin.html |   4 +-
 dependencies.html   |   4 +-
 dependency-convergence.html |   4 +-
 dependency-info.html|   4 +-
 dependency-management.html  |   4 +-
 devapidocs/constant-values.html |   4 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  | 240 +--
 .../hbase/tmpl/master/MasterStatusTmpl.html |  96 
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |  48 ++--
 .../regionserver/RSStatusTmpl.ImplData.html | 120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |  48 ++--
 .../tmpl/regionserver/RSStatusTmplImpl.html |  24 +-
 .../org/apache/hadoop/hbase/Version.html|   4 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  | 240 +--
 .../tmpl/master/MasterStatusTmpl.Intf.html  | 240 +--
 .../hbase/tmpl/master/MasterStatusTmpl.html | 240 +--
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |  68 +++---
 .../regionserver/RSStatusTmpl.ImplData.html | 120 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html| 120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   | 120 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html |  36 +--
 export_control.html |   4 +-
 hbase-annotations/checkstyle.html   |   6 +-
 hbase-annotations/dependencies.html |   6 +-
 hbase-annotations/dependency-convergence.html   |   6 +-
 hbase-annotations/dependency-info.html  |   6 +-
 hbase-annotations/dependency-management.html|   6 +-
 hbase-annotations/index.html|   6 +-
 hbase-annotations/integration.html  |   6 +-
 hbase-annotations/issue-tracking.html   |   6 +-
 hbase-annotations/license.html  |   6 +-
 hbase-annotations/mail-lists.html   |   6 +-
 hbase-annotations/plugin-management.html|   6 +-
 hbase-annotations/plugins.html  |   6 +-
 hbase-annotations/project-info.html |   6 +-
 hbase-annotations/project-reports.html  |   6 +-
 hbase-annotations/project-summary.html  |   6 +-
 hbase-annotations/source-repository.html|   6 +-
 hbase-annotations/team-list.html|   6 +-
 hbase-archetypes/dependencies.html  |   6 +-
 hbase-archetypes/dependency-convergence.html|   6 +-
 hbase-archetypes/dependency-info.html   |   6 +-
 hbase-archetypes/dependency-management.html |   6 +-
 .../hbase-archetype-builder/dependencies.html   |   6 +-
 .../dependency-convergence.html |   6 +-
 .../dependency-info.html|   6 +-
 .../dependency-management.html  |   6 +-
 .../hbase-archetype-builder/index.html  |   6 +-
 .../hbase-archetype-builder/integration.html|   6 +-
 .../hbase-archetype-builder/issue-tracking.html |   6 +-
 .../hbase-archetype-builder/license.html|   6 +-
 .../hbase-archetype-builder/mail-lists.html |   6 +-
 .../plugin-management.html  |   6 +-
 .../hbase-archetype-builder/plugins.html|   6 +-
 .../hbase-archetype-builder/project-info.html   |   6 +-
 .../project-summary.html|   6 +-
 .../source-repository.html  |   6 +-
 .../hbase-archetype-builder/team-list.html  |   6 +-
 .../hbase-client-project/checkstyle.html|   6 +-
 .../hbase-client-project/dependencies.html  |   8 +-
 .../dependency-convergence.html |   6 +-
 .../hbase-client-project/dependency-info.html   |   6 +-
 .../dependency-management.html  |   6 +-
 .../hbase-client-project/index.html |   6 +-
 .../hbase-client-project/integration.html   |   6 +-
 .../hbase-client-project/issue-tracking.html|   6 +-
 .../hbase-client-project/license.html

[4/6] hbase-site git commit: Published site at 82d554e3783372cc6b05489452c815b57c06f6cd.

2017-06-13 Thread git-site-role
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/04f9c741/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
--
diff --git 
a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
 
b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
index 06976ea..6ef82ec 100644
--- 
a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
+++ 
b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
@@ -69,15 +69,15 @@
 061  requiredArguments = {
 062@org.jamon.annotations.Argument(name 
= "master", type = "HMaster")},
 063  optionalArguments = {
-064@org.jamon.annotations.Argument(name 
= "serverManager", type = "ServerManager"),
-065@org.jamon.annotations.Argument(name 
= "assignmentManager", type = "AssignmentManager"),
-066@org.jamon.annotations.Argument(name 
= "servers", type = "ListServerName"),
-067@org.jamon.annotations.Argument(name 
= "deadServers", type = "SetServerName"),
-068@org.jamon.annotations.Argument(name 
= "format", type = "String"),
-069@org.jamon.annotations.Argument(name 
= "metaLocation", type = "ServerName"),
+064@org.jamon.annotations.Argument(name 
= "deadServers", type = "SetServerName"),
+065@org.jamon.annotations.Argument(name 
= "catalogJanitorEnabled", type = "boolean"),
+066@org.jamon.annotations.Argument(name 
= "metaLocation", type = "ServerName"),
+067@org.jamon.annotations.Argument(name 
= "format", type = "String"),
+068@org.jamon.annotations.Argument(name 
= "assignmentManager", type = "AssignmentManager"),
+069@org.jamon.annotations.Argument(name 
= "servers", type = "ListServerName"),
 070@org.jamon.annotations.Argument(name 
= "filter", type = "String"),
-071@org.jamon.annotations.Argument(name 
= "catalogJanitorEnabled", type = "boolean"),
-072@org.jamon.annotations.Argument(name 
= "frags", type = "MapString,Integer")})
+071@org.jamon.annotations.Argument(name 
= "frags", type = "MapString,Integer"),
+072@org.jamon.annotations.Argument(name 
= "serverManager", type = "ServerManager")})
 073public class MasterStatusTmpl
 074  extends 
org.jamon.AbstractTemplateProxy
 075{
@@ -118,108 +118,108 @@
 110  return m_master;
 111}
 112private HMaster m_master;
-113// 28, 1
-114public void 
setServerManager(ServerManager serverManager)
+113// 24, 1
+114public void 
setDeadServers(SetServerName deadServers)
 115{
-116  // 28, 1
-117  m_serverManager = serverManager;
-118  m_serverManager__IsNotDefault = 
true;
+116  // 24, 1
+117  m_deadServers = deadServers;
+118  m_deadServers__IsNotDefault = 
true;
 119}
-120public ServerManager 
getServerManager()
+120public SetServerName 
getDeadServers()
 121{
-122  return m_serverManager;
+122  return m_deadServers;
 123}
-124private ServerManager 
m_serverManager;
-125public boolean 
getServerManager__IsNotDefault()
+124private SetServerName 
m_deadServers;
+125public boolean 
getDeadServers__IsNotDefault()
 126{
-127  return 
m_serverManager__IsNotDefault;
+127  return 
m_deadServers__IsNotDefault;
 128}
-129private boolean 
m_serverManager__IsNotDefault;
-130// 29, 1
-131public void 
setAssignmentManager(AssignmentManager assignmentManager)
+129private boolean 
m_deadServers__IsNotDefault;
+130// 25, 1
+131public void 
setCatalogJanitorEnabled(boolean catalogJanitorEnabled)
 132{
-133  // 29, 1
-134  m_assignmentManager = 
assignmentManager;
-135  m_assignmentManager__IsNotDefault = 
true;
+133  // 25, 1
+134  m_catalogJanitorEnabled = 
catalogJanitorEnabled;
+135  
m_catalogJanitorEnabled__IsNotDefault = true;
 136}
-137public AssignmentManager 
getAssignmentManager()
+137public boolean 
getCatalogJanitorEnabled()
 138{
-139  return m_assignmentManager;
+139  return m_catalogJanitorEnabled;
 140}
-141private AssignmentManager 
m_assignmentManager;
-142public boolean 
getAssignmentManager__IsNotDefault()
+141private boolean 
m_catalogJanitorEnabled;
+142public boolean 
getCatalogJanitorEnabled__IsNotDefault()
 143{
-144  return 
m_assignmentManager__IsNotDefault;
+144  return 
m_catalogJanitorEnabled__IsNotDefault;
 145}
-146private boolean 
m_assignmentManager__IsNotDefault;
-147// 23, 1
-148public void 
setServers(ListServerName servers)
+146private boolean 
m_catalogJanitorEnabled__IsNotDefault;
+147// 22, 1
+148public void 
setMetaLocation(ServerName metaLocation)
 149{
-150  // 23, 1
-151  m_servers = servers;
-152  m_servers__IsNotDefault = true;
+150  // 22, 1
+151  m_metaLocation = metaLocation;
+152  m_metaLocation__IsNotDefault = 
true;
 153}
-154public 

[2/2] hbase git commit: HBASE-17678 FilterList with MUST_PASS_ONE may lead to redundant cells returned

2017-06-13 Thread zhangduo
HBASE-17678 FilterList with MUST_PASS_ONE may lead to redundant cells returned

Signed-off-by: tedyu 
Signed-off-by: zhangduo 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/256fc630
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/256fc630
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/256fc630

Branch: refs/heads/branch-1
Commit: 256fc63007aecb63028b71ad1383d896f11db701
Parents: d6e85b0
Author: huzheng 
Authored: Thu Jun 8 13:42:23 2017 +0800
Committer: zhangduo 
Committed: Tue Jun 13 20:28:04 2017 +0800

--
 .../apache/hadoop/hbase/filter/FilterList.java  |  82 -
 .../org/apache/hadoop/hbase/KeyValueUtil.java   |  15 +++
 .../hadoop/hbase/filter/TestFilterList.java | 117 ++-
 3 files changed, 211 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/256fc630/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
index be22e5d..ddbd4a7 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
@@ -21,8 +21,10 @@ package org.apache.hadoop.hbase.filter;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
+import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.classification.InterfaceStability;
 import org.apache.hadoop.hbase.Cell;
@@ -69,6 +71,14 @@ final public class FilterList extends Filter {
   private List filters = new ArrayList();
   private Filter seekHintFilter = null;
 
+  /**
+   * Save previous return code and previous cell for every filter in filter 
list. For MUST_PASS_ONE,
+   * we use the previous return code to decide whether we should pass current 
cell encountered to
+   * the filter. For MUST_PASS_ALL, the two list are meaningless.
+   */
+  private List prevFilterRCList = null;
+  private List prevCellList = null;
+
   /** Reference Cell used by {@link #transformCell(Cell)} for validation 
purpose. */
   private Cell referenceKV = null;
 
@@ -93,6 +103,7 @@ final public class FilterList extends Filter {
 } else {
   this.filters = new ArrayList(rowFilters);
 }
+initPrevListForMustPassOne(rowFilters.size());
   }
 
   /**
@@ -102,6 +113,7 @@ final public class FilterList extends Filter {
*/
   public FilterList(final Filter... rowFilters) {
 this.filters = new ArrayList(Arrays.asList(rowFilters));
+initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -111,6 +123,7 @@ final public class FilterList extends Filter {
*/
   public FilterList(final Operator operator) {
 this.operator = operator;
+initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -122,6 +135,7 @@ final public class FilterList extends Filter {
   public FilterList(final Operator operator, final List rowFilters) {
 this.filters = new ArrayList(rowFilters);
 this.operator = operator;
+initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -133,6 +147,18 @@ final public class FilterList extends Filter {
   public FilterList(final Operator operator, final Filter... rowFilters) {
 this.filters = new ArrayList(Arrays.asList(rowFilters));
 this.operator = operator;
+initPrevListForMustPassOne(filters.size());
+  }
+
+  public void initPrevListForMustPassOne(int size) {
+if (operator == Operator.MUST_PASS_ONE) {
+  if (this.prevFilterRCList == null) {
+prevFilterRCList = new ArrayList(Collections.nCopies(size, 
(ReturnCode) null));
+  }
+  if (this.prevCellList == null) {
+prevCellList = new ArrayList(Collections.nCopies(size, (Cell) 
null));
+  }
+}
   }
 
   /**
@@ -165,6 +191,10 @@ final public class FilterList extends Filter {
   + this.isReversed());
 }
 this.filters.add(filter);
+if (operator == Operator.MUST_PASS_ONE) {
+  this.prevFilterRCList.add((ReturnCode) null);
+  this.prevCellList.add((Cell) null);
+}
   }
 
   @Override
@@ -172,6 +202,10 @@ final public class FilterList extends Filter {
 int listize = filters.size();
 for (int i = 0; i < listize; i++) {
   filters.get(i).reset();
+  if (operator == Operator.MUST_PASS_ONE) {
+prevFilterRCList.set(i, null);
+prevCellList.set(i, null);
+  }
 }
 seekHintFilter = null;
   }
@@ 

[1/2] hbase git commit: Revert "FilterList with MUST_PASS_ONE may lead to redundant cells returned" miss issue number

2017-06-13 Thread zhangduo
Repository: hbase
Updated Branches:
  refs/heads/branch-1 c71da858a -> 256fc6300


Revert "FilterList with MUST_PASS_ONE may lead to redundant cells returned" 
miss issue number

This reverts commit c71da858ada94e1b93065f0b7caf3558942bc4da.


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d6e85b05
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d6e85b05
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d6e85b05

Branch: refs/heads/branch-1
Commit: d6e85b0511396b3221cc7f495eaee5bbacc42afd
Parents: c71da85
Author: zhangduo 
Authored: Tue Jun 13 20:27:28 2017 +0800
Committer: zhangduo 
Committed: Tue Jun 13 20:27:28 2017 +0800

--
 .../apache/hadoop/hbase/filter/FilterList.java  |  82 +
 .../org/apache/hadoop/hbase/KeyValueUtil.java   |  15 ---
 .../hadoop/hbase/filter/TestFilterList.java | 117 +--
 3 files changed, 3 insertions(+), 211 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/d6e85b05/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
index ddbd4a7..be22e5d 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
@@ -21,10 +21,8 @@ package org.apache.hadoop.hbase.filter;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
-import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.classification.InterfaceStability;
 import org.apache.hadoop.hbase.Cell;
@@ -71,14 +69,6 @@ final public class FilterList extends Filter {
   private List filters = new ArrayList();
   private Filter seekHintFilter = null;
 
-  /**
-   * Save previous return code and previous cell for every filter in filter 
list. For MUST_PASS_ONE,
-   * we use the previous return code to decide whether we should pass current 
cell encountered to
-   * the filter. For MUST_PASS_ALL, the two list are meaningless.
-   */
-  private List prevFilterRCList = null;
-  private List prevCellList = null;
-
   /** Reference Cell used by {@link #transformCell(Cell)} for validation 
purpose. */
   private Cell referenceKV = null;
 
@@ -103,7 +93,6 @@ final public class FilterList extends Filter {
 } else {
   this.filters = new ArrayList(rowFilters);
 }
-initPrevListForMustPassOne(rowFilters.size());
   }
 
   /**
@@ -113,7 +102,6 @@ final public class FilterList extends Filter {
*/
   public FilterList(final Filter... rowFilters) {
 this.filters = new ArrayList(Arrays.asList(rowFilters));
-initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -123,7 +111,6 @@ final public class FilterList extends Filter {
*/
   public FilterList(final Operator operator) {
 this.operator = operator;
-initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -135,7 +122,6 @@ final public class FilterList extends Filter {
   public FilterList(final Operator operator, final List rowFilters) {
 this.filters = new ArrayList(rowFilters);
 this.operator = operator;
-initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -147,18 +133,6 @@ final public class FilterList extends Filter {
   public FilterList(final Operator operator, final Filter... rowFilters) {
 this.filters = new ArrayList(Arrays.asList(rowFilters));
 this.operator = operator;
-initPrevListForMustPassOne(filters.size());
-  }
-
-  public void initPrevListForMustPassOne(int size) {
-if (operator == Operator.MUST_PASS_ONE) {
-  if (this.prevFilterRCList == null) {
-prevFilterRCList = new ArrayList(Collections.nCopies(size, 
(ReturnCode) null));
-  }
-  if (this.prevCellList == null) {
-prevCellList = new ArrayList(Collections.nCopies(size, (Cell) 
null));
-  }
-}
   }
 
   /**
@@ -191,10 +165,6 @@ final public class FilterList extends Filter {
   + this.isReversed());
 }
 this.filters.add(filter);
-if (operator == Operator.MUST_PASS_ONE) {
-  this.prevFilterRCList.add((ReturnCode) null);
-  this.prevCellList.add((Cell) null);
-}
   }
 
   @Override
@@ -202,10 +172,6 @@ final public class FilterList extends Filter {
 int listize = filters.size();
 for (int i = 0; i < listize; i++) {
   filters.get(i).reset();
-  if (operator == Operator.MUST_PASS_ONE) {
-prevFilterRCList.set(i, null);
-

hbase git commit: HBASE-18200 Set hadoop check versions for branch-2 and branch-2.x in pre commit

2017-06-13 Thread zhangduo
Repository: hbase
Updated Branches:
  refs/heads/master 384e308e9 -> f5768b430


HBASE-18200 Set hadoop check versions for branch-2 and branch-2.x in pre commit


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f5768b43
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f5768b43
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f5768b43

Branch: refs/heads/master
Commit: f5768b4306afa676342663181f3b4e0c3f6a260d
Parents: 384e308
Author: zhangduo 
Authored: Sun Jun 11 20:11:52 2017 +0800
Committer: zhangduo 
Committed: Tue Jun 13 16:31:34 2017 +0800

--
 dev-support/hbase-personality.sh | 6 ++
 1 file changed, 6 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/f5768b43/dev-support/hbase-personality.sh
--
diff --git a/dev-support/hbase-personality.sh b/dev-support/hbase-personality.sh
index 6aa95f9..4620916 100755
--- a/dev-support/hbase-personality.sh
+++ b/dev-support/hbase-personality.sh
@@ -56,6 +56,9 @@ function personality_globals
   HBASE_MASTER_HADOOP2_VERSIONS="2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 
2.7.3"
   HBASE_MASTER_HADOOP3_VERSIONS="3.0.0-alpha2"
 
+  HBASE_BRANCH2_HADOOP2_VERSIONS="2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7.1 2.7.2 
2.7.3"
+  HBASE_BRANCH2_HADOOP3_VERSIONS="3.0.0-alpha2"
+
   HBASE_HADOOP2_VERSIONS="2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.1 2.6.2 2.6.3 
2.6.4 2.6.5 2.7.1 2.7.2 2.7.3"
   HBASE_HADOOP3_VERSIONS=""
 
@@ -196,6 +199,9 @@ function hadoopcheck_rebuild
   if [[ "${PATCH_BRANCH}" = "master" ]]; then
 hbase_hadoop2_versions=${HBASE_MASTER_HADOOP2_VERSIONS}
 hbase_hadoop3_versions=${HBASE_MASTER_HADOOP3_VERSIONS}
+  elif [[ ${PATCH_BRANCH} = branch-2* ]]; then
+hbase_hadoop2_versions=${HBASE_BRANCH2_HADOOP2_VERSIONS}
+hbase_hadoop3_versions=${HBASE_BRANCH2_HADOOP3_VERSIONS}
   else
 hbase_hadoop2_versions=${HBASE_HADOOP2_VERSIONS}
 hbase_hadoop3_versions=${HBASE_HADOOP3_VERSIONS}



hbase git commit: FilterList with MUST_PASS_ONE may lead to redundant cells returned

2017-06-13 Thread tedyu
Repository: hbase
Updated Branches:
  refs/heads/branch-1 650ef5cf5 -> c71da858a


FilterList with MUST_PASS_ONE may lead to redundant cells returned

Signed-off-by: tedyu 


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c71da858
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c71da858
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c71da858

Branch: refs/heads/branch-1
Commit: c71da858ada94e1b93065f0b7caf3558942bc4da
Parents: 650ef5c
Author: huzheng 
Authored: Thu Jun 8 13:42:23 2017 +0800
Committer: tedyu 
Committed: Mon Jun 12 23:55:25 2017 -0700

--
 .../apache/hadoop/hbase/filter/FilterList.java  |  82 -
 .../org/apache/hadoop/hbase/KeyValueUtil.java   |  15 +++
 .../hadoop/hbase/filter/TestFilterList.java | 117 ++-
 3 files changed, 211 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/c71da858/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
index be22e5d..ddbd4a7 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/FilterList.java
@@ -21,8 +21,10 @@ package org.apache.hadoop.hbase.filter;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
+import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.classification.InterfaceStability;
 import org.apache.hadoop.hbase.Cell;
@@ -69,6 +71,14 @@ final public class FilterList extends Filter {
   private List filters = new ArrayList();
   private Filter seekHintFilter = null;
 
+  /**
+   * Save previous return code and previous cell for every filter in filter 
list. For MUST_PASS_ONE,
+   * we use the previous return code to decide whether we should pass current 
cell encountered to
+   * the filter. For MUST_PASS_ALL, the two list are meaningless.
+   */
+  private List prevFilterRCList = null;
+  private List prevCellList = null;
+
   /** Reference Cell used by {@link #transformCell(Cell)} for validation 
purpose. */
   private Cell referenceKV = null;
 
@@ -93,6 +103,7 @@ final public class FilterList extends Filter {
 } else {
   this.filters = new ArrayList(rowFilters);
 }
+initPrevListForMustPassOne(rowFilters.size());
   }
 
   /**
@@ -102,6 +113,7 @@ final public class FilterList extends Filter {
*/
   public FilterList(final Filter... rowFilters) {
 this.filters = new ArrayList(Arrays.asList(rowFilters));
+initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -111,6 +123,7 @@ final public class FilterList extends Filter {
*/
   public FilterList(final Operator operator) {
 this.operator = operator;
+initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -122,6 +135,7 @@ final public class FilterList extends Filter {
   public FilterList(final Operator operator, final List rowFilters) {
 this.filters = new ArrayList(rowFilters);
 this.operator = operator;
+initPrevListForMustPassOne(filters.size());
   }
 
   /**
@@ -133,6 +147,18 @@ final public class FilterList extends Filter {
   public FilterList(final Operator operator, final Filter... rowFilters) {
 this.filters = new ArrayList(Arrays.asList(rowFilters));
 this.operator = operator;
+initPrevListForMustPassOne(filters.size());
+  }
+
+  public void initPrevListForMustPassOne(int size) {
+if (operator == Operator.MUST_PASS_ONE) {
+  if (this.prevFilterRCList == null) {
+prevFilterRCList = new ArrayList(Collections.nCopies(size, 
(ReturnCode) null));
+  }
+  if (this.prevCellList == null) {
+prevCellList = new ArrayList(Collections.nCopies(size, (Cell) 
null));
+  }
+}
   }
 
   /**
@@ -165,6 +191,10 @@ final public class FilterList extends Filter {
   + this.isReversed());
 }
 this.filters.add(filter);
+if (operator == Operator.MUST_PASS_ONE) {
+  this.prevFilterRCList.add((ReturnCode) null);
+  this.prevCellList.add((Cell) null);
+}
   }
 
   @Override
@@ -172,6 +202,10 @@ final public class FilterList extends Filter {
 int listize = filters.size();
 for (int i = 0; i < listize; i++) {
   filters.get(i).reset();
+  if (operator == Operator.MUST_PASS_ONE) {
+prevFilterRCList.set(i, null);
+prevCellList.set(i, null);
+  }
 }