You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/04/16 00:16:15 UTC
svn commit: r934625 - in /hadoop/hbase/branches/0.20_pre_durability:
bin/hbase conf/hbase-env.sh
src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
src/test/org/apache/hadoop/hbase/regionserver/TestHRegion.java
Author: stack
Date: Thu Apr 15 22:16:15 2010
New Revision: 934625
URL: http://svn.apache.org/viewvc?rev=934625&view=rev
Log:
HBASE-2248 Provide new non-copy mechanism to assure atomic reads in get and scan; added in HBASE-2248-no-row-locks.txt
Modified:
hadoop/hbase/branches/0.20_pre_durability/bin/hbase
hadoop/hbase/branches/0.20_pre_durability/conf/hbase-env.sh
hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestHRegion.java
Modified: hadoop/hbase/branches/0.20_pre_durability/bin/hbase
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/bin/hbase?rev=934625&r1=934624&r2=934625&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_pre_durability/bin/hbase (original)
+++ hadoop/hbase/branches/0.20_pre_durability/bin/hbase Thu Apr 15 22:16:15 2010
@@ -212,4 +212,5 @@ if [ "x$JAVA_LIBRARY_PATH" != "x" ]; the
fi
# run it
-exec "$JAVA" $JAVA_HEAP_MAX $HBASE_OPTS -classpath "$CLASSPATH" $CLASS "$@"
+exec "$JAVA" -javaagent:/Users/Stack/checkouts/jcarder.jar=outputdir=/tmp/jc-@TIME@ $JAVA_HEAP_MAX $HBASE_OPTS -classpath "$CLASSPATH" $CLASS "$@"
+#exec "$JAVA" $JAVA_HEAP_MAX $HBASE_OPTS -classpath "$CLASSPATH" $CLASS "$@"
Modified: hadoop/hbase/branches/0.20_pre_durability/conf/hbase-env.sh
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/conf/hbase-env.sh?rev=934625&r1=934624&r2=934625&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_pre_durability/conf/hbase-env.sh (original)
+++ hadoop/hbase/branches/0.20_pre_durability/conf/hbase-env.sh Thu Apr 15 22:16:15 2010
@@ -34,7 +34,7 @@
# Below are what we set by default. May only work with SUN JVM.
# For more on why as well as other possible settings,
# see http://wiki.apache.org/hadoop/PerformanceTuning
-export HBASE_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
+export HBASE_OPTS="$HBASE_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
# Uncomment below to enable java garbage collection logging.
# export HBASE_OPTS="$HBASE_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$HBASE_HOME/logs/gc-hbase.log"
Modified: hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=934625&r1=934624&r2=934625&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hadoop/hbase/branches/0.20_pre_durability/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java Thu Apr 15 22:16:15 2010
@@ -2466,11 +2466,11 @@ public class HRegion implements HConstan
//
/**
* @param get get object
- * @param lockid existing lock id, or null for no previous lock
+ * @param ignoredLockId lock id that is ignored
* @return result
* @throws IOException read exceptions
*/
- public Result get(final Get get, final Integer lockid) throws IOException {
+ public Result get(final Get get, final Integer ignoredLockId) throws IOException {
// Verify families are all valid
if (get.hasFamilies()) {
for (byte [] family: get.familySet()) {
@@ -2481,16 +2481,7 @@ public class HRegion implements HConstan
get.addFamily(family);
}
}
- // Lock row
- Integer lid = getLock(lockid, get.getRow());
- List<KeyValue> result = null;
- try {
- result = get(get);
- } finally {
- if(lockid == null)
- releaseRowLock(lid);
- }
- return new Result(result);
+ return new Result(get(get));
}
/*
Modified: hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestHRegion.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestHRegion.java?rev=934625&r1=934624&r2=934625&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestHRegion.java (original)
+++ hadoop/hbase/branches/0.20_pre_durability/src/test/org/apache/hadoop/hbase/regionserver/TestHRegion.java Thu Apr 15 22:16:15 2010
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.TreeMap;
import java.util.Arrays;
+import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -2029,7 +2030,7 @@ public class TestHRegion extends HBaseTe
}
protected class PutThread extends Thread {
- private volatile boolean done;
+ private final AtomicBoolean done = new AtomicBoolean(false);
private Throwable error = null;
private int numRows;
private byte[][] families;
@@ -2043,10 +2044,7 @@ public class TestHRegion extends HBaseTe
}
public void done() {
- done = true;
- synchronized (this) {
- interrupt();
- }
+ done.set(true);
}
public void checkNoError() {
@@ -2057,9 +2055,9 @@ public class TestHRegion extends HBaseTe
@Override
public void run() {
- done = false;
+ done.set(false);
int val = 0;
- while (!done) {
+ while (!done.get()) {
try {
for (int r = 0; r < numRows; r++) {
byte[] row = Bytes.toBytes("row" + r);
@@ -2102,7 +2100,7 @@ public class TestHRegion extends HBaseTe
public void testWritesWhileGetting()
throws IOException, InterruptedException {
byte[] tableName = Bytes.toBytes("testWritesWhileScanning");
- int testCount = 200;
+ int testCount = 100;
int numRows = 1;
int numFamilies = 10;
int numQualifiers = 100;
@@ -2137,7 +2135,7 @@ public class TestHRegion extends HBaseTe
}
if (i != 0 && i % flushInterval == 0) {
- //System.out.println("iteration = " + i);
+ System.out.println("iteration = " + i);
flushThread.flush();
}