hbase git commit: HBASE-20890 PE filterScan seems to be stuck forever
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
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
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
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
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
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
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
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 VishwakarmaAuthored: 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
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 VishwakarmaAuthored: 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
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 VishwakarmaAuthored: 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
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 VishwakarmaAuthored: 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
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