hbase git commit: HBASE-20890 PE filterScan seems to be stuck forever

2018-08-27 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/master 8e1002913 -> dd9880e0d


HBASE-20890 PE filterScan seems to be stuck forever


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

Branch: refs/heads/master
Commit: dd9880e0de13fc7dac1c570f90f00bc914d1fad5
Parents: 8e10029
Author: Vikas Vishwakarma 
Authored: Mon Aug 27 13:05:29 2018 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 27 13:05:29 2018 +0530

--
 .../test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/dd9880e0/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
--
diff --git 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index 1a72ece..04f5aae 100644
--- 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -2212,6 +2212,10 @@ public class PerformanceEvaluation extends Configured 
implements Tool {
 
 FilteredScanTest(Connection con, TestOptions options, Status status) {
   super(con, options, status);
+  if (opts.perClientRunRows == DEFAULT_ROWS_PER_GB) {
+LOG.warn("Option \"rows\" unspecified. Using default value " + 
DEFAULT_ROWS_PER_GB +
+". This could take a very long time.");
+  }
 }
 
 @Override



hbase git commit: HBASE-20890 PE filterScan seems to be stuck forever

2018-08-27 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-2 2369afd7e -> 9c19692c3


HBASE-20890 PE filterScan seems to be stuck forever


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

Branch: refs/heads/branch-2
Commit: 9c19692c372290568df029e45a84051525623aac
Parents: 2369afd
Author: Vikas Vishwakarma 
Authored: Mon Aug 27 13:01:52 2018 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 27 13:01:52 2018 +0530

--
 .../test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/9c19692c/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
--
diff --git 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index 1a72ece..04f5aae 100644
--- 
a/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ 
b/hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -2212,6 +2212,10 @@ public class PerformanceEvaluation extends Configured 
implements Tool {
 
 FilteredScanTest(Connection con, TestOptions options, Status status) {
   super(con, options, status);
+  if (opts.perClientRunRows == DEFAULT_ROWS_PER_GB) {
+LOG.warn("Option \"rows\" unspecified. Using default value " + 
DEFAULT_ROWS_PER_GB +
+". This could take a very long time.");
+  }
 }
 
 @Override



hbase git commit: HBASE-20890 PE filterScan seems to be stuck forever

2018-08-27 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-1 3258b83f3 -> 3c17c8391


HBASE-20890 PE filterScan seems to be stuck forever


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

Branch: refs/heads/branch-1
Commit: 3c17c8391e189246409de3f5f8b98e47750e0358
Parents: 3258b83
Author: Vikas Vishwakarma 
Authored: Mon Aug 27 12:51:55 2018 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 27 12:51:55 2018 +0530

--
 .../test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/3c17c839/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index 8de5e32..4455a0b 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -1790,6 +1790,10 @@ public class PerformanceEvaluation extends Configured 
implements Tool {
 
 FilteredScanTest(Connection con, TestOptions options, Status status) {
   super(con, options, status);
+  if (opts.perClientRunRows == DEFAULT_ROWS_PER_GB) {
+LOG.warn("Option \"rows\" unspecified. Using default value " + 
DEFAULT_ROWS_PER_GB
++ ". This could take a very long time.");
+  }
 }
 
 @Override



hbase git commit: HBASE-20890 PE filterScan seems to be stuck forever

2018-08-27 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 d965436ee -> 525a6f9f8


HBASE-20890 PE filterScan seems to be stuck forever


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

Branch: refs/heads/branch-1.4
Commit: 525a6f9f80b3f6e544026f78bc7fdf579584e2c3
Parents: d965436
Author: Vikas Vishwakarma 
Authored: Mon Aug 27 12:44:55 2018 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 27 12:44:55 2018 +0530

--
 .../test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/525a6f9f/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index 8de5e32..4455a0b 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -1790,6 +1790,10 @@ public class PerformanceEvaluation extends Configured 
implements Tool {
 
 FilteredScanTest(Connection con, TestOptions options, Status status) {
   super(con, options, status);
+  if (opts.perClientRunRows == DEFAULT_ROWS_PER_GB) {
+LOG.warn("Option \"rows\" unspecified. Using default value " + 
DEFAULT_ROWS_PER_GB
++ ". This could take a very long time.");
+  }
 }
 
 @Override



hbase git commit: HBASE-20890 PE filterScan seems to be stuck forever

2018-08-27 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 424706ab4 -> 2750a574a


HBASE-20890 PE filterScan seems to be stuck forever


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

Branch: refs/heads/branch-1.3
Commit: 2750a574a08d635ab71bfe21750f055a66831aab
Parents: 424706a
Author: Vikas Vishwakarma 
Authored: Mon Aug 27 12:39:17 2018 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 27 12:39:17 2018 +0530

--
 .../test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/2750a574/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index dbc13e6..66a2dce 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -1759,6 +1759,10 @@ public class PerformanceEvaluation extends Configured 
implements Tool {
 
 FilteredScanTest(Connection con, TestOptions options, Status status) {
   super(con, options, status);
+  if (opts.perClientRunRows == DEFAULT_ROWS_PER_GB) {
+LOG.warn("Option \"rows\" unspecified. Using default value " + 
DEFAULT_ROWS_PER_GB
++ ". This could take a very long time.");
+  }
 }
 
 @Override



hbase git commit: HBASE-21028 Backport HBASE-18633 to branch-1.3

2018-08-13 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 68981ee72 -> fe55991b8


HBASE-21028 Backport HBASE-18633 to branch-1.3


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

Branch: refs/heads/branch-1.3
Commit: fe55991b8ea242bc9a460f83602753d63c8e33df
Parents: 68981ee
Author: Vikas Vishwakarma 
Authored: Tue Aug 14 08:37:59 2018 +0530
Committer: Vikas Vishwakarma 
Committed: Tue Aug 14 08:37:59 2018 +0530

--
 .../hadoop/hbase/regionserver/RSRpcServices.java   | 13 +
 .../hbase/regionserver/TestMultiLogThreshold.java  | 12 
 2 files changed, 17 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/fe55991b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index 0037f5f..151a864 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -1008,16 +1008,17 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   // Exposed for testing
   static interface LogDelegate {
-void logBatchWarning(int sum, int rowSizeWarnThreshold);
+void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold);
   }
 
   private static LogDelegate DEFAULT_LOG_DELEGATE = new LogDelegate() {
 @Override
-public void logBatchWarning(int sum, int rowSizeWarnThreshold) {
+public void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold) {
   if (LOG.isWarnEnabled()) {
 LOG.warn("Large batch operation detected (greater than " + 
rowSizeWarnThreshold
 + ") (HBASE-18023)." + " Requested Number of Rows: " + sum + " 
Client: "
-+ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress());
++ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress()
++ " first region in multi=" + firstRegionName);
   }
 }
   };
@@ -2241,11 +2242,15 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   private void checkBatchSizeAndLogLargeSize(MultiRequest request) {
 int sum = 0;
+String firstRegionName = null;
 for (RegionAction regionAction : request.getRegionActionList()) {
+  if (sum == 0) {
+firstRegionName = 
Bytes.toStringBinary(regionAction.getRegion().getValue().toByteArray());
+  }
   sum += regionAction.getActionCount();
 }
 if (sum > rowSizeWarnThreshold) {
-  ld.logBatchWarning(sum, rowSizeWarnThreshold);
+  ld.logBatchWarning(firstRegionName, sum, rowSizeWarnThreshold);
 }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/fe55991b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
index 23ab1ff..955b613 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
@@ -119,25 +119,29 @@ public class TestMultiLogThreshold {
   @Test
   public void testMultiLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(),
+  Mockito.anyInt());
   }
 
   @Test
   public void testMultiNoLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.never()).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.never()).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(),
+  Mockito.anyInt());
   }
 
   @Test
   public void testMultiLogThresholdActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.ACTIONS);
-verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, 

hbase git commit: HBASE-20866 HBase 1.x scan performance degradation compared to 0.98 version

2018-07-15 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-1.3 2568abe31 -> f4fb871a1


HBASE-20866 HBase 1.x scan performance degradation compared to 0.98 version


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

Branch: refs/heads/branch-1.3
Commit: f4fb871a197c1c021db55ad101f25b63c956a1c7
Parents: 2568abe
Author: Vikas Vishwakarma 
Authored: Sun Jul 15 11:37:08 2018 +0530
Committer: Vikas Vishwakarma 
Committed: Sun Jul 15 11:37:08 2018 +0530

--
 .../hadoop/hbase/client/ClientScanner.java  | 108 +--
 1 file changed, 52 insertions(+), 56 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/f4fb871a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
--
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
index ecaab99..7a8ae03 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
@@ -19,10 +19,8 @@ package org.apache.hadoop.hbase.client;
 
 import java.io.IOException;
 import java.io.InterruptedIOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.LinkedList;
-import java.util.List;
 import java.util.concurrent.ExecutorService;
 
 import org.apache.commons.logging.Log;
@@ -67,6 +65,8 @@ public class ClientScanner extends AbstractClientScanner {
   protected HRegionInfo currentRegion = null;
   protected ScannerCallableWithReplicas callable = null;
   protected final LinkedList cache = new LinkedList();
+  protected long remainingResultSize;
+  protected int countdown;
   /**
* A list of partial results that have been returned from the server. This 
list should only
* contain results if this scanner does not have enough partial results to 
form the complete
@@ -408,8 +408,8 @@ public class ClientScanner extends AbstractClientScanner {
*/
   protected void loadCache() throws IOException {
 Result[] values = null;
-long remainingResultSize = maxScannerResultSize;
-int countdown = this.caching;
+remainingResultSize = maxScannerResultSize;
+countdown = this.caching;
 // This is possible if we just stopped at the boundary of a region in the 
previous call.
 if (callable == null) {
   if (!nextScanner(countdown, false)) {
@@ -522,27 +522,7 @@ public class ClientScanner extends AbstractClientScanner {
   // Groom the array of Results that we received back from the server 
before adding that
   // Results to the scanner's cache. If partial results are not allowed to 
be seen by the
   // caller, all book keeping will be performed within this method.
-  List resultsToAddToCache =
-  getResultsToAddToCache(values, callable.isHeartbeatMessage());
-  if (!resultsToAddToCache.isEmpty()) {
-for (Result rs : resultsToAddToCache) {
-  rs = filterLoadedCell(rs);
-  if (rs == null) {
-continue;
-  }
-  cache.add(rs);
-  for (Cell cell : rs.rawCells()) {
-remainingResultSize -= CellUtil.estimatedHeapSizeOf(cell);
-  }
-  countdown--;
-  this.lastResult = rs;
-  if (this.lastResult.isPartial() || scan.getBatch() > 0) {
-updateLastCellLoadedToCache(this.lastResult);
-  } else {
-this.lastCellLoadedToCache = null;
-  }
-}
-  }
+  loadResultsToCache(values, callable.isHeartbeatMessage());
   boolean exhausted = regionExhausted(values);
   if (callable.isHeartbeatMessage()) {
 if (!cache.isEmpty()) {
@@ -593,34 +573,31 @@ public class ClientScanner extends AbstractClientScanner {
   /**
* This method ensures all of our book keeping regarding partial results is 
kept up to date. This
* method should be called once we know that the results we received back 
from the RPC request do
-   * not contain errors. We return a list of results that should be added to 
the cache. In general,
+   * not contain errors. We groom a list of results that should be added to 
the cache. In general,
* this list will contain all NON-partial results from the input array 
(unless the client has
* specified that they are okay with receiving partial results)
* @param resultsFromServer The array of {@link Result}s returned from the 
server
* @param heartbeatMessage Flag indicating whether or not the response 
received from the server
*  

hbase git commit: HBASE-18633 Add more info to understand the source/scenario of large batch requests exceeding threshold

2017-08-29 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-1.4 a6f0b95c9 -> 95cc5aac0


HBASE-18633 Add more info to understand the source/scenario of large batch 
requests exceeding threshold


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

Branch: refs/heads/branch-1.4
Commit: 95cc5aac0453e7b49a476c09697940d56eec3837
Parents: a6f0b95
Author: Vikas Vishwakarma 
Authored: Wed Aug 23 16:48:17 2017 +0530
Committer: Vikas Vishwakarma 
Committed: Wed Aug 30 08:44:30 2017 +0530

--
 .../hadoop/hbase/regionserver/RSRpcServices.java   | 13 +
 .../hbase/regionserver/TestMultiLogThreshold.java  |  8 
 2 files changed, 13 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/95cc5aac/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index 6afc3cc..24d6d4c 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -1028,16 +1028,17 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   // Exposed for testing
   static interface LogDelegate {
-void logBatchWarning(int sum, int rowSizeWarnThreshold);
+void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold);
   }
 
   private static LogDelegate DEFAULT_LOG_DELEGATE = new LogDelegate() {
 @Override
-public void logBatchWarning(int sum, int rowSizeWarnThreshold) {
+public void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold) {
   if (LOG.isWarnEnabled()) {
 LOG.warn("Large batch operation detected (greater than " + 
rowSizeWarnThreshold
 + ") (HBASE-18023)." + " Requested Number of Rows: " + sum + " 
Client: "
-+ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress());
++ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress()
++ " first region in multi=" + firstRegionName);
   }
 }
   };
@@ -2270,11 +2271,15 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   private void checkBatchSizeAndLogLargeSize(MultiRequest request) {
 int sum = 0;
+String firstRegionName = null;
 for (RegionAction regionAction : request.getRegionActionList()) {
+  if (sum == 0) {
+firstRegionName = 
Bytes.toStringBinary(regionAction.getRegion().getValue().toByteArray());
+  }
   sum += regionAction.getActionCount();
 }
 if (sum > rowSizeWarnThreshold) {
-  ld.logBatchWarning(sum, rowSizeWarnThreshold);
+  ld.logBatchWarning(firstRegionName, sum, rowSizeWarnThreshold);
 }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/95cc5aac/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
index 23ab1ff..9e0c687 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
@@ -119,25 +119,25 @@ public class TestMultiLogThreshold {
   @Test
   public void testMultiLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiNoLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.never()).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.never()).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiLogThresholdActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.ACTIONS);
-verify(LD, 

hbase git commit: HBASE-18633 Add more info to understand the source/scenario of large batch requests exceeding threshold

2017-08-28 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-2 0142c0921 -> 62c3439dd


HBASE-18633 Add more info to understand the source/scenario of large batch 
requests exceeding threshold


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

Branch: refs/heads/branch-2
Commit: 62c3439dd716828439d0ee622fdcf5a3a25157ad
Parents: 0142c09
Author: Vikas Vishwakarma 
Authored: Wed Aug 23 11:34:10 2017 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 28 15:32:49 2017 +0530

--
 .../hadoop/hbase/regionserver/RSRpcServices.java   | 13 +
 .../hbase/regionserver/TestMultiLogThreshold.java  |  8 
 2 files changed, 13 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/62c3439d/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index 7fc025a..707321d 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -1131,16 +1131,17 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   // Exposed for testing
   static interface LogDelegate {
-void logBatchWarning(int sum, int rowSizeWarnThreshold);
+void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold);
   }
 
   private static LogDelegate DEFAULT_LOG_DELEGATE = new LogDelegate() {
 @Override
-public void logBatchWarning(int sum, int rowSizeWarnThreshold) {
+public void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold) {
   if (LOG.isWarnEnabled()) {
 LOG.warn("Large batch operation detected (greater than " + 
rowSizeWarnThreshold
 + ") (HBASE-18023)." + " Requested Number of Rows: " + sum + " 
Client: "
-+ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress());
++ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress()
++ " first region in multi=" + firstRegionName);
   }
 }
   };
@@ -2513,11 +2514,15 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   private void checkBatchSizeAndLogLargeSize(MultiRequest request) {
 int sum = 0;
+String firstRegionName = null;
 for (RegionAction regionAction : request.getRegionActionList()) {
+  if (sum == 0) {
+firstRegionName = 
Bytes.toStringBinary(regionAction.getRegion().getValue().toByteArray());
+  }
   sum += regionAction.getActionCount();
 }
 if (sum > rowSizeWarnThreshold) {
-  ld.logBatchWarning(sum, rowSizeWarnThreshold);
+  ld.logBatchWarning(firstRegionName, sum, rowSizeWarnThreshold);
 }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/62c3439d/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
index 6a5dc64..e18e8dd 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
@@ -117,25 +117,25 @@ public class TestMultiLogThreshold {
   @Test
   public void testMultiLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiNoLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.never()).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.never()).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiLogThresholdActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.ACTIONS);
-verify(LD, 

hbase git commit: HBASE-18633 Add more info to understand the source/scenario of large batch requests exceeding threshold

2017-08-28 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/branch-1 dbe60e385 -> f071e56a9


HBASE-18633 Add more info to understand the source/scenario of large batch 
requests exceeding threshold


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

Branch: refs/heads/branch-1
Commit: f071e56a9e9c231b7e834c26835db9f472dc824f
Parents: dbe60e3
Author: Vikas Vishwakarma 
Authored: Wed Aug 23 16:48:17 2017 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 28 15:30:40 2017 +0530

--
 .../hadoop/hbase/regionserver/RSRpcServices.java   | 13 +
 .../hbase/regionserver/TestMultiLogThreshold.java  |  8 
 2 files changed, 13 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/f071e56a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index cd73e32..d3c8772 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -1026,16 +1026,17 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   // Exposed for testing
   static interface LogDelegate {
-void logBatchWarning(int sum, int rowSizeWarnThreshold);
+void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold);
   }
 
   private static LogDelegate DEFAULT_LOG_DELEGATE = new LogDelegate() {
 @Override
-public void logBatchWarning(int sum, int rowSizeWarnThreshold) {
+public void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold) {
   if (LOG.isWarnEnabled()) {
 LOG.warn("Large batch operation detected (greater than " + 
rowSizeWarnThreshold
 + ") (HBASE-18023)." + " Requested Number of Rows: " + sum + " 
Client: "
-+ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress());
++ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress()
++ " first region in multi=" + firstRegionName);
   }
 }
   };
@@ -2268,11 +2269,15 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   private void checkBatchSizeAndLogLargeSize(MultiRequest request) {
 int sum = 0;
+String firstRegionName = null;
 for (RegionAction regionAction : request.getRegionActionList()) {
+  if (sum == 0) {
+firstRegionName = 
Bytes.toStringBinary(regionAction.getRegion().getValue().toByteArray());
+  }
   sum += regionAction.getActionCount();
 }
 if (sum > rowSizeWarnThreshold) {
-  ld.logBatchWarning(sum, rowSizeWarnThreshold);
+  ld.logBatchWarning(firstRegionName, sum, rowSizeWarnThreshold);
 }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/f071e56a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
index 23ab1ff..9e0c687 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
@@ -119,25 +119,25 @@ public class TestMultiLogThreshold {
   @Test
   public void testMultiLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiNoLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.never()).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.never()).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiLogThresholdActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.ACTIONS);
-verify(LD, 

hbase git commit: HBASE-18633 Add more info to understand the source/scenario of large batch requests exceeding threshold

2017-08-28 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/master d63a287bf -> 4e7f67717


HBASE-18633 Add more info to understand the source/scenario of large batch 
requests exceeding threshold


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

Branch: refs/heads/master
Commit: 4e7f67717033afb46aac045a8ca81dbd2140bc9e
Parents: d63a287
Author: Vikas Vishwakarma 
Authored: Wed Aug 23 11:34:10 2017 +0530
Committer: Vikas Vishwakarma 
Committed: Mon Aug 28 15:20:21 2017 +0530

--
 .../hadoop/hbase/regionserver/RSRpcServices.java   | 13 +
 .../hbase/regionserver/TestMultiLogThreshold.java  |  8 
 2 files changed, 13 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/4e7f6771/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
--
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index 7fc025a..707321d 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -1131,16 +1131,17 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   // Exposed for testing
   static interface LogDelegate {
-void logBatchWarning(int sum, int rowSizeWarnThreshold);
+void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold);
   }
 
   private static LogDelegate DEFAULT_LOG_DELEGATE = new LogDelegate() {
 @Override
-public void logBatchWarning(int sum, int rowSizeWarnThreshold) {
+public void logBatchWarning(String firstRegionName, int sum, int 
rowSizeWarnThreshold) {
   if (LOG.isWarnEnabled()) {
 LOG.warn("Large batch operation detected (greater than " + 
rowSizeWarnThreshold
 + ") (HBASE-18023)." + " Requested Number of Rows: " + sum + " 
Client: "
-+ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress());
++ RpcServer.getRequestUserName() + "/" + 
RpcServer.getRemoteAddress()
++ " first region in multi=" + firstRegionName);
   }
 }
   };
@@ -2513,11 +2514,15 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
 
   private void checkBatchSizeAndLogLargeSize(MultiRequest request) {
 int sum = 0;
+String firstRegionName = null;
 for (RegionAction regionAction : request.getRegionActionList()) {
+  if (sum == 0) {
+firstRegionName = 
Bytes.toStringBinary(regionAction.getRegion().getValue().toByteArray());
+  }
   sum += regionAction.getActionCount();
 }
 if (sum > rowSizeWarnThreshold) {
-  ld.logBatchWarning(sum, rowSizeWarnThreshold);
+  ld.logBatchWarning(firstRegionName, sum, rowSizeWarnThreshold);
 }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e7f6771/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
--
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
index 6a5dc64..e18e8dd 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiLogThreshold.java
@@ -117,25 +117,25 @@ public class TestMultiLogThreshold {
   @Test
   public void testMultiLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.times(1)).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiNoLogThresholdRegionActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD, ActionType.REGION_ACTIONS);
-verify(LD, Mockito.never()).logBatchWarning(Mockito.anyInt(), 
Mockito.anyInt());
+verify(LD, Mockito.never()).logBatchWarning(Mockito.anyString(), 
Mockito.anyInt(), Mockito.anyInt());
   }
 
   @Test
   public void testMultiLogThresholdActions() throws ServiceException, 
IOException {
 sendMultiRequest(THRESHOLD + 1, ActionType.ACTIONS);
-verify(LD, 

hbase git commit: add vikasv to pom.xml

2017-07-26 Thread vikasv
Repository: hbase
Updated Branches:
  refs/heads/master 6dec2b3aa -> c4b802b1c


add vikasv to pom.xml


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

Branch: refs/heads/master
Commit: c4b802b1c2a5daea8103e7a446f9eed805484c74
Parents: 6dec2b3
Author: Vikas Vishwakarma <vik...@apache.org>
Authored: Wed Jul 26 17:39:47 2017 +0530
Committer: Vikas Vishwakarma <vik...@apache.org>
Committed: Wed Jul 26 17:39:47 2017 +0530

--
 pom.xml | 6 ++
 1 file changed, 6 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/hbase/blob/c4b802b1/pom.xml
--
diff --git a/pom.xml b/pom.xml
index d986f7e..63d6925 100644
--- a/pom.xml
+++ b/pom.xml
@@ -495,6 +495,12 @@
   -8
 
 
+  vikasv
+  Vikas Vishwakarma
+  vik...@apache.org
+  +5
+
+
   virag
   Virag Kothari
   vi...@yahoo-inc.com