You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2018/08/20 22:31:46 UTC
[1/3] hbase git commit: HBASE-21069 NPE in StoreScanner.updateReaders
causes RS to crash
Repository: hbase
Updated Branches:
refs/heads/branch-1.2 22d2c72c0 -> 7e473dded
refs/heads/branch-1.3 d1b0c3223 -> e81832f41
HBASE-21069 NPE in StoreScanner.updateReaders causes RS to crash
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1243968d
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1243968d
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1243968d
Branch: refs/heads/branch-1.3
Commit: 1243968de1daacf1a3d3307015ed943dc77e87ad
Parents: d1b0c32
Author: Andrew Purtell <ap...@apache.org>
Authored: Fri Aug 17 15:34:18 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Aug 20 15:16:29 2018 -0700
----------------------------------------------------------------------
.../org/apache/hadoop/hbase/regionserver/StoreScanner.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/1243968d/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
index da2f5ae..c3f3d07 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
@@ -816,7 +816,7 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
@Override
public void updateReaders(List<StoreFile> sfs, List<KeyValueScanner> memStoreScanners) throws IOException {
if (CollectionUtils.isEmpty(sfs)
- && CollectionUtils.isEmpty(memStoreScanners)) {
+ && (memStoreScanners == null || CollectionUtils.isEmpty(memStoreScanners))) {
return;
}
flushLock.lock();
@@ -824,7 +824,9 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
if (this.closing) {
// Lets close scanners created by caller, since close() won't notice this.
// memStoreScanners is immutable, so lets create a new list.
- clearAndClose(new ArrayList<>(memStoreScanners));
+ if (memStoreScanners != null) {
+ clearAndClose(new ArrayList<>(memStoreScanners));
+ }
return;
}
flushed = true;
@@ -839,7 +841,7 @@ public class StoreScanner extends NonReversedNonLazyKeyValueScanner
List<KeyValueScanner> scanners = store.getScanners(sfs, cacheBlocks, get, usePread,
isCompaction, matcher, scan.getStartRow(), scan.getStopRow(), this.readPt, false);
flushedstoreFileScanners.addAll(scanners);
- if (!CollectionUtils.isEmpty(memStoreScanners)) {
+ if (memStoreScanners != null && !CollectionUtils.isEmpty(memStoreScanners)) {
clearAndClose(memStoreScannersAfterFlush);
memStoreScannersAfterFlush.addAll(memStoreScanners);
}
[3/3] hbase git commit: HBASE-21042 processor.getRowsToLock() always
assumes there is some row being locked in HRegion#processRowsWithLocks
Posted by ap...@apache.org.
HBASE-21042 processor.getRowsToLock() always assumes there is some row being locked in HRegion#processRowsWithLocks
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7e473dde
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7e473dde
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7e473dde
Branch: refs/heads/branch-1.2
Commit: 7e473ddedb919fe27ebc804e8dc93f640467981a
Parents: 22d2c72
Author: tedyu <yu...@gmail.com>
Authored: Sat Aug 18 11:48:42 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Aug 20 15:26:00 2018 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/regionserver/HRegion.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/7e473dde/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 0ead229..e6b65a9 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -7165,8 +7165,9 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
// different. Make them all share same code!
if (!mutations.isEmpty() && !walSyncSuccessful) {
LOG.warn("Wal sync failed. Roll back " + mutations.size() +
- " memstore keyvalues for row(s):" + StringUtils.byteToHexString(
- processor.getRowsToLock().iterator().next()) + "...");
+ " memstore keyvalues" + (processor.getRowsToLock().isEmpty() ? "" :
+ (" for row(s):" + StringUtils.byteToHexString(
+ processor.getRowsToLock().iterator().next()) + "...")));
for (Mutation m : mutations) {
for (CellScanner cellScanner = m.cellScanner(); cellScanner.advance();) {
Cell cell = cellScanner.current();
[2/3] hbase git commit: HBASE-21042 processor.getRowsToLock() always
assumes there is some row being locked in HRegion#processRowsWithLocks
Posted by ap...@apache.org.
HBASE-21042 processor.getRowsToLock() always assumes there is some row being locked in HRegion#processRowsWithLocks
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e81832f4
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e81832f4
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e81832f4
Branch: refs/heads/branch-1.3
Commit: e81832f41eefdd01b91d16e835ba4cd767aa47e3
Parents: 1243968
Author: tedyu <yu...@gmail.com>
Authored: Sat Aug 18 11:48:42 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Mon Aug 20 15:22:49 2018 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/regionserver/HRegion.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/e81832f4/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
index 7d62f4e..26a5958 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
@@ -7372,8 +7372,9 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
// different. Make them all share same code!
if (!mutations.isEmpty() && !walSyncSuccessful) {
LOG.warn("Wal sync failed. Roll back " + mutations.size() +
- " memstore keyvalues for row(s):" + StringUtils.byteToHexString(
- processor.getRowsToLock().iterator().next()) + "...");
+ " memstore keyvalues" + (processor.getRowsToLock().isEmpty() ? "" :
+ (" for row(s):" + StringUtils.byteToHexString(
+ processor.getRowsToLock().iterator().next()) + "...")));
for (Mutation m : mutations) {
for (CellScanner cellScanner = m.cellScanner(); cellScanner.advance();) {
Cell cell = cellScanner.current();