You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jm...@apache.org on 2016/01/14 18:09:04 UTC

[50/50] [abbrv] hbase git commit: HBASE-15104 Occasional failures due to NotServingRegionException in IT tests (Huaxiang Sun)

HBASE-15104 Occasional failures due to NotServingRegionException in IT tests (Huaxiang Sun)


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

Branch: refs/heads/trunk
Commit: dc57996ca6d52b48c7f274956c0deca513ea7a83
Parents: c8b9754
Author: Jonathan M Hsieh <jm...@apache.org>
Authored: Thu Jan 14 07:59:33 2016 -0800
Committer: Jonathan M Hsieh <jm...@apache.org>
Committed: Thu Jan 14 07:59:33 2016 -0800

----------------------------------------------------------------------
 .../chaos/actions/ChangeCompressionAction.java  | 21 +++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/dc57996c/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java
index 0d7f7ae..9c7bf45 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/ChangeCompressionAction.java
@@ -26,6 +26,7 @@ import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
 import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
+import org.apache.hadoop.io.compress.Compressor;
 
 /**
  * Action that changes the compression algorithm on a column family from a list of tables.
@@ -62,7 +63,25 @@ public class ChangeCompressionAction extends Action {
 
     // Since not every compression algorithm is supported,
     // let's use the same algorithm for all column families.
-    Algorithm algo = possibleAlgos[random.nextInt(possibleAlgos.length)];
+
+    // If an unsupported compression algorithm is chosen, pick a different one.
+    // This is to work around the issue that modifyTable() does not throw remote
+    // exception.
+    Algorithm algo;
+    do {
+      algo = possibleAlgos[random.nextInt(possibleAlgos.length)];
+
+      try {
+        Compressor c = algo.getCompressor();
+
+        // call returnCompressor() to release the Compressor
+        algo.returnCompressor(c);
+        break;
+      } catch (Throwable t) {
+        LOG.info("Performing action: Changing compression algorithms to " + algo +
+                " is not supported, pick another one");
+      }
+    } while (true);
 
     LOG.debug("Performing action: Changing compression algorithms on "
       + tableName.getNameAsString() + " to " + algo);