You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2015/11/18 05:36:33 UTC
hbase git commit: Revert "HBASE-14689 Addendum and unit test for
HBASE-13471"
Repository: hbase
Updated Branches:
refs/heads/master 623dc1303 -> 5ebd7660a
Revert "HBASE-14689 Addendum and unit test for HBASE-13471"
This reverts commit 4c04e8065f205a89b84670a9865149237499dd86.
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5ebd7660
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5ebd7660
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5ebd7660
Branch: refs/heads/master
Commit: 5ebd7660a94bfb18e6e05b6e46195c76c099eda2
Parents: 623dc13
Author: Enis Soztutar <en...@apache.org>
Authored: Tue Nov 17 20:33:55 2015 -0800
Committer: Enis Soztutar <en...@apache.org>
Committed: Tue Nov 17 20:36:18 2015 -0800
----------------------------------------------------------------------
.../hadoop/hbase/regionserver/HRegion.java | 14 +++--
.../hadoop/hbase/regionserver/TestHRegion.java | 56 +-------------------
2 files changed, 8 insertions(+), 62 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/5ebd7660/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 994270b..a1b2732 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
@@ -2971,12 +2971,11 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
} catch (IOException ioe) {
LOG.warn("Failed getting lock in batch put, row="
+ Bytes.toStringBinary(mutation.getRow()), ioe);
- throw ioe;
}
if (rowLock == null) {
// We failed to grab another lock
- throw new IOException("Failed getting lock in batch put, row=" +
- Bytes.toStringBinary(mutation.getRow()));
+ assert false: "Should never fail to get lock when blocking";
+ break; // stop acquiring more rows for this batch
} else {
acquiredRowLocks.add(rowLock);
}
@@ -5065,7 +5064,6 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
* @param readLock is the lock reader or writer. True indicates that a non-exlcusive
* lock is requested
*/
- @Override
public RowLock getRowLock(byte[] row, boolean readLock) throws IOException {
// Make sure the row is inside of this region before getting the lock for it.
checkRow(row, "row lock");
@@ -6959,7 +6957,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
*/
private static List<Tag> carryForwardTags(final Cell cell, final List<Tag> tags) {
if (cell.getTagsLength() <= 0) return tags;
- List<Tag> newTags = tags == null? new ArrayList<Tag>(): /*Append Tags*/tags;
+ List<Tag> newTags = tags == null? new ArrayList<Tag>(): /*Append Tags*/tags;
Iterator<Tag> i =
CellUtil.tagsIterator(cell.getTagsArray(), cell.getTagsOffset(), cell.getTagsLength());
while (i.hasNext()) newTags.add(i.next());
@@ -7239,7 +7237,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
// They are subtley different in quiet a few ways. This came out only
// after study. I am not sure that many of the differences are intentional.
- // TODO: St.Ack 20150907
+ // TODO: St.Ack 20150907
@Override
public Result increment(Increment mutation, long nonceGroup, long nonce)
@@ -7253,7 +7251,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
boolean writeToWAL = durability != Durability.SKIP_WAL;
WALEdit walEdits = null;
List<Cell> allKVs = new ArrayList<Cell>(mutation.size());
-
+
Map<Store, List<Cell>> tempMemstore = new HashMap<Store, List<Cell>>();
long size = 0;
long txid = 0;
@@ -8055,7 +8053,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
WALKey key = new HLogKey(getRegionInfo().getEncodedNameAsBytes(),
getRegionInfo().getTable(), WALKey.NO_SEQUENCE_ID, 0, null,
HConstants.NO_NONCE, HConstants.NO_NONCE, getMVCC());
-
+
// Call append but with an empty WALEdit. The returned sequence id will not be associated
// with any edit and we can be sure it went in after all outstanding appends.
try {
http://git-wip-us.apache.org/repos/asf/hbase/blob/5ebd7660/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
index abd6d3f..253ab9f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
@@ -56,11 +56,7 @@ import java.util.Map;
import java.util.NavigableMap;
import java.util.TreeMap;
import java.util.UUID;
-import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
@@ -103,7 +99,6 @@ import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Increment;
-import org.apache.hadoop.hbase.client.Mutation;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.RowMutations;
@@ -6172,7 +6167,7 @@ public class TestHRegion {
key.setWriteEntry(we);
return 1L;
}
-
+
});
return wal;
}
@@ -6195,7 +6190,7 @@ public class TestHRegion {
// capture append() calls
WAL wal = mockWAL();
when(rss.getWAL((HRegionInfo) any())).thenReturn(wal);
-
+
// open a region first so that it can be closed later
region = HRegion.openHRegion(hri, htd, rss.getWAL(hri),
@@ -6535,53 +6530,6 @@ public class TestHRegion {
qual2, 0, qual2.length));
}
- @Test(timeout = 30000)
- public void testBatchMutateWithWrongRegionException() throws IOException, InterruptedException {
- final byte[] a = Bytes.toBytes("a");
- final byte[] b = Bytes.toBytes("b");
- final byte[] c = Bytes.toBytes("c"); // exclusive
-
- int prevLockTimeout = CONF.getInt("hbase.rowlock.wait.duration", 30000);
- CONF.setInt("hbase.rowlock.wait.duration", 3000);
- final HRegion region = initHRegion(tableName, a, c, name.getMethodName(), CONF, false, fam1);
-
- Mutation[] mutations = new Mutation[] {
- new Put(a).addImmutable(fam1, null, null),
- new Put(c).addImmutable(fam1, null, null), // this is outside the region boundary
- new Put(b).addImmutable(fam1, null, null),
- };
-
- OperationStatus[] status = region.batchMutate(mutations);
- assertEquals(status[0].getOperationStatusCode(), OperationStatusCode.SUCCESS);
- assertEquals(status[1].getOperationStatusCode(), OperationStatusCode.SANITY_CHECK_FAILURE);
- assertEquals(status[2].getOperationStatusCode(), OperationStatusCode.SUCCESS);
-
- // test with a leaked row lock
- ExecutorService exec = Executors.newSingleThreadExecutor();
- exec.submit(new Callable<Void>() {
- @Override
- public Void call() throws Exception {
- region.getRowLock(b);
- return null;
- }
- });
- exec.shutdown();
- exec.awaitTermination(30, TimeUnit.SECONDS);
-
- mutations = new Mutation[] {
- new Put(a).addImmutable(fam1, null, null),
- new Put(b).addImmutable(fam1, null, null),
- };
-
- try {
- status = region.batchMutate(mutations);
- fail("Failed to throw exception");
- } catch (IOException expected) {
- }
-
- CONF.setInt("hbase.rowlock.wait.duration", prevLockTimeout);
- }
-
static HRegion initHRegion(TableName tableName, String callingMethod,
byte[]... families) throws IOException {
return initHRegion(tableName, callingMethod, HBaseConfiguration.create(),