[2/3] hbase git commit: Revert "HBASE-9465 Push entries to peer clusters serially"
http://git-wip-us.apache.org/repos/asf/hbase/blob/ba7a936f/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java deleted file mode 100644 index b0f687c..000 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java +++ /dev/null @@ -1,401 +0,0 @@ -/* - * Copyright The Apache Software Foundation - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.hbase.replication; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HBaseTestingUtility; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.HRegionInfo; -import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.HTestConst; -import org.apache.hadoop.hbase.MetaTableAccessor; -import org.apache.hadoop.hbase.ServerName; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.client.replication.ReplicationAdmin; -import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; -import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.apache.hadoop.hbase.testclassification.ReplicationTests; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; -import org.apache.hadoop.hbase.util.Pair; -import org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster; -import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.experimental.categories.Category; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -@Category({ ReplicationTests.class, LargeTests.class }) -public class TestSerialReplication { - private static final Log LOG = LogFactory.getLog(TestSerialReplication.class); - - private static Configuration conf1; - private static Configuration conf2; - - private static HBaseTestingUtility utility1; - private static HBaseTestingUtility utility2; - - private static final byte[] famName = Bytes.toBytes("f"); - private static final byte[] VALUE = Bytes.toBytes("v"); - private static final byte[] ROW = Bytes.toBytes("r"); - private static final byte[][] ROWS = HTestConst.makeNAscii(ROW, 100); - - @BeforeClass - public static void setUpBeforeClass() throws Exception { -conf1 = HBaseConfiguration.create(); -conf1.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/1"); -// smaller block size and capacity to trigger more operations -// and test them -conf1.setInt("hbase.regionserver.hlog.blocksize", 1024 * 20); -conf1.setInt("replication.source.size.capacity", 1024); -conf1.setLong("replication.source.sleepforretries", 100); -conf1.setInt("hbase.regionserver.maxlogs", 10); -conf1.setLong("hbase.master.logcleaner.ttl", 10); -conf1.setBoolean("dfs.support.append", true); -conf1.setLong(HConstants.THREAD_WAKE_FREQUENCY, 100); -conf1.setStrings(CoprocessorHost.USER_REGION_COPROCESSOR_CONF_KEY, - "org.apache.hadoop.hbase.replication.TestMasterReplication$CoprocessorCounter"); -conf1.setLong("replication.source.per.peer.node.bandwidth", 100L);// Each WAL is 120 bytes -conf1.setLong("replication.source.size.capacity", 1L); -conf1.setLong(HConstants.REPLICATION_SERIALLY_WAITING_KEY, 1000L); -conf1.setBoolean("hbase.assignment.usezk", fa
[1/3] hbase git commit: Revert "HBASE-17010 Serial replication should handle daughter regions being assigned to another RS (Phil Yang)"
Repository: hbase Updated Branches: refs/heads/branch-1 4d9589b16 -> ba7a936f7 Revert "HBASE-17010 Serial replication should handle daughter regions being assigned to another RS (Phil Yang)" This reverts commit 97276da9a7cefc0472c487b60e4b6a03dc81610a. Signed-off-by: Andrew Purtell Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0a284d2b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0a284d2b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0a284d2b Branch: refs/heads/branch-1 Commit: 0a284d2b76ceb775ff1f916a45633e74a261c5b8 Parents: 4d9589b Author: Sean Busbey Authored: Tue Nov 7 17:02:13 2017 -0600 Committer: zhangduo Committed: Fri Feb 23 14:42:04 2018 +0800 -- .../apache/hadoop/hbase/HTableDescriptor.java | 12 .../apache/hadoop/hbase/MetaTableAccessor.java | 58 ++-- .../org/apache/hadoop/hbase/HConstants.java | 11 +--- .../master/cleaner/ReplicationMetaCleaner.java | 1 - 4 files changed, 32 insertions(+), 50 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0a284d2b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index fbb9376..1fd950a 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -1797,18 +1797,6 @@ public class HTableDescriptor implements WritableComparable { // Enable cache of data blocks in L1 if more than one caching tier deployed: // e.g. if using CombinedBlockCache (BucketCache). .setCacheDataInL1(true), - new HColumnDescriptor(HConstants.REPLICATION_META_FAMILY) - .setMaxVersions(conf.getInt(HConstants.HBASE_META_VERSIONS, - HConstants.DEFAULT_HBASE_META_VERSIONS)) - .setInMemory(true) - .setBlocksize(conf.getInt(HConstants.HBASE_META_BLOCK_SIZE, - HConstants.DEFAULT_HBASE_META_BLOCK_SIZE)) - .setScope(HConstants.REPLICATION_SCOPE_LOCAL) - // Disable blooms for meta. Needs work. Seems to mess w/ getClosestOrBefore. - .setBloomFilterType(BloomType.NONE) - // Enable cache of data blocks in L1 if more than one caching tier deployed: - // e.g. if using CombinedBlockCache (BucketCache). - .setCacheDataInL1(true), }); metaDescriptor.addCoprocessor( "org.apache.hadoop.hbase.coprocessor.MultiRowMutationEndpoint", http://git-wip-us.apache.org/repos/asf/hbase/blob/0a284d2b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java index 2bc98be..c7e3757 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java @@ -110,14 +110,14 @@ public class MetaTableAccessor { * The actual layout of meta should be encapsulated inside MetaTableAccessor methods, * and should not leak out of it (through Result objects, etc) * - * For replication serially, there are three column families "rep_barrier", "rep_position" and - * "rep_meta" whose row key is encodedRegionName. + * For replication serially, there are two column families "rep_barrier", "rep_position" whose + * row key is encodedRegionName. * rep_barrier:{seqid} => in each time a RS opens a region, it saves the open sequence * id in this region * rep_position:{peerid}=> to save the max sequence id we have pushed for each peer - * rep_meta:_TABLENAME_ => a special cell to save this region's table name, will used when + * rep_position:_TABLENAME_ => a special cell to save this region's table name, will used when * we clean old data - * rep_meta:_DAUGHTER_ => a special cell to present this region is split or merged, in this + * rep_position:_DAUGHTER_ => a special cell to present this region is split or merged, in this * cell the value is merged encoded name or two split encoded names * separated by "," */ @@ -125,10 +125,10 @@ public class MetaTableAccessor { private static final Log LOG = LogFactory.getLog(MetaTableAccessor.c
[3/3] hbase git commit: Revert "HBASE-9465 Push entries to peer clusters serially"
Revert "HBASE-9465 Push entries to peer clusters serially" This reverts commit 441bc050b991c14c048617bc443b97f46e21b76f. Conflicts: hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/Replication.java hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java Signed-off-by: Andrew Purtell Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ba7a936f Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ba7a936f Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ba7a936f Branch: refs/heads/branch-1 Commit: ba7a936f74985eb9d974fdc87b0d06cb8cd8473d Parents: 0a284d2 Author: Sean Busbey Authored: Tue Nov 7 23:50:35 2017 -0600 Committer: zhangduo Committed: Fri Feb 23 14:42:15 2018 +0800 -- .../apache/hadoop/hbase/HTableDescriptor.java | 46 +-- .../apache/hadoop/hbase/MetaTableAccessor.java | 243 ++- .../client/replication/ReplicationAdmin.java| 14 +- .../org/apache/hadoop/hbase/HConstants.java | 26 -- .../src/main/resources/hbase-default.xml| 14 - .../hbase/protobuf/generated/WALProtos.java | 16 +- hbase-protocol/src/main/protobuf/WAL.proto | 1 - .../org/apache/hadoop/hbase/master/HMaster.java | 9 - .../hadoop/hbase/master/RegionStateStore.java | 43 +- .../master/cleaner/ReplicationMetaCleaner.java | 187 - .../RegionMergeTransactionImpl.java | 3 +- .../hbase/regionserver/ReplicationService.java | 1 - .../regionserver/SplitTransactionImpl.java | 2 +- .../replication/regionserver/Replication.java | 14 +- .../regionserver/ReplicationSource.java | 68 +--- .../regionserver/ReplicationSourceManager.java | 87 +--- .../ReplicationSourceWALReaderThread.java | 31 -- .../java/org/apache/hadoop/hbase/wal/WAL.java | 13 - .../hadoop/hbase/TestMetaTableAccessor.java | 10 +- .../hadoop/hbase/client/TestMetaScanner.java| 2 +- .../master/TestAssignmentManagerOnCluster.java | 2 +- .../replication/TestSerialReplication.java | 401 --- .../regionserver/TestGlobalThrottler.java | 2 +- 23 files changed, 69 insertions(+), 1166 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/ba7a936f/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index 1fd950a..7f48976 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -34,12 +34,13 @@ import java.util.TreeMap; import java.util.TreeSet; import java.util.regex.Matcher; +import org.apache.hadoop.hbase.util.ByteStringer; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.classification.InterfaceAudience; import org.apache.hadoop.hbase.classification.InterfaceStability; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.RegionReplicaUtil; import org.apache.hadoop.hbase.exceptions.DeserializationException; @@ -51,7 +52,6 @@ import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.NameStringPair; import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.TableSchema; import org.apache.hadoop.hbase.regionserver.BloomType; import org.apache.hadoop.hbase.security.User; -import org.apache.hadoop.hbase.util.ByteStringer; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Writables; import org.apache.hadoop.io.WritableComparable; @@ -1217,18 +1217,6 @@ public class HTableDescriptor implements WritableComparable { } /** - * Return true if there are at least one cf whose replication scope is serial. - */ - public boolean hasSerialReplicationScope() { -for (HColumnDescriptor column: getFamilies()){ - if (column.getScope() == HConstants.REPLICATION_SCOPE_SERIAL){ -return true; - } -} -return false; - } - - /** * Returns the configured replicas per reg
[2/2] hbase git commit: HBASE-20048 Revert serial replication feature
HBASE-20048 Revert serial replication feature Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4ddfdaff Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4ddfdaff Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4ddfdaff Branch: refs/heads/branch-2 Commit: 4ddfdaffdcf83d50aac26fcff5e1ac4ecd575335 Parents: 8a22e41 Author: zhangduo Authored: Fri Feb 23 08:51:37 2018 +0800 Committer: zhangduo Committed: Fri Feb 23 13:54:10 2018 +0800 -- .../apache/hadoop/hbase/HTableDescriptor.java | 8 - .../apache/hadoop/hbase/MetaTableAccessor.java | 296 ++ .../hadoop/hbase/client/TableDescriptor.java| 9 +- .../hbase/client/TableDescriptorBuilder.java| 17 +- .../client/replication/ReplicationAdmin.java| 10 +- .../client/TestTableDescriptorBuilder.java | 25 +- .../org/apache/hadoop/hbase/HConstants.java | 33 -- .../src/main/resources/hbase-default.xml| 13 - hbase-protocol/src/main/protobuf/WAL.proto | 1 - .../org/apache/hadoop/hbase/master/HMaster.java | 8 +- .../master/assignment/RegionStateStore.java | 23 +- .../master/cleaner/ReplicationMetaCleaner.java | 191 - .../hbase/regionserver/HRegionServer.java | 77 ++-- .../hbase/regionserver/wal/FSWALEntry.java | 1 + .../RecoveredReplicationSourceShipper.java | 3 +- .../regionserver/ReplicationSourceManager.java | 121 +- .../regionserver/ReplicationSourceShipper.java | 76 +--- .../ReplicationSourceWALReader.java | 52 +-- .../hbase/snapshot/RestoreSnapshotHelper.java | 2 +- .../hadoop/hbase/util/FSTableDescriptors.java | 30 -- .../java/org/apache/hadoop/hbase/wal/WAL.java | 19 +- .../hadoop/hbase/TestMetaTableAccessor.java | 10 +- .../regionserver/TestRegionServerMetrics.java | 2 +- .../replication/TestSerialReplication.java | 400 --- .../regionserver/TestGlobalThrottler.java | 2 +- src/main/asciidoc/_chapters/ops_mgt.adoc| 41 +- 26 files changed, 87 insertions(+), 1383 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/4ddfdaff/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index c9807c3..e512b2c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -538,14 +538,6 @@ public class HTableDescriptor implements TableDescriptor, Comparablehttp://git-wip-us.apache.org/repos/asf/hbase/blob/4ddfdaff/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java index dad9aef..7d00f92 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java @@ -17,13 +17,14 @@ */ package org.apache.hadoop.hbase; +import edu.umd.cs.findbugs.annotations.NonNull; +import edu.umd.cs.findbugs.annotations.Nullable; import java.io.Closeable; import java.io.IOException; import java.io.InterruptedIOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -33,7 +34,6 @@ import java.util.SortedMap; import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell.Type; import org.apache.hadoop.hbase.client.Connection; @@ -71,9 +71,8 @@ import org.apache.hadoop.hbase.util.PairOfSameType; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting; -import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.Nullable; /** * Read/write operations on region and assignment information store in @@ -123,34 +122,14 @@ public class MetaTableAccessor { * region is the result of a merge * info:mergeB => contains a serialized HRI for the second parent region if the * region is the result of a merge + * * The actual layout of meta should be encapsulated i
[1/2] hbase git commit: HBASE-20048 Revert serial replication feature
Repository: hbase Updated Branches: refs/heads/branch-2 8a22e4119 -> 4ddfdaffd http://git-wip-us.apache.org/repos/asf/hbase/blob/4ddfdaff/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java deleted file mode 100644 index 88513ea..000 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java +++ /dev/null @@ -1,400 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.hbase.replication; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.HBaseClassTestRule; -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HBaseTestingUtility; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.HTestConst; -import org.apache.hadoop.hbase.MetaTableAccessor; -import org.apache.hadoop.hbase.ServerName; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.client.RegionInfo; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.client.replication.ReplicationAdmin; -import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; -import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.apache.hadoop.hbase.testclassification.ReplicationTests; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; -import org.apache.hadoop.hbase.util.Pair; -import org.apache.hadoop.hbase.util.Threads; -import org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster; -import org.apache.hadoop.hbase.zookeeper.ZKWatcher; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.Test; -import org.junit.experimental.categories.Category; -import org.junit.rules.TestName; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@Category({ ReplicationTests.class, LargeTests.class }) -public class TestSerialReplication { - - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestSerialReplication.class); - - private static final Logger LOG = LoggerFactory.getLogger(TestSerialReplication.class); - - private static Configuration conf1; - private static Configuration conf2; - - private static HBaseTestingUtility utility1; - private static HBaseTestingUtility utility2; - - private static final byte[] famName = Bytes.toBytes("f"); - private static final byte[] VALUE = Bytes.toBytes("v"); - private static final byte[] ROW = Bytes.toBytes("r"); - private static final byte[][] ROWS = HTestConst.makeNAscii(ROW, 100); - - @Rule - public TestName name = new TestName(); - - @BeforeClass - public static void setUpBeforeClass() throws Exception { -conf1 = HBaseConfiguration.create(); -conf1.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/1"); -// smaller block size and capacity to trigger more operations -// and test them -conf1.setInt("hbase.regionserver.hlog.blocksize", 1024 * 20); -conf1.setInt("replication.source.size.capacity", 1024); -conf1.setLong("replication.source.sleepforretries", 100); -conf1.setInt("hbase.regionserver.maxlogs", 10); -conf1.setLong("hbase.master.logcleaner.ttl", 10); -conf1.setBoolean("dfs.support.append", true); -conf1.setLong(HConstants.THREAD_WAKE_FREQUENCY, 100); -conf1.setStrings(CoprocessorHost.USER_REGION_COPROCESSOR_CONF_KEY, - "org.apache.had
[1/2] hbase git commit: HBASE-20048 Revert serial replication feature
Repository: hbase Updated Branches: refs/heads/master 1bc996aa5 -> ad5cd50df http://git-wip-us.apache.org/repos/asf/hbase/blob/ad5cd50d/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java deleted file mode 100644 index 88513ea..000 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestSerialReplication.java +++ /dev/null @@ -1,400 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.hbase.replication; - -import static org.junit.Assert.assertEquals; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.HBaseClassTestRule; -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HBaseTestingUtility; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.HTestConst; -import org.apache.hadoop.hbase.MetaTableAccessor; -import org.apache.hadoop.hbase.ServerName; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.client.RegionInfo; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.client.replication.ReplicationAdmin; -import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; -import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.apache.hadoop.hbase.testclassification.ReplicationTests; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; -import org.apache.hadoop.hbase.util.Pair; -import org.apache.hadoop.hbase.util.Threads; -import org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster; -import org.apache.hadoop.hbase.zookeeper.ZKWatcher; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.Test; -import org.junit.experimental.categories.Category; -import org.junit.rules.TestName; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -@Category({ ReplicationTests.class, LargeTests.class }) -public class TestSerialReplication { - - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestSerialReplication.class); - - private static final Logger LOG = LoggerFactory.getLogger(TestSerialReplication.class); - - private static Configuration conf1; - private static Configuration conf2; - - private static HBaseTestingUtility utility1; - private static HBaseTestingUtility utility2; - - private static final byte[] famName = Bytes.toBytes("f"); - private static final byte[] VALUE = Bytes.toBytes("v"); - private static final byte[] ROW = Bytes.toBytes("r"); - private static final byte[][] ROWS = HTestConst.makeNAscii(ROW, 100); - - @Rule - public TestName name = new TestName(); - - @BeforeClass - public static void setUpBeforeClass() throws Exception { -conf1 = HBaseConfiguration.create(); -conf1.set(HConstants.ZOOKEEPER_ZNODE_PARENT, "/1"); -// smaller block size and capacity to trigger more operations -// and test them -conf1.setInt("hbase.regionserver.hlog.blocksize", 1024 * 20); -conf1.setInt("replication.source.size.capacity", 1024); -conf1.setLong("replication.source.sleepforretries", 100); -conf1.setInt("hbase.regionserver.maxlogs", 10); -conf1.setLong("hbase.master.logcleaner.ttl", 10); -conf1.setBoolean("dfs.support.append", true); -conf1.setLong(HConstants.THREAD_WAKE_FREQUENCY, 100); -conf1.setStrings(CoprocessorHost.USER_REGION_COPROCESSOR_CONF_KEY, - "org.apache.hadoo
[2/2] hbase git commit: HBASE-20048 Revert serial replication feature
HBASE-20048 Revert serial replication feature Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ad5cd50d Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ad5cd50d Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ad5cd50d Branch: refs/heads/master Commit: ad5cd50dfcc34d997a13e6e7fef9abd160893950 Parents: 1bc996a Author: zhangduo Authored: Fri Feb 23 08:51:37 2018 +0800 Committer: zhangduo Committed: Fri Feb 23 13:58:31 2018 +0800 -- .../apache/hadoop/hbase/HTableDescriptor.java | 8 - .../apache/hadoop/hbase/MetaTableAccessor.java | 296 ++ .../hadoop/hbase/client/TableDescriptor.java| 9 +- .../hbase/client/TableDescriptorBuilder.java| 17 +- .../client/replication/ReplicationAdmin.java| 10 +- .../client/TestTableDescriptorBuilder.java | 25 +- .../org/apache/hadoop/hbase/HConstants.java | 33 -- .../src/main/resources/hbase-default.xml| 13 - hbase-protocol/src/main/protobuf/WAL.proto | 1 - .../org/apache/hadoop/hbase/master/HMaster.java | 6 - .../master/assignment/RegionStateStore.java | 23 +- .../master/cleaner/ReplicationMetaCleaner.java | 191 - .../hbase/regionserver/HRegionServer.java | 77 ++-- .../hbase/regionserver/wal/FSWALEntry.java | 1 + .../RecoveredReplicationSourceShipper.java | 3 +- .../regionserver/ReplicationSourceManager.java | 113 -- .../regionserver/ReplicationSourceShipper.java | 76 +--- .../ReplicationSourceWALReader.java | 52 +-- .../hbase/snapshot/RestoreSnapshotHelper.java | 2 +- .../hadoop/hbase/util/FSTableDescriptors.java | 30 -- .../java/org/apache/hadoop/hbase/wal/WAL.java | 19 +- .../hadoop/hbase/TestMetaTableAccessor.java | 10 +- .../regionserver/TestRegionServerMetrics.java | 2 +- .../replication/TestSerialReplication.java | 400 --- .../regionserver/TestGlobalThrottler.java | 2 +- src/main/asciidoc/_chapters/ops_mgt.adoc| 41 +- 26 files changed, 84 insertions(+), 1376 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/ad5cd50d/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index c9807c3..e512b2c 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -538,14 +538,6 @@ public class HTableDescriptor implements TableDescriptor, Comparablehttp://git-wip-us.apache.org/repos/asf/hbase/blob/ad5cd50d/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java index dad9aef..7d00f92 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java @@ -17,13 +17,14 @@ */ package org.apache.hadoop.hbase; +import edu.umd.cs.findbugs.annotations.NonNull; +import edu.umd.cs.findbugs.annotations.Nullable; import java.io.Closeable; import java.io.IOException; import java.io.InterruptedIOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -33,7 +34,6 @@ import java.util.SortedMap; import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell.Type; import org.apache.hadoop.hbase.client.Connection; @@ -71,9 +71,8 @@ import org.apache.hadoop.hbase.util.PairOfSameType; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hbase.thirdparty.com.google.common.annotations.VisibleForTesting; -import edu.umd.cs.findbugs.annotations.NonNull; -import edu.umd.cs.findbugs.annotations.Nullable; /** * Read/write operations on region and assignment information store in @@ -123,34 +122,14 @@ public class MetaTableAccessor { * region is the result of a merge * info:mergeB => contains a serialized HRI for the second parent region if the * region is the result of a merge + * * The actual layout of meta should be encapsulated insi
hbase git commit: HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory states until restarting master (Toshihiro Suzuki)
Repository: hbase Updated Branches: refs/heads/branch-2 991e163cc -> 8a22e4119 HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory states until restarting master (Toshihiro Suzuki) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8a22e411 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8a22e411 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8a22e411 Branch: refs/heads/branch-2 Commit: 8a22e4119f511b0d149018e46db61f2166c7e8e7 Parents: 991e163 Author: tedyu Authored: Thu Feb 22 20:11:11 2018 -0800 Committer: tedyu Committed: Thu Feb 22 20:11:11 2018 -0800 -- .../src/main/protobuf/MasterProcedure.proto | 1 + .../master/assignment/AssignmentManager.java| 10 - .../assignment/MergeTableRegionsProcedure.java | 3 +- .../assignment/SplitTableRegionProcedure.java | 3 +- .../master/assignment/UnassignProcedure.java| 39 ++-- 5 files changed, 48 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto -- diff --git a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto index f9b8807..f988224 100644 --- a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto +++ b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto @@ -330,6 +330,7 @@ message UnassignRegionStateData { // server we will send the unassign rpc too. optional ServerName hosting_server = 5; optional bool force = 4 [default = false]; + optional bool remove_after_unassigning = 6 [default = false]; } enum MoveRegionState { http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java index 97d8258..ff65f46 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java @@ -733,11 +733,17 @@ public class AssignmentManager implements ServerListener { UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo, final ServerName destinationServer, final boolean force) { +return createUnassignProcedure(regionInfo, destinationServer, force, false); + } + + UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo, + final ServerName destinationServer, final boolean force, + final boolean removeAfterUnassigning) { // If destinationServer is null, figure it. ServerName sn = destinationServer != null? destinationServer: - getRegionStates().getRegionState(regionInfo).getServerName(); +getRegionStates().getRegionState(regionInfo).getServerName(); assert sn != null; -UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force); +UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force, removeAfterUnassigning); proc.setOwner(getProcedureEnvironment().getRequestUser().getShortName()); return proc; } http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java index c65dbe5..1c448dc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java @@ -682,7 +682,8 @@ public class MergeTableRegionsProcedure for (int i = 0; i < regionsToMerge.length; ++i) { for (int j = 0; j < regionReplication; ++j) { final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(regionsToMerge[i], j); -procs[procsIdx++] = env.getAssignmentManager().createUnassignProcedure(hri,null,true); +procs[procsIdx++] = env.getAssignmentManager(). +createUnassignProcedure(hri, null, true, !RegionReplicaUtil.isDefaultReplica(hri)); } } return procs; http://git-wip-us.apache.org/repos/asf/hbase/blob/8a22e411/hbase-serve
hbase git commit: HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory states until restarting master
Repository: hbase Updated Branches: refs/heads/master 51f7b75f1 -> 1bc996aa5 HBASE-20049 Region replicas of SPLIT and MERGED regions are kept in in-memory states until restarting master Signed-off-by: tedyu Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1bc996aa Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1bc996aa Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1bc996aa Branch: refs/heads/master Commit: 1bc996aa505e4a064a5bdf6abd56f77591643072 Parents: 51f7b75 Author: Toshihiro Suzuki Authored: Thu Feb 22 17:45:51 2018 +0900 Committer: tedyu Committed: Thu Feb 22 20:06:21 2018 -0800 -- .../src/main/protobuf/MasterProcedure.proto | 3 +- .../master/assignment/AssignmentManager.java| 10 - .../assignment/MergeTableRegionsProcedure.java | 3 +- .../assignment/SplitTableRegionProcedure.java | 3 +- .../master/assignment/UnassignProcedure.java| 39 ++-- 5 files changed, 49 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/1bc996aa/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto -- diff --git a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto index 83099c3..1ab51e5 100644 --- a/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto +++ b/hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto @@ -331,6 +331,7 @@ message UnassignRegionStateData { // server we will send the unassign rpc too. optional ServerName hosting_server = 5; optional bool force = 4 [default = false]; + optional bool remove_after_unassigning = 6 [default = false]; } enum MoveRegionState { @@ -409,4 +410,4 @@ message AddPeerStateData { message UpdatePeerConfigStateData { required ReplicationPeer peer_config = 1; -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/hbase/blob/1bc996aa/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java index 97d8258..ff65f46 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java @@ -733,11 +733,17 @@ public class AssignmentManager implements ServerListener { UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo, final ServerName destinationServer, final boolean force) { +return createUnassignProcedure(regionInfo, destinationServer, force, false); + } + + UnassignProcedure createUnassignProcedure(final RegionInfo regionInfo, + final ServerName destinationServer, final boolean force, + final boolean removeAfterUnassigning) { // If destinationServer is null, figure it. ServerName sn = destinationServer != null? destinationServer: - getRegionStates().getRegionState(regionInfo).getServerName(); +getRegionStates().getRegionState(regionInfo).getServerName(); assert sn != null; -UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force); +UnassignProcedure proc = new UnassignProcedure(regionInfo, sn, force, removeAfterUnassigning); proc.setOwner(getProcedureEnvironment().getRequestUser().getShortName()); return proc; } http://git-wip-us.apache.org/repos/asf/hbase/blob/1bc996aa/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java index c65dbe5..1c448dc 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java @@ -682,7 +682,8 @@ public class MergeTableRegionsProcedure for (int i = 0; i < regionsToMerge.length; ++i) { for (int j = 0; j < regionReplication; ++j) { final RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(regionsToMerge[i], j); -procs[procsIdx++] = env.getAssignmentManager().createUnassignProcedure(hri,null,true); +procs[procsIdx++] = env.getAssignmentManager(). +createUnassign
[1/2] hbase git commit: HBASE-19400 Add missing security checks in MasterRpcServices
Repository: hbase Updated Branches: refs/heads/branch-2 f3753e394 -> 991e163cc HBASE-19400 Add missing security checks in MasterRpcServices - Added ADMIN permission check for following rpc calls: normalize, setNormalizerRunning, runCatalogScan, enableCatalogJanitor, runCleanerChore, setCleanerChoreRunning, execMasterService, execProcedure, execProcedureWithRet - Moved authorizationEnabled check to start of AccessChecker's functions. Currently, and IDK why, we call authManager.authorize() first and then discard its result if authorizationEnabled is false. Weird. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/161f9de8 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/161f9de8 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/161f9de8 Branch: refs/heads/branch-2 Commit: 161f9de8e5e32c5fe3ea1dfb1c67802629ad1b23 Parents: f3753e3 Author: Apekshit Sharma Authored: Tue Feb 13 12:33:43 2018 -0800 Committer: Apekshit Sharma Committed: Thu Feb 22 16:23:43 2018 -0800 -- .../hbase/rsgroup/RSGroupAdminEndpoint.java | 3 +- .../hadoop/hbase/master/MasterRpcServices.java | 120 - .../hbase/regionserver/HRegionServer.java | 2 +- .../hbase/regionserver/RSRpcServices.java | 25 +- .../hbase/security/access/AccessChecker.java| 102 .../hbase/security/access/AccessController.java | 3 +- .../security/access/TestAccessController.java | 13 +- .../access/TestAdminOnlyOperations.java | 244 +++ 8 files changed, 388 insertions(+), 124 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/161f9de8/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java -- diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java index fd632b1..ce74bb4 100644 --- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java +++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java @@ -81,7 +81,6 @@ import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.security.UserProvider; import org.apache.hadoop.hbase.security.access.AccessChecker; import org.apache.hadoop.hbase.security.access.Permission.Action; -import org.apache.hadoop.hbase.security.access.TableAuthManager; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; @@ -128,7 +127,7 @@ public class RSGroupAdminEndpoint implements MasterCoprocessor, MasterObserver { @Override public void stop(CoprocessorEnvironment env) { -TableAuthManager.release(accessChecker.getAuthManager()); +accessChecker.stop(); } @Override http://git-wip-us.apache.org/repos/asf/hbase/blob/161f9de8/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 907ca9b..20ca62d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -85,6 +85,7 @@ import org.apache.hadoop.hbase.replication.ReplicationPeerDescription; import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.security.access.AccessChecker; import org.apache.hadoop.hbase.security.access.AccessController; +import org.apache.hadoop.hbase.security.access.Permission; import org.apache.hadoop.hbase.security.visibility.VisibilityController; import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils; import org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils; @@ -345,6 +346,24 @@ public class MasterRpcServices extends RSRpcServices return new MasterAnnotationReadingPriorityFunction(this); } + /** + * Checks for the following pre-checks in order: + * + * Master is initialized + * Rpc caller has admin permissions + * + * @param requestName name of rpc request. Used in reporting failures to provide context. + * @throws ServiceException If any of the above listed pre-check fails. + */ + private void rpcPreCheck(String requestName) throws ServiceException { +try { + master.checkInitialized(); + requirePermission(requestName, Permission.Action.ADMIN); +} catch (IOException ioe) { + throw new ServiceException(ioe); +} + } + enum Balance
[2/2] hbase git commit: HBASE-19401 Add missing security checks in RSRpcServices
HBASE-19401 Add missing security checks in RSRpcServices Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/991e163c Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/991e163c Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/991e163c Branch: refs/heads/branch-2 Commit: 991e163cc271c691b5d0d9a871cb2ba75b7ba337 Parents: 161f9de Author: Apekshit Sharma Authored: Tue Feb 13 12:33:43 2018 -0800 Committer: Apekshit Sharma Committed: Thu Feb 22 16:23:47 2018 -0800 -- .../hbase/regionserver/RSRpcServices.java | 22 +++- .../access/TestAdminOnlyOperations.java | 56 ++-- 2 files changed, 60 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/991e163c/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 3efe0c6..33ee548 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 @@ -498,6 +498,24 @@ public class RSRpcServices implements HBaseRPCErrorHandler, } /** + * Checks for the following pre-checks in order: + * + * RegionServer is running + * If authorization is enabled, then RPC caller has ADMIN permissions + * + * @param requestName name of rpc request. Used in reporting failures to provide context. + * @throws ServiceException If any of the above listed pre-check fails. + */ + private void rpcPreCheck(String requestName) throws ServiceException { +try { + checkOpen(); + requirePermission(requestName, Permission.Action.ADMIN); +} catch (IOException ioe) { + throw new ServiceException(ioe); +} + } + + /** * Starts the nonce operation for a mutation, if needed. * @param mutation Mutation. * @param nonceGroup Nonce group from the request. @@ -1438,9 +1456,8 @@ public class RSRpcServices implements HBaseRPCErrorHandler, /** * Called to verify that this server is up and running. - * - * @throws IOException */ + // TODO : Rename this and HMaster#checkInitialized to isRunning() (or a better name). protected void checkOpen() throws IOException { if (regionServer.isAborted()) { throw new RegionServerAbortedException("Server " + regionServer.serverName + " aborting"); @@ -3432,6 +3449,7 @@ public class RSRpcServices implements HBaseRPCErrorHandler, @Override public CoprocessorServiceResponse execRegionServerService(RpcController controller, CoprocessorServiceRequest request) throws ServiceException { +rpcPreCheck("execRegionServerService"); return regionServer.execRegionServerService(controller, request); } http://git-wip-us.apache.org/repos/asf/hbase/blob/991e163c/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java index d4b0650..42d2f36 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java @@ -1,3 +1,4 @@ + /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -31,12 +32,14 @@ import java.util.HashMap; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseClassTestRule; import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor; +import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessor; import org.apache.hadoop.hbase.ipc.protobuf.generated.TestProtos; import org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos; import org.apache.hadoop.hbase.security.AccessDeniedException; @@ -88,7 +91,7 @@ public class TestAdminOnlyOperations { private static User USER_GROUP_ADMIN; // Dummy service to test execService calls. Ne
hbase git commit: HBASE-19401 Add missing security checks in RSRpcServices
Repository: hbase Updated Branches: refs/heads/master d68f697f3 -> 51f7b75f1 HBASE-19401 Add missing security checks in RSRpcServices Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/51f7b75f Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/51f7b75f Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/51f7b75f Branch: refs/heads/master Commit: 51f7b75f1ff368b985fc1932c2be0d7fb004538e Parents: d68f697 Author: Apekshit Sharma Authored: Tue Feb 13 12:33:43 2018 -0800 Committer: Apekshit Sharma Committed: Thu Feb 22 16:09:53 2018 -0800 -- .../hbase/regionserver/RSRpcServices.java | 22 +++- .../access/TestAdminOnlyOperations.java | 56 ++-- 2 files changed, 60 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/51f7b75f/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 05bbb47..88ce346 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 @@ -499,6 +499,24 @@ public class RSRpcServices implements HBaseRPCErrorHandler, } /** + * Checks for the following pre-checks in order: + * + * RegionServer is running + * If authorization is enabled, then RPC caller has ADMIN permissions + * + * @param requestName name of rpc request. Used in reporting failures to provide context. + * @throws ServiceException If any of the above listed pre-check fails. + */ + private void rpcPreCheck(String requestName) throws ServiceException { +try { + checkOpen(); + requirePermission(requestName, Permission.Action.ADMIN); +} catch (IOException ioe) { + throw new ServiceException(ioe); +} + } + + /** * Starts the nonce operation for a mutation, if needed. * @param mutation Mutation. * @param nonceGroup Nonce group from the request. @@ -1439,9 +1457,8 @@ public class RSRpcServices implements HBaseRPCErrorHandler, /** * Called to verify that this server is up and running. - * - * @throws IOException */ + // TODO : Rename this and HMaster#checkInitialized to isRunning() (or a better name). protected void checkOpen() throws IOException { if (regionServer.isAborted()) { throw new RegionServerAbortedException("Server " + regionServer.serverName + " aborting"); @@ -3433,6 +3450,7 @@ public class RSRpcServices implements HBaseRPCErrorHandler, @Override public CoprocessorServiceResponse execRegionServerService(RpcController controller, CoprocessorServiceRequest request) throws ServiceException { +rpcPreCheck("execRegionServerService"); return regionServer.execRegionServerService(controller, request); } http://git-wip-us.apache.org/repos/asf/hbase/blob/51f7b75f/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java index d4b0650..42d2f36 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAdminOnlyOperations.java @@ -1,3 +1,4 @@ + /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -31,12 +32,14 @@ import java.util.HashMap; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseClassTestRule; import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor; +import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessor; import org.apache.hadoop.hbase.ipc.protobuf.generated.TestProtos; import org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos; import org.apache.hadoop.hbase.security.AccessDeniedException; @@ -88,7 +91,7 @@ public class TestAdminOnlyOperations { private st
hbase git commit: Update CHANGES.txt for 1.4.2 RC1
Repository: hbase Updated Branches: refs/heads/branch-1.4 08b993997 -> 20cb47c38 Update CHANGES.txt for 1.4.2 RC1 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/20cb47c3 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/20cb47c3 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/20cb47c3 Branch: refs/heads/branch-1.4 Commit: 20cb47c38820d51af2ba0820ed83d0ca295400b7 Parents: 08b9939 Author: Andrew Purtell Authored: Wed Feb 21 13:20:50 2018 -0800 Committer: Andrew Purtell Committed: Thu Feb 22 15:49:45 2018 -0800 -- CHANGES.txt | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/20cb47c3/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b50c118..c731d8a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,9 +1,10 @@ HBase Change Log -Release Notes - HBase - Version 1.4.2 2/23/2018 +Release Notes - HBase - Version 1.4.2 2/28/2018 ** Sub-task * [HBASE-19877] - hbase-common and hbase-zookeeper don't add the log4j.properties to the resource path for testing +* [HBASE-20008] - [backport] NullPointerException when restoring a snapshot after splitting a region ** Bug * [HBASE-18282] - ReplicationLogCleaner can delete WALs not yet replicated in case of a KeeperException @@ -20,11 +21,14 @@ Release Notes - HBase - Version 1.4.2 2/23/2018 * [HBASE-19979] - ReplicationSyncUp tool may leak Zookeeper connection * [HBASE-19981] - Boolean#getBoolean is used to parse value * [HBASE-19996] - Some nonce procs might not be cleaned up (follow up HBASE-19756) +* [HBASE-20017] - BufferedMutatorImpl submit the same mutation repeatedly +* [HBASE-20027] - Add test TestClusterPortAssignment ** New Feature * [HBASE-19886] - Display maintenance mode in shell, web UI ** Improvement +* [HBASE-19770] - Add '--return-values' option to Shell to print return values of commands in interactive mode * [HBASE-19917] - Improve RSGroupBasedLoadBalancer#filterServers() to be more efficient ** Test
[hbase] Git Push Summary
Repository: hbase Updated Tags: refs/tags/1.4.2RC1 [created] 20c6acb77
svn commit: r25229 - in /dev/hbase: hbase-1.4.2RC0/ hbase-1.4.2RC1/
Author: apurtell Date: Thu Feb 22 23:47:11 2018 New Revision: 25229 Log: Stage HBase 1.4.2RC1 Added: dev/hbase/hbase-1.4.2RC1/ dev/hbase/hbase-1.4.2RC1/compat-check-report.html dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-bin.tar.gz (with props) dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-bin.tar.gz.asc dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-bin.tar.gz.md5 dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-bin.tar.gz.sha dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-src.tar.gz (with props) dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-src.tar.gz.asc dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-src.tar.gz.md5 dev/hbase/hbase-1.4.2RC1/hbase-1.4.2-src.tar.gz.sha Removed: dev/hbase/hbase-1.4.2RC0/ Added: dev/hbase/hbase-1.4.2RC1/compat-check-report.html == --- dev/hbase/hbase-1.4.2RC1/compat-check-report.html (added) +++ dev/hbase/hbase-1.4.2RC1/compat-check-report.html Thu Feb 22 23:47:11 2018 @@ -0,0 +1,552 @@ + + +http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";> +http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"> + + + + +hbase: rel/1.4.1 to 1.4.2RC1 compatibility report + +body { +font-family:Arial, sans-serif; +background-color:White; +color:Black; +} +hr { +color:Black; +background-color:Black; +height:1px; +border:0; +} +h1 { +margin-bottom:0px; +padding-bottom:0px; +font-size:1.625em; +} +h2 { +margin-bottom:0px; +padding-bottom:0px; +font-size:1.25em; +white-space:nowrap; +} +div.symbols { +color:#003E69; +} +div.symbols i { +color:Brown; +} +span.section { +font-weight:bold; +cursor:pointer; +color:#003E69; +white-space:nowrap; +margin-left:0.3125em; +} +span:hover.section { +color:#336699; +} +span.sect_aff { +cursor:pointer; +padding-left:1.55em; +font-size:0.875em; +color:#cc3300; +} +span.ext { +font-weight:100; +} +span.jar { +color:#cc3300; +font-size:0.875em; +font-weight:bold; +} +div.jar_list { +padding-left:0.4em; +font-size:0.94em; +} +span.pkg_t { +color:#408080; +font-size:0.875em; +} +span.pkg { +color:#408080; +font-size:0.875em; +font-weight:bold; +} +span.cname { +color:Green; +font-size:0.875em; +font-weight:bold; +} +span.iname_b { +font-weight:bold; +} +span.iname_a { +color:#33; +font-weight:bold; +font-size:0.94em; +} +span.sym_p { +font-weight:normal; +white-space:normal; +} +span.sym_pd { +white-space:normal; +} +span.sym_p span, span.sym_pd span { +white-space:nowrap; +} +span.attr { +color:Black; +font-weight:100; +} +span.deprecated { +color:Red; +font-weight:bold; +font-family:Monaco, monospace; +} +div.affect { +padding-left:1em; +padding-bottom:10px; +font-size:0.87em; +font-style:italic; +line-height:0.9em; +} +div.affected { +padding-left:2em; +padding-top:10px; +} +table.ptable { +border-collapse:collapse; +border:1px outset black; +margin-left:0.95em; +margin-top:3px; +margin-bottom:3px; +width:56.25em; +} +table.ptable td { +border:1px solid Gray; +padding:3px; +font-size:0.875em; +text-align:left; +vertical-align:top; +max-width:28em; +word-wrap:break-word; +} +table.ptable th { +background-color:#ee; +font-weight:bold; +color:#33; +font-family:Verdana, Arial; +font-size:0.875em; +border:1px solid Gray; +text-align:center; +vertical-align:top; +white-space:nowrap; +padding:3px; +} +table.summary { +border-collapse:collapse; +border:1px outset black; +} +table.summary th { +background-color:#ee; +font-weight:100; +text-align:left; +font-size:0.94em; +white-space:nowrap; +border:1px inset Gray; +padding:3px; +} +table.summary td { +text-align:right; +white-space:nowrap; +border:1px inset Gray; +padding:3px 5px 3px 10px; +} +span.mngl { +padding-left:1em; +font-size:0.875em; +cursor:text; +color:#44; +font-weight:bold; +} +span.pleft { +padding-left:2.5em; +} +span.color_p { +font-style:italic; +color:Brown; +} +span.param { +font-style:italic; +} +span.focus_p { +font-style:italic; +background-color:#DCDCDC; +} +span.ttype { +font-weight:100; +} +span.nowrap { +white-space:nowrap; +} +span.value { +white-space:nowrap; +font-weight:bold; +} +.passed { +background-color:#CCFFCC; +font-weight:100; +} +.warning { +background-color:#F4F4AF; +font-weight:100; +} +.failed { +background-color:#FF; +font-weight:100; +} +.new { +background-color:#C6DEFF; +font-weight:100; +} + +.compatible { +background-color:#CCFFCC; +font-weight:100; +} +.almost_compatible { +background-color:#FFDAA3; +font-weight:100; +} +.incompatible { +background-color:#FF; +font-weight:100; +} +.gray {
hbase git commit: HBASE-20052 TestRegionOpen#testNonExistentRegionReplica fails due to NPE
Repository: hbase Updated Branches: refs/heads/branch-1 cadc2efd1 -> 4d9589b16 HBASE-20052 TestRegionOpen#testNonExistentRegionReplica fails due to NPE Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4d9589b1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4d9589b1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4d9589b1 Branch: refs/heads/branch-1 Commit: 4d9589b16546a56623e7ab786438536ffdf3dc22 Parents: cadc2ef Author: tedyu Authored: Thu Feb 22 12:41:13 2018 -0800 Committer: tedyu Committed: Thu Feb 22 12:41:13 2018 -0800 -- .../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java | 3 +-- .../java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/4d9589b1/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java index 62c5f5a..7907073c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java @@ -997,12 +997,11 @@ public class HRegionFileSystem { // Write HRI to a file in case we need to recover hbase:meta regionFs.writeRegionInfoOnFilesystem(false); - return regionFs; } else { if (LOG.isDebugEnabled()) LOG.debug("Skipping creation of .regioninfo file for " + regionInfo); } -return null; +return regionFs; } /** http://git-wip-us.apache.org/repos/asf/hbase/blob/4d9589b1/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java index 62aabce..f45df18 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java @@ -47,7 +47,6 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; import org.junit.AfterClass; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -98,7 +97,6 @@ public class TestRegionOpen { assertEquals(2, exec.getCompletedTaskCount()); } - @Ignore // Needs rewrite since HBASE-19391 which returns null out of createRegionOnFileSystem @Test public void testNonExistentRegionReplica() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName());
hbase git commit: HBASE-20052 TestRegionOpen#testNonExistentRegionReplica fails due to NPE
Repository: hbase Updated Branches: refs/heads/branch-2 6c039383b -> f3753e394 HBASE-20052 TestRegionOpen#testNonExistentRegionReplica fails due to NPE Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f3753e39 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f3753e39 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f3753e39 Branch: refs/heads/branch-2 Commit: f3753e394aefa4ae391a059264d679d36315deef Parents: 6c03938 Author: tedyu Authored: Thu Feb 22 12:35:50 2018 -0800 Committer: tedyu Committed: Thu Feb 22 12:35:50 2018 -0800 -- .../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java | 3 +-- .../java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/f3753e39/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java index 3c2d392..904060f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java @@ -986,12 +986,11 @@ public class HRegionFileSystem { // Write HRI to a file in case we need to recover hbase:meta regionFs.writeRegionInfoOnFilesystem(false); - return regionFs; } else { if (LOG.isDebugEnabled()) LOG.debug("Skipping creation of .regioninfo file for " + regionInfo); } -return null; +return regionFs; } /** http://git-wip-us.apache.org/repos/asf/hbase/blob/f3753e39/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java index 48ca403..7190d84 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java @@ -45,7 +45,6 @@ import org.apache.hadoop.hbase.util.FSUtils; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -101,7 +100,6 @@ public class TestRegionOpen { assertEquals(completed + 1, exec.getCompletedTaskCount()); } - @Ignore // Needs rewrite since HBASE-19391 which returns null out of createRegionOnFileSystem @Test public void testNonExistentRegionReplica() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName());
hbase git commit: HBASE-20052 TestRegionOpen#testNonExistentRegionReplica fails due to NPE
Repository: hbase Updated Branches: refs/heads/master 1fd2a276f -> d68f697f3 HBASE-20052 TestRegionOpen#testNonExistentRegionReplica fails due to NPE Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d68f697f Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d68f697f Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d68f697f Branch: refs/heads/master Commit: d68f697f39fc0e660eb85dc9ef67a757102169f2 Parents: 1fd2a27 Author: tedyu Authored: Thu Feb 22 12:35:12 2018 -0800 Committer: tedyu Committed: Thu Feb 22 12:35:12 2018 -0800 -- .../org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java | 3 +-- .../java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/d68f697f/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java index 3c2d392..904060f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java @@ -986,12 +986,11 @@ public class HRegionFileSystem { // Write HRI to a file in case we need to recover hbase:meta regionFs.writeRegionInfoOnFilesystem(false); - return regionFs; } else { if (LOG.isDebugEnabled()) LOG.debug("Skipping creation of .regioninfo file for " + regionInfo); } -return null; +return regionFs; } /** http://git-wip-us.apache.org/repos/asf/hbase/blob/d68f697f/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java index 48ca403..7190d84 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java @@ -45,7 +45,6 @@ import org.apache.hadoop.hbase.util.FSUtils; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -101,7 +100,6 @@ public class TestRegionOpen { assertEquals(completed + 1, exec.getCompletedTaskCount()); } - @Ignore // Needs rewrite since HBASE-19391 which returns null out of createRegionOnFileSystem @Test public void testNonExistentRegionReplica() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName());
hbase git commit: Add psomogyi as committer
Repository: hbase Updated Branches: refs/heads/master 8afa49f5d -> 1fd2a276f Add psomogyi as committer Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1fd2a276 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1fd2a276 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1fd2a276 Branch: refs/heads/master Commit: 1fd2a276f6849107960acfab7a939aa2842fc9c5 Parents: 8afa49f Author: Peter Somogyi Authored: Thu Feb 22 19:51:59 2018 +0100 Committer: Peter Somogyi Committed: Thu Feb 22 19:54:03 2018 +0100 -- pom.xml | 6 ++ 1 file changed, 6 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/1fd2a276/pom.xml -- diff --git a/pom.xml b/pom.xml index 9b10ba6..19a36a7 100755 --- a/pom.xml +++ b/pom.xml @@ -471,6 +471,12 @@ +8 + psomogyi + Peter Somogyi + psomo...@apache.org + +1 + + rajeshbabu Rajeshbabu Chintaguntla rajeshb...@apache.org
hbase git commit: HBASE-19767 Fix for Master web UI shows negative values for Remaining KVs
Repository: hbase Updated Branches: refs/heads/master 3434e99e6 -> 8afa49f5d HBASE-19767 Fix for Master web UI shows negative values for Remaining KVs Negative Remaining KVs and progress percent greater than 100 is because CompactionProgress#totalCompactingKVs is sometimes less than CompactionProgress#currentCompactedKVs. Changes add a getter to CompactionProgress#totalCompactingKVs and from inside getter warning is logged. currentCompactedKVs are return when totalCompactingKVs are less than current. Signed-off-by: Michael Stack Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8afa49f5 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8afa49f5 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8afa49f5 Branch: refs/heads/master Commit: 8afa49f5d0e28e96c6e1b6c88c6ac976ac0da2b2 Parents: 3434e99 Author: Umesh Agashe Authored: Wed Feb 21 13:59:59 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 10:10:21 2018 -0800 -- .../hadoop/hbase/regionserver/HRegionServer.java| 2 +- .../apache/hadoop/hbase/regionserver/HStore.java| 4 ++-- .../compactions/CompactionProgress.java | 16 .../hbase/regionserver/TestMajorCompaction.java | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/8afa49f5/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 49b7b80..a76dec2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -1623,7 +1623,7 @@ public class HRegionServer extends HasThread implements storefileIndexSizeKB += store.getStorefilesRootLevelIndexSize() / 1024; CompactionProgress progress = store.getCompactionProgress(); if (progress != null) { -totalCompactingKVs += progress.totalCompactingKVs; +totalCompactingKVs += progress.getTotalCompactingKVs(); currentCompactedKVs += progress.currentCompactedKVs; } rootLevelIndexSizeKB += (int) (store.getStorefilesRootLevelIndexSize() / 1024); http://git-wip-us.apache.org/repos/asf/hbase/blob/8afa49f5/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java index bef50b4..c0ef3ef 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java @@ -1373,10 +1373,10 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat writeCompactionWalRecord(filesToCompact, sfs); replaceStoreFiles(filesToCompact, sfs); if (cr.isMajor()) { - majorCompactedCellsCount += getCompactionProgress().totalCompactingKVs; + majorCompactedCellsCount += getCompactionProgress().getTotalCompactingKVs(); majorCompactedCellsSize += getCompactionProgress().totalCompactedSize; } else { - compactedCellsCount += getCompactionProgress().totalCompactingKVs; + compactedCellsCount += getCompactionProgress().getTotalCompactingKVs(); compactedCellsSize += getCompactionProgress().totalCompactedSize; } long outputBytes = getTotalSize(sfs); http://git-wip-us.apache.org/repos/asf/hbase/blob/8afa49f5/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java index d40651a..577276e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java @@ -20,6 +20,8 @@ package org.apache.hadoop.hbase.regionserver.compactions; import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * This class holds information relevant for tracking the progress of a @@ -32,9 +34,10 @@ import org.apache.yetus.audience.InterfaceAudience;
hbase git commit: HBASE-19767 Fix for Master web UI shows negative values for Remaining KVs
Repository: hbase Updated Branches: refs/heads/branch-2 1db147459 -> 6c039383b HBASE-19767 Fix for Master web UI shows negative values for Remaining KVs Negative Remaining KVs and progress percent greater than 100 is because CompactionProgress#totalCompactingKVs is sometimes less than CompactionProgress#currentCompactedKVs. Changes add a getter to CompactionProgress#totalCompactingKVs and from inside getter warning is logged. currentCompactedKVs are return when totalCompactingKVs are less than current. Signed-off-by: Michael Stack Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6c039383 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6c039383 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6c039383 Branch: refs/heads/branch-2 Commit: 6c039383b9b4ef5bebeb088a5fc6376cefa78185 Parents: 1db1474 Author: Umesh Agashe Authored: Wed Feb 21 13:59:59 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 10:09:47 2018 -0800 -- .../hadoop/hbase/regionserver/HRegionServer.java| 2 +- .../apache/hadoop/hbase/regionserver/HStore.java| 4 ++-- .../compactions/CompactionProgress.java | 16 .../hbase/regionserver/TestMajorCompaction.java | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/6c039383/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index c39a9af..5310a6d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -1617,7 +1617,7 @@ public class HRegionServer extends HasThread implements storefileIndexSizeKB += store.getStorefilesRootLevelIndexSize() / 1024; CompactionProgress progress = store.getCompactionProgress(); if (progress != null) { -totalCompactingKVs += progress.totalCompactingKVs; +totalCompactingKVs += progress.getTotalCompactingKVs(); currentCompactedKVs += progress.currentCompactedKVs; } rootLevelIndexSizeKB += (int) (store.getStorefilesRootLevelIndexSize() / 1024); http://git-wip-us.apache.org/repos/asf/hbase/blob/6c039383/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java index bef50b4..c0ef3ef 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java @@ -1373,10 +1373,10 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat writeCompactionWalRecord(filesToCompact, sfs); replaceStoreFiles(filesToCompact, sfs); if (cr.isMajor()) { - majorCompactedCellsCount += getCompactionProgress().totalCompactingKVs; + majorCompactedCellsCount += getCompactionProgress().getTotalCompactingKVs(); majorCompactedCellsSize += getCompactionProgress().totalCompactedSize; } else { - compactedCellsCount += getCompactionProgress().totalCompactingKVs; + compactedCellsCount += getCompactionProgress().getTotalCompactingKVs(); compactedCellsSize += getCompactionProgress().totalCompactedSize; } long outputBytes = getTotalSize(sfs); http://git-wip-us.apache.org/repos/asf/hbase/blob/6c039383/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java index d40651a..577276e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.java @@ -20,6 +20,8 @@ package org.apache.hadoop.hbase.regionserver.compactions; import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * This class holds information relevant for tracking the progress of a @@ -32,9 +34,10 @@ import org.apache.yetus.audience.InterfaceAudie
[1/2] hbase git commit: HBASE-20044 TestClientClusterStatus is flakey" Revert "Revert "HBASE-2004 TestClientClusterStatus is flakey"" This is a revert of a revert, i.e. a reapplication, just so I can
Repository: hbase Updated Branches: refs/heads/master 11af33af2 -> 3434e99e6 HBASE-20044 TestClientClusterStatus is flakey" Revert "Revert "HBASE-2004 TestClientClusterStatus is flakey"" This is a revert of a revert, i.e. a reapplication, just so I can fix the JIRA number. This reverts commit 6796b8e21faf79e6a738be62f1c7e805e1e88ae3. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/3434e99e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3434e99e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3434e99e Branch: refs/heads/master Commit: 3434e99e6c728d59ba99141df3730f3e70e0059c Parents: 3d2e9e2 Author: Michael Stack Authored: Thu Feb 22 09:42:37 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 09:44:04 2018 -0800 -- .../hadoop/hbase/TestClientClusterStatus.java | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/3434e99e/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java index bfdae8a..392ff6e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java @@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; +import org.apache.hadoop.hbase.util.Threads; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; @@ -100,13 +101,14 @@ public class TestClientClusterStatus { @Test public void testNone() throws Exception { -ClusterStatus status0 - = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.allOf(Option.class))); -ClusterStatus status1 - = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class))); -Assert.assertEquals(status0, status1); -checkPbObjectNotNull(status0); -checkPbObjectNotNull(status1); +ClusterMetrics status0 = ADMIN.getClusterMetrics(EnumSet.allOf(Option.class)); +ClusterMetrics status1 = ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class)); +// Do a rough compare. More specific compares can fail because all regions not deployed yet +// or more requests than expected. +Assert.assertEquals(status0.getLiveServerMetrics().size(), +status1.getLiveServerMetrics().size()); +checkPbObjectNotNull(new ClusterStatus(status0)); +checkPbObjectNotNull(new ClusterStatus(status1)); } @Test
[2/2] hbase git commit: Revert "HBASE-2004 TestClientClusterStatus is flakey" Revert to fix JIRA number; should be 20044.
Revert "HBASE-2004 TestClientClusterStatus is flakey" Revert to fix JIRA number; should be 20044. This reverts commit 92bb4db9ef367039029017aafe61c51f2c0181f9. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/3d2e9e21 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3d2e9e21 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3d2e9e21 Branch: refs/heads/master Commit: 3d2e9e2125ec29c6959c98157ad378d5c53f911d Parents: 11af33a Author: Michael Stack Authored: Thu Feb 22 09:41:27 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 09:44:04 2018 -0800 -- .../hadoop/hbase/TestClientClusterStatus.java | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/3d2e9e21/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java index 392ff6e..bfdae8a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java @@ -37,7 +37,6 @@ import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; -import org.apache.hadoop.hbase.util.Threads; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; @@ -101,14 +100,13 @@ public class TestClientClusterStatus { @Test public void testNone() throws Exception { -ClusterMetrics status0 = ADMIN.getClusterMetrics(EnumSet.allOf(Option.class)); -ClusterMetrics status1 = ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class)); -// Do a rough compare. More specific compares can fail because all regions not deployed yet -// or more requests than expected. -Assert.assertEquals(status0.getLiveServerMetrics().size(), -status1.getLiveServerMetrics().size()); -checkPbObjectNotNull(new ClusterStatus(status0)); -checkPbObjectNotNull(new ClusterStatus(status1)); +ClusterStatus status0 + = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.allOf(Option.class))); +ClusterStatus status1 + = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class))); +Assert.assertEquals(status0, status1); +checkPbObjectNotNull(status0); +checkPbObjectNotNull(status1); } @Test
[2/2] hbase git commit: HBASE-20044 TestClientClusterStatus is flakey" Revert "Revert "HBASE-2004 TestClientClusterStatus is flakey"" This is a revert of a revert, i.e. a reapplication, just so I can
HBASE-20044 TestClientClusterStatus is flakey" Revert "Revert "HBASE-2004 TestClientClusterStatus is flakey"" This is a revert of a revert, i.e. a reapplication, just so I can fix the JIRA number. This reverts commit 6796b8e21faf79e6a738be62f1c7e805e1e88ae3. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1db14745 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1db14745 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1db14745 Branch: refs/heads/branch-2 Commit: 1db1474591f138b9e265ed2edd985344f32151f8 Parents: 6796b8e Author: Michael Stack Authored: Thu Feb 22 09:42:37 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 09:42:37 2018 -0800 -- .../hadoop/hbase/TestClientClusterStatus.java | 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/1db14745/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java index bfdae8a..392ff6e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java @@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; +import org.apache.hadoop.hbase.util.Threads; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; @@ -100,13 +101,14 @@ public class TestClientClusterStatus { @Test public void testNone() throws Exception { -ClusterStatus status0 - = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.allOf(Option.class))); -ClusterStatus status1 - = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class))); -Assert.assertEquals(status0, status1); -checkPbObjectNotNull(status0); -checkPbObjectNotNull(status1); +ClusterMetrics status0 = ADMIN.getClusterMetrics(EnumSet.allOf(Option.class)); +ClusterMetrics status1 = ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class)); +// Do a rough compare. More specific compares can fail because all regions not deployed yet +// or more requests than expected. +Assert.assertEquals(status0.getLiveServerMetrics().size(), +status1.getLiveServerMetrics().size()); +checkPbObjectNotNull(new ClusterStatus(status0)); +checkPbObjectNotNull(new ClusterStatus(status1)); } @Test
[1/2] hbase git commit: Revert "HBASE-2004 TestClientClusterStatus is flakey" Revert to fix JIRA number; should be 20044.
Repository: hbase Updated Branches: refs/heads/branch-2 38a97b87e -> 1db147459 Revert "HBASE-2004 TestClientClusterStatus is flakey" Revert to fix JIRA number; should be 20044. This reverts commit 92bb4db9ef367039029017aafe61c51f2c0181f9. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6796b8e2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6796b8e2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6796b8e2 Branch: refs/heads/branch-2 Commit: 6796b8e21faf79e6a738be62f1c7e805e1e88ae3 Parents: 38a97b8 Author: Michael Stack Authored: Thu Feb 22 09:41:27 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 09:41:27 2018 -0800 -- .../hadoop/hbase/TestClientClusterStatus.java | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/6796b8e2/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java index 392ff6e..bfdae8a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterStatus.java @@ -37,7 +37,6 @@ import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; -import org.apache.hadoop.hbase.util.Threads; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; @@ -101,14 +100,13 @@ public class TestClientClusterStatus { @Test public void testNone() throws Exception { -ClusterMetrics status0 = ADMIN.getClusterMetrics(EnumSet.allOf(Option.class)); -ClusterMetrics status1 = ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class)); -// Do a rough compare. More specific compares can fail because all regions not deployed yet -// or more requests than expected. -Assert.assertEquals(status0.getLiveServerMetrics().size(), -status1.getLiveServerMetrics().size()); -checkPbObjectNotNull(new ClusterStatus(status0)); -checkPbObjectNotNull(new ClusterStatus(status1)); +ClusterStatus status0 + = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.allOf(Option.class))); +ClusterStatus status1 + = new ClusterStatus(ADMIN.getClusterMetrics(EnumSet.noneOf(Option.class))); +Assert.assertEquals(status0, status1); +checkPbObjectNotNull(status0); +checkPbObjectNotNull(status1); } @Test
hbase git commit: HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory; ADDEDNDUM to fix TestRegionOpen failure
Repository: hbase Updated Branches: refs/heads/branch-1 af1f7cf43 -> cadc2efd1 HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory; ADDEDNDUM to fix TestRegionOpen failure Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/cadc2efd Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/cadc2efd Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/cadc2efd Branch: refs/heads/branch-1 Commit: cadc2efd1207d7d505c9fadaeca9338d21018f08 Parents: af1f7cf Author: Michael Stack Authored: Thu Feb 22 09:14:35 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 09:27:46 2018 -0800 -- .../org/apache/hadoop/hbase/regionserver/TestRegionOpen.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/cadc2efd/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java index edb1d52..62aabce 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java @@ -47,6 +47,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; import org.junit.AfterClass; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -97,7 +98,8 @@ public class TestRegionOpen { assertEquals(2, exec.getCompletedTaskCount()); } - @Test(timeout = 6) + @Ignore // Needs rewrite since HBASE-19391 which returns null out of createRegionOnFileSystem + @Test public void testNonExistentRegionReplica() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName()); final byte[] FAMILYNAME = Bytes.toBytes("fam");
hbase git commit: HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory; ADDEDNDUM to fix TestRegionOpen failure
Repository: hbase Updated Branches: refs/heads/master aef60a11b -> 11af33af2 HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory; ADDEDNDUM to fix TestRegionOpen failure Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/11af33af Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/11af33af Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/11af33af Branch: refs/heads/master Commit: 11af33af2a5baeecac7fb1773d5a1c27291f68dc Parents: aef60a1 Author: Michael Stack Authored: Thu Feb 22 09:14:35 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 09:15:16 2018 -0800 -- .../java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/11af33af/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java index 7190d84..48ca403 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java @@ -45,6 +45,7 @@ import org.apache.hadoop.hbase.util.FSUtils; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -100,6 +101,7 @@ public class TestRegionOpen { assertEquals(completed + 1, exec.getCompletedTaskCount()); } + @Ignore // Needs rewrite since HBASE-19391 which returns null out of createRegionOnFileSystem @Test public void testNonExistentRegionReplica() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName());
hbase git commit: HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory; ADDEDNDUM to fix TestRegionOpen failure
Repository: hbase Updated Branches: refs/heads/branch-2 e31ff69e9 -> 38a97b87e HBASE-19391 Calling HRegion#initializeRegionInternals from a region replica can still re-create a region directory; ADDEDNDUM to fix TestRegionOpen failure Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/38a97b87 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/38a97b87 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/38a97b87 Branch: refs/heads/branch-2 Commit: 38a97b87e62f2b0036235819ac7f05d81392270c Parents: e31ff69 Author: Michael Stack Authored: Thu Feb 22 09:14:35 2018 -0800 Committer: Michael Stack Committed: Thu Feb 22 09:14:35 2018 -0800 -- .../java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/38a97b87/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java index 7190d84..48ca403 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java @@ -45,6 +45,7 @@ import org.apache.hadoop.hbase.util.FSUtils; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -100,6 +101,7 @@ public class TestRegionOpen { assertEquals(completed + 1, exec.getCompletedTaskCount()); } + @Ignore // Needs rewrite since HBASE-19391 which returns null out of createRegionOnFileSystem @Test public void testNonExistentRegionReplica() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName());
[1/2] hbase git commit: HBASE-20041 move jersey-1 exclusions to hbase-rest
Repository: hbase Updated Branches: refs/heads/branch-2 9d3eadd92 -> e31ff69e9 refs/heads/master 4cf846d08 -> aef60a11b HBASE-20041 move jersey-1 exclusions to hbase-rest Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/aef60a11 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/aef60a11 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/aef60a11 Branch: refs/heads/master Commit: aef60a11b5a2deac19216ff396ba31c5df0c70d0 Parents: 4cf846d Author: Mike Drob Authored: Wed Feb 21 16:37:23 2018 -0600 Committer: Mike Drob Committed: Thu Feb 22 09:34:16 2018 -0600 -- hbase-rest/pom.xml | 48 pom.xml| 44 2 files changed, 48 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/aef60a11/hbase-rest/pom.xml -- diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml index e70e596..b9c50a0 100644 --- a/hbase-rest/pom.xml +++ b/hbase-rest/pom.xml @@ -406,6 +406,54 @@ 3.0 + + + +org.apache.hadoop +hadoop-yarn-server-nodemanager +${hadoop-three.version} + + +com.sun.jersey +jersey-core + + + + +org.apache.hadoop +hadoop-yarn-server-resourcemanager +${hadoop-three.version} + + +com.sun.jersey +jersey-core + + + + +org.apache.hadoop +hadoop-yarn-server-timelineservice +${hadoop-three.version} + + +javax.ws.rs +jsr311-api + + + + +org.apache.hadoop +hadoop-yarn-common +${hadoop-three.version} + + +com.sun.jersey +jersey-core + + + + + org.apache.hadoop http://git-wip-us.apache.org/repos/asf/hbase/blob/aef60a11/pom.xml -- diff --git a/pom.xml b/pom.xml index 951747e..9b10ba6 100755 --- a/pom.xml +++ b/pom.xml @@ -3003,50 +3003,6 @@ - org.apache.hadoop - hadoop-yarn-server-nodemanager - ${hadoop-three.version} - - - com.sun.jersey - jersey-core - - - - - org.apache.hadoop - hadoop-yarn-server-resourcemanager - ${hadoop-three.version} - - - com.sun.jersey - jersey-core - - - - - org.apache.hadoop - hadoop-yarn-server-timelineservice - ${hadoop-three.version} - - - javax.ws.rs - jsr311-api - - - - - org.apache.hadoop - hadoop-yarn-common - ${hadoop-three.version} - - - com.sun.jersey - jersey-core - - - - org.apache.hadoop hadoop-minikdc ${hadoop-three.version}
[2/2] hbase git commit: HBASE-20041 move jersey-1 exclusions to hbase-rest
HBASE-20041 move jersey-1 exclusions to hbase-rest Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e31ff69e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e31ff69e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e31ff69e Branch: refs/heads/branch-2 Commit: e31ff69e9e0f8aec45e1c2b822c0f6918e323890 Parents: 9d3eadd Author: Mike Drob Authored: Wed Feb 21 16:37:23 2018 -0600 Committer: Mike Drob Committed: Thu Feb 22 09:34:36 2018 -0600 -- hbase-rest/pom.xml | 48 pom.xml| 44 2 files changed, 48 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/e31ff69e/hbase-rest/pom.xml -- diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml index 0d6b2ce..e3cd9d8 100644 --- a/hbase-rest/pom.xml +++ b/hbase-rest/pom.xml @@ -406,6 +406,54 @@ 3.0 + + + +org.apache.hadoop +hadoop-yarn-server-nodemanager +${hadoop-three.version} + + +com.sun.jersey +jersey-core + + + + +org.apache.hadoop +hadoop-yarn-server-resourcemanager +${hadoop-three.version} + + +com.sun.jersey +jersey-core + + + + +org.apache.hadoop +hadoop-yarn-server-timelineservice +${hadoop-three.version} + + +javax.ws.rs +jsr311-api + + + + +org.apache.hadoop +hadoop-yarn-common +${hadoop-three.version} + + +com.sun.jersey +jersey-core + + + + + org.apache.hadoop http://git-wip-us.apache.org/repos/asf/hbase/blob/e31ff69e/pom.xml -- diff --git a/pom.xml b/pom.xml index d8dcc2a..a9df16f 100755 --- a/pom.xml +++ b/pom.xml @@ -2886,50 +2886,6 @@ - org.apache.hadoop - hadoop-yarn-server-nodemanager - ${hadoop-three.version} - - - com.sun.jersey - jersey-core - - - - - org.apache.hadoop - hadoop-yarn-server-resourcemanager - ${hadoop-three.version} - - - com.sun.jersey - jersey-core - - - - - org.apache.hadoop - hadoop-yarn-server-timelineservice - ${hadoop-three.version} - - - javax.ws.rs - jsr311-api - - - - - org.apache.hadoop - hadoop-yarn-common - ${hadoop-three.version} - - - com.sun.jersey - jersey-core - - - - org.apache.hadoop hadoop-minikdc ${hadoop-three.version}
[2/2] hbase git commit: HBASE-20035 Stabilize the flaky TestQuotaStatusRPCs
HBASE-20035 Stabilize the flaky TestQuotaStatusRPCs The test will fail if the quota moves to violation before the second half of the test. Signed-off-by: Michael Stack Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4cf846d0 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4cf846d0 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4cf846d0 Branch: refs/heads/master Commit: 4cf846d08570256115ac8c2787d0f7fbf162be23 Parents: 2440f80 Author: Josh Elser Authored: Wed Feb 21 17:17:57 2018 -0500 Committer: Josh Elser Committed: Thu Feb 22 09:40:20 2018 -0500 -- .../hadoop/hbase/quotas/TestQuotaStatusRPCs.java | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/4cf846d0/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java index dffa637..3e14b8a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java @@ -199,8 +199,11 @@ public class TestQuotaStatusRPCs { @Test public void testQuotaStatusFromMaster() throws Exception { -final long sizeLimit = 1024L * 10L; // 10KB -final long tableSize = 1024L * 5; // 5KB +final long sizeLimit = 1024L * 25L; // 25KB +// As of 2.0.0-beta-2, this 1KB of "Cells" actually results in about 15KB on disk (HFiles) +// This is skewed a bit since we're writing such little data, so the test needs to keep +// this in mind; else, the quota will be in violation before the test expects it to be. +final long tableSize = 1024L * 1; // 1KB final long nsLimit = Long.MAX_VALUE; final int numRegions = 10; final TableName tn = helper.createTableWithRegions(numRegions); @@ -245,6 +248,12 @@ public class TestQuotaStatusRPCs { } }); +// Sanity check: the below assertions will fail if we somehow write too much data +// and force the table to move into violation before we write the second bit of data. +SpaceQuotaSnapshot snapshot = QuotaTableUtil.getCurrentSnapshot(conn, tn); +assertTrue("QuotaSnapshot for " + tn + " should be non-null and not in violation", +snapshot != null && !snapshot.getQuotaStatus().isInViolation()); + try { helper.writeData(tn, tableSize * 2L); } catch (RetriesExhaustedWithDetailsException | SpaceLimitingException e) {
[1/2] hbase git commit: HBASE-20035 Stabilize the flaky TestQuotaStatusRPCs
Repository: hbase Updated Branches: refs/heads/branch-2 0432d49d8 -> 9d3eadd92 refs/heads/master 2440f807b -> 4cf846d08 HBASE-20035 Stabilize the flaky TestQuotaStatusRPCs The test will fail if the quota moves to violation before the second half of the test. Signed-off-by: Michael Stack Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9d3eadd9 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9d3eadd9 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9d3eadd9 Branch: refs/heads/branch-2 Commit: 9d3eadd924043a825f1a7efd48f5aefd3117ee5c Parents: 0432d49 Author: Josh Elser Authored: Wed Feb 21 17:17:57 2018 -0500 Committer: Josh Elser Committed: Thu Feb 22 09:34:05 2018 -0500 -- .../hadoop/hbase/quotas/TestQuotaStatusRPCs.java | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/9d3eadd9/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java index dffa637..3e14b8a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/quotas/TestQuotaStatusRPCs.java @@ -199,8 +199,11 @@ public class TestQuotaStatusRPCs { @Test public void testQuotaStatusFromMaster() throws Exception { -final long sizeLimit = 1024L * 10L; // 10KB -final long tableSize = 1024L * 5; // 5KB +final long sizeLimit = 1024L * 25L; // 25KB +// As of 2.0.0-beta-2, this 1KB of "Cells" actually results in about 15KB on disk (HFiles) +// This is skewed a bit since we're writing such little data, so the test needs to keep +// this in mind; else, the quota will be in violation before the test expects it to be. +final long tableSize = 1024L * 1; // 1KB final long nsLimit = Long.MAX_VALUE; final int numRegions = 10; final TableName tn = helper.createTableWithRegions(numRegions); @@ -245,6 +248,12 @@ public class TestQuotaStatusRPCs { } }); +// Sanity check: the below assertions will fail if we somehow write too much data +// and force the table to move into violation before we write the second bit of data. +SpaceQuotaSnapshot snapshot = QuotaTableUtil.getCurrentSnapshot(conn, tn); +assertTrue("QuotaSnapshot for " + tn + " should be non-null and not in violation", +snapshot != null && !snapshot.getQuotaStatus().isInViolation()); + try { helper.writeData(tn, tableSize * 2L); } catch (RetriesExhaustedWithDetailsException | SpaceLimitingException e) {