hbase git commit: HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor
Repository: hbase Updated Branches: refs/heads/branch-1.2 dcce2ed09 -> f7ead928c HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f7ead928 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f7ead928 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f7ead928 Branch: refs/heads/branch-1.2 Commit: f7ead928c0e030d491abf91da69c5724f7c9c225 Parents: dcce2ed Author: stackAuthored: Mon Oct 26 12:55:36 2015 -0700 Committer: stack Committed: Mon Oct 26 12:55:46 2015 -0700 -- .../hbase/io/encoding/TestDataBlockEncoders.java | 5 + .../hbase/namespace/TestNamespaceAuditor.java| 19 --- .../hadoop/hbase/regionserver/TestScanner.java | 5 + .../snapshot/TestFlushSnapshotFromClient.java| 3 +-- 4 files changed, 19 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/f7ead928/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java index 4170b44..c9107e3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java @@ -31,20 +31,17 @@ import java.util.List; import java.util.Random; import org.apache.hadoop.hbase.CategoryBasedTimeout; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.CellComparator; -import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.KeyValue.Type; import org.apache.hadoop.hbase.KeyValueUtil; -import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.Tag; import org.apache.hadoop.hbase.io.compress.Compression; import org.apache.hadoop.hbase.io.hfile.HFileBlock.Writer.BufferGrabbingByteArrayOutputStream; import org.apache.hadoop.hbase.io.hfile.HFileContext; import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder; +import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.test.RedundantKVGenerator; import org.junit.Rule; http://git-wip-us.apache.org/repos/asf/hbase/blob/f7ead928/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java index 773bdab..b6fab17 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java @@ -29,6 +29,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.CategoryBasedTimeout; import org.apache.hadoop.hbase.Coprocessor; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.DoNotRetryIOException; @@ -78,13 +79,17 @@ import org.junit.After; 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; +import org.junit.rules.TestRule; import com.google.common.collect.Sets; @Category(MediumTests.class) public class TestNamespaceAuditor { + @Rule public final TestRule timeout = CategoryBasedTimeout.builder(). + withTimeout(this.getClass()).withLookingForStuckThread(true).build(); private static final Log LOG = LogFactory.getLog(TestNamespaceAuditor.class); private static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); private static HBaseAdmin ADMIN; @@ -129,7 +134,7 @@ public class TestNamespaceAuditor { .getMasterQuotaManager().isQuotaEnabled()); } - @Test(timeout = 6) + @Test public void testTableOperations() throws Exception { String nsp = prefix + "_np2"; NamespaceDescriptor nspDesc = @@ -487,7 +492,7 @@ public class TestNamespaceAuditor { * namespace quota cache. Now correct the failure and recreate the table with same name. *
hbase git commit: HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor
Repository: hbase Updated Branches: refs/heads/branch-1 ec021a7b2 -> 0c5f4e01f HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0c5f4e01 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0c5f4e01 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0c5f4e01 Branch: refs/heads/branch-1 Commit: 0c5f4e01f64c3efe670a50a57cd0f73133089b88 Parents: ec021a7 Author: stackAuthored: Mon Oct 26 12:55:36 2015 -0700 Committer: stack Committed: Mon Oct 26 12:56:14 2015 -0700 -- .../hbase/io/encoding/TestDataBlockEncoders.java | 5 + .../hbase/namespace/TestNamespaceAuditor.java| 19 --- .../hadoop/hbase/regionserver/TestScanner.java | 5 + .../snapshot/TestFlushSnapshotFromClient.java| 3 +-- 4 files changed, 19 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0c5f4e01/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java index 4170b44..c9107e3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java @@ -31,20 +31,17 @@ import java.util.List; import java.util.Random; import org.apache.hadoop.hbase.CategoryBasedTimeout; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.CellComparator; -import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.KeyValue.Type; import org.apache.hadoop.hbase.KeyValueUtil; -import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.Tag; import org.apache.hadoop.hbase.io.compress.Compression; import org.apache.hadoop.hbase.io.hfile.HFileBlock.Writer.BufferGrabbingByteArrayOutputStream; import org.apache.hadoop.hbase.io.hfile.HFileContext; import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder; +import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.test.RedundantKVGenerator; import org.junit.Rule; http://git-wip-us.apache.org/repos/asf/hbase/blob/0c5f4e01/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java index 773bdab..b6fab17 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java @@ -29,6 +29,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.CategoryBasedTimeout; import org.apache.hadoop.hbase.Coprocessor; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.DoNotRetryIOException; @@ -78,13 +79,17 @@ import org.junit.After; 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; +import org.junit.rules.TestRule; import com.google.common.collect.Sets; @Category(MediumTests.class) public class TestNamespaceAuditor { + @Rule public final TestRule timeout = CategoryBasedTimeout.builder(). + withTimeout(this.getClass()).withLookingForStuckThread(true).build(); private static final Log LOG = LogFactory.getLog(TestNamespaceAuditor.class); private static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); private static HBaseAdmin ADMIN; @@ -129,7 +134,7 @@ public class TestNamespaceAuditor { .getMasterQuotaManager().isQuotaEnabled()); } - @Test(timeout = 6) + @Test public void testTableOperations() throws Exception { String nsp = prefix + "_np2"; NamespaceDescriptor nspDesc = @@ -487,7 +492,7 @@ public class TestNamespaceAuditor { * namespace quota cache. Now correct the failure and recreate the table with same name. * HBASE-13394
[1/6] hbase git commit: HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks
Repository: hbase Updated Branches: refs/heads/0.98 f321d7ec7 -> 9f6d34bef refs/heads/branch-1 6fbcd0a2e -> 288a27405 refs/heads/branch-1.0 bbb2f1b00 -> 48a532875 refs/heads/branch-1.1 b75605817 -> 0db04a170 refs/heads/branch-1.2 c706d42e9 -> 0fd37a5bf refs/heads/master efb82957d -> 5c56e239c HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks Signed-off-by: Andrew PurtellProject: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5c56e239 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5c56e239 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5c56e239 Branch: refs/heads/master Commit: 5c56e239c3af22e1232681cceaed7bd96480ed92 Parents: efb8295 Author: Ben Lau Authored: Wed Oct 7 16:46:16 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:12:21 2015 -0700 -- .../hadoop/hbase/io/hfile/HFileReaderImpl.java | 7 +- .../hfile/TestSeekBeforeWithInlineBlocks.java | 189 +++ 2 files changed, 194 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/5c56e239/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java index 5af72b6..49b6f5e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java @@ -859,9 +859,12 @@ public class HFileReaderImpl implements HFile.Reader, Configurable { reader.returnBlock(seekToBlock); // It is important that we compute and pass onDiskSize to the block // reader so that it does not have to read the header separately to -// figure out the size. +// figure out the size. Currently, we do not have a way to do this +// correctly in the general case however. +// TODO: See https://issues.apache.org/jira/browse/HBASE-14576 +int prevBlockSize = -1; seekToBlock = reader.readBlock(previousBlockOffset, -seekToBlock.getOffset() - previousBlockOffset, cacheBlocks, +prevBlockSize, cacheBlocks, pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding()); // TODO shortcut: seek forward in this block to the last key of the // block. http://git-wip-us.apache.org/repos/asf/hbase/blob/5c56e239/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java new file mode 100644 index 000..c9af3d3 --- /dev/null +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java @@ -0,0 +1,189 @@ +/* + * + * 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.io.hfile; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.util.Random; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.Cell; +import org.apache.hadoop.hbase.CellUtil; +import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.fs.HFileSystem; +import org.apache.hadoop.hbase.regionserver.BloomType; +import
[3/6] hbase git commit: HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks
HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks Signed-off-by: Andrew PurtellProject: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0fd37a5b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0fd37a5b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0fd37a5b Branch: refs/heads/branch-1.2 Commit: 0fd37a5bffacef56cca593dc22fb9d86c6dd081f Parents: c706d42 Author: Ben Lau Authored: Wed Oct 7 17:52:34 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:13:45 2015 -0700 -- .../java/org/apache/hadoop/hbase/CellUtil.java | 11 ++ .../hadoop/hbase/io/hfile/HFileReaderV2.java| 7 +- .../hfile/TestSeekBeforeWithInlineBlocks.java | 187 +++ 3 files changed, 203 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0fd37a5b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java index 16b6e37..ff6ad90 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java @@ -932,4 +932,15 @@ public final class CellUtil { return builder.toString(); } + + / equals / + + public static boolean equals(Cell a, Cell b) { +return matchingRow(a, b) && matchingFamily(a, b) && matchingQualifier(a, b) +&& matchingTimestamp(a, b) && matchingType(a, b); + } + + public static boolean matchingType(Cell a, Cell b) { +return a.getTypeByte() == b.getTypeByte(); + } } http://git-wip-us.apache.org/repos/asf/hbase/blob/0fd37a5b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java index a87f8bb..f9fb96d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java @@ -670,9 +670,12 @@ public class HFileReaderV2 extends AbstractHFileReader { // It is important that we compute and pass onDiskSize to the block // reader so that it does not have to read the header separately to -// figure out the size. +// figure out the size. Currently, we do not have a way to do this +// correctly in the general case however. +// TODO: See https://issues.apache.org/jira/browse/HBASE-14576 +int prevBlockSize = -1; seekToBlock = reader.readBlock(previousBlockOffset, -seekToBlock.getOffset() - previousBlockOffset, cacheBlocks, +prevBlockSize, cacheBlocks, pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding()); // TODO shortcut: seek forward in this block to the last key of the // block. http://git-wip-us.apache.org/repos/asf/hbase/blob/0fd37a5b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java new file mode 100644 index 000..ac92f4f --- /dev/null +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java @@ -0,0 +1,187 @@ +/* + * + * 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.io.hfile; + +import static
[4/6] hbase git commit: HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks
HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks Signed-off-by: Andrew PurtellProject: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0db04a17 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0db04a17 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0db04a17 Branch: refs/heads/branch-1.1 Commit: 0db04a1705e5e8cc04cc9c010ddfc5612f60cfec Parents: b756058 Author: Ben Lau Authored: Wed Oct 7 17:52:34 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:13:48 2015 -0700 -- .../java/org/apache/hadoop/hbase/CellUtil.java | 11 ++ .../hadoop/hbase/io/hfile/HFileReaderV2.java| 7 +- .../hfile/TestSeekBeforeWithInlineBlocks.java | 187 +++ 3 files changed, 203 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0db04a17/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java index b0eece8..a89d573 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java @@ -905,4 +905,15 @@ public final class CellUtil { return builder.toString(); } + + / equals / + + public static boolean equals(Cell a, Cell b) { +return matchingRow(a, b) && matchingFamily(a, b) && matchingQualifier(a, b) +&& matchingTimestamp(a, b) && matchingType(a, b); + } + + public static boolean matchingType(Cell a, Cell b) { +return a.getTypeByte() == b.getTypeByte(); + } } http://git-wip-us.apache.org/repos/asf/hbase/blob/0db04a17/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java index 26648c9..c3f864b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java @@ -669,9 +669,12 @@ public class HFileReaderV2 extends AbstractHFileReader { // It is important that we compute and pass onDiskSize to the block // reader so that it does not have to read the header separately to -// figure out the size. +// figure out the size. Currently, we do not have a way to do this +// correctly in the general case however. +// TODO: See https://issues.apache.org/jira/browse/HBASE-14576 +int prevBlockSize = -1; seekToBlock = reader.readBlock(previousBlockOffset, -seekToBlock.getOffset() - previousBlockOffset, cacheBlocks, +prevBlockSize, cacheBlocks, pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding()); // TODO shortcut: seek forward in this block to the last key of the // block. http://git-wip-us.apache.org/repos/asf/hbase/blob/0db04a17/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java new file mode 100644 index 000..ac92f4f --- /dev/null +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java @@ -0,0 +1,187 @@ +/* + * + * 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.io.hfile; + +import static
hbase git commit: HBASE-14682 CM restore functionality for regionservers is broken
Repository: hbase Updated Branches: refs/heads/master 5c56e239c -> 2b8600252 HBASE-14682 CM restore functionality for regionservers is broken Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2b860025 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2b860025 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2b860025 Branch: refs/heads/master Commit: 2b860025216898bb34a8e77799dd20a9a638e9c5 Parents: 5c56e23 Author: Enis SoztutarAuthored: Mon Oct 26 16:47:16 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 16:47:16 2015 -0700 -- .../java/org/apache/hadoop/hbase/DistributedHBaseCluster.java| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/2b860025/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java index 07ca5ec..62f5c66 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java @@ -431,8 +431,8 @@ public class DistributedHBaseCluster extends HBaseCluster { protected boolean restoreRegionServers(ClusterStatus initial, ClusterStatus current) { Set toStart = new TreeSet(new ServerNameIgnoreStartCodeComparator()); Set toKill = new TreeSet(new ServerNameIgnoreStartCodeComparator()); -toStart.addAll(initial.getBackupMasters()); -toKill.addAll(current.getBackupMasters()); +toStart.addAll(initial.getServers()); +toKill.addAll(current.getServers()); for (ServerName server : current.getServers()) { toStart.remove(server);
hbase git commit: HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor; ADDENDUM
Repository: hbase Updated Branches: refs/heads/master 0f6ec611e -> d0944f821 HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor; ADDENDUM Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d0944f82 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d0944f82 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d0944f82 Branch: refs/heads/master Commit: d0944f8219c4258f948e7470419ae683cc4194db Parents: 0f6ec61 Author: stackAuthored: Mon Oct 26 13:28:41 2015 -0700 Committer: stack Committed: Mon Oct 26 13:28:41 2015 -0700 -- .../apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java| 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/d0944f82/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java index 9863fac..64c74e8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java @@ -34,6 +34,9 @@ import java.util.Random; import org.apache.hadoop.hbase.CategoryBasedTimeout; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.Cell; +import org.apache.hadoop.hbase.CellUtil; +import org.apache.hadoop.hbase.CellComparator; import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.KeyValue.Type; import org.apache.hadoop.hbase.KeyValueUtil;
[2/2] hbase git commit: HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY)
HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c3d4d023 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c3d4d023 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c3d4d023 Branch: refs/heads/branch-1 Commit: c3d4d0233d72b59f4713aeb1b6827d75bdbe486d Parents: ff0bc80 Author: stackAuthored: Mon Oct 26 14:57:49 2015 -0700 Committer: stack Committed: Mon Oct 26 14:57:49 2015 -0700 -- hbase-server/src/main/resources/hbase-webapps/master/table.jsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/c3d4d023/hbase-server/src/main/resources/hbase-webapps/master/table.jsp -- diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index effc8fe..98db717 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -270,7 +270,7 @@ if ( fqtn != null ) { <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> <% if (addr != null) { -String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; +String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %> @@ -311,7 +311,7 @@ if (withReplica) { <% for (Map.Entry rdEntry : regDistribution.entrySet()) { ServerName addr = rdEntry.getKey(); - String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; + String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %>
hbase git commit: HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY)
Repository: hbase Updated Branches: refs/heads/branch-1.1 5625bd012 -> 9b71dac49 HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9b71dac4 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9b71dac4 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9b71dac4 Branch: refs/heads/branch-1.1 Commit: 9b71dac49787ba6aacc73c139547788126aa8e2d Parents: 5625bd0 Author: stackAuthored: Mon Oct 26 14:57:49 2015 -0700 Committer: stack Committed: Mon Oct 26 14:58:59 2015 -0700 -- hbase-server/src/main/resources/hbase-webapps/master/table.jsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/9b71dac4/hbase-server/src/main/resources/hbase-webapps/master/table.jsp -- diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index 70ee80e..38751d8 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -269,7 +269,7 @@ if ( fqtn != null ) { <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> <% if (addr != null) { -String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; +String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %> @@ -300,7 +300,7 @@ if ( fqtn != null ) { <% for (Map.Entry rdEntry : regDistribution.entrySet()) { ServerName addr = rdEntry.getKey(); - String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; + String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %>
hbase git commit: HBASE-14689 Addendum and unit test for HBASE-13471
Repository: hbase Updated Branches: refs/heads/branch-1 d76dbb4f8 -> ec021a7b2 HBASE-14689 Addendum and unit test for HBASE-13471 Conflicts: hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ec021a7b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ec021a7b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ec021a7b Branch: refs/heads/branch-1 Commit: ec021a7b25ecef91685fdab70ebdd386414a677c Parents: d76dbb4 Author: Enis SoztutarAuthored: Mon Oct 26 11:56:51 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 12:08:58 2015 -0700 -- .../hadoop/hbase/regionserver/HRegion.java | 14 ++--- .../hadoop/hbase/regionserver/TestHRegion.java | 56 +++- 2 files changed, 62 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/ec021a7b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index 8b8a108..a788696 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -2990,11 +2990,12 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi } catch (IOException ioe) { LOG.warn("Failed getting lock in batch put, row=" + Bytes.toStringBinary(mutation.getRow()), ioe); + throw ioe; } if (rowLock == null) { // We failed to grab another lock - assert false: "Should never fail to get lock when blocking"; - break; // stop acquiring more rows for this batch + throw new IOException("Failed getting lock in batch put, row=" + + Bytes.toStringBinary(mutation.getRow())); } else { acquiredRowLocks.add(rowLock); } @@ -5068,6 +5069,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi * @param readLock is the lock reader or writer. True indicates that a non-exlcusive * lock is requested */ + @Override public RowLock getRowLock(byte[] row, boolean readLock) throws IOException { // Make sure the row is inside of this region before getting the lock for it. checkRow(row, "row lock"); @@ -7031,7 +7033,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi */ private static List carryForwardTags(final Cell cell, final List tags) { if (cell.getTagsLength() <= 0) return tags; -List newTags = tags == null? new ArrayList(): /*Append Tags*/tags; +List newTags = tags == null? new ArrayList(): /*Append Tags*/tags; Iterator i = CellUtil.tagsIterator(cell.getTagsArray(), cell.getTagsOffset(), cell.getTagsLength()); while (i.hasNext()) newTags.add(i.next()); @@ -7322,7 +7324,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi // They are subtley different in quiet a few ways. This came out only // after study. I am not sure that many of the differences are intentional. - // TODO: St.Ack 20150907 + // TODO: St.Ack 20150907 @Override public Result increment(Increment mutation, long nonceGroup, long nonce) @@ -7336,7 +7338,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi boolean writeToWAL = durability != Durability.SKIP_WAL; WALEdit walEdits = null; List allKVs = new ArrayList(mutation.size()); - + Map tempMemstore = new HashMap (); long size = 0; long txid = 0; @@ -8138,7 +8140,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi WALKey key = new HLogKey(getRegionInfo().getEncodedNameAsBytes(), getRegionInfo().getTable(), WALKey.NO_SEQUENCE_ID, 0, null, HConstants.NO_NONCE, HConstants.NO_NONCE, getMVCC()); - + // Call append but with an empty WALEdit. The returned sequence id will not be associated // with any edit and we can be sure it went in after all outstanding appends. try { http://git-wip-us.apache.org/repos/asf/hbase/blob/ec021a7b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
hbase git commit: HBASE-14689 Addendum and unit test for HBASE-13471
Repository: hbase Updated Branches: refs/heads/branch-1.2 9ad77becf -> dcce2ed09 HBASE-14689 Addendum and unit test for HBASE-13471 Conflicts: hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/dcce2ed0 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/dcce2ed0 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/dcce2ed0 Branch: refs/heads/branch-1.2 Commit: dcce2ed09cd5cebe0550e9b192e3053b08f36bf2 Parents: 9ad77be Author: Enis SoztutarAuthored: Mon Oct 26 11:56:51 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 12:10:14 2015 -0700 -- .../hadoop/hbase/regionserver/HRegion.java | 14 ++--- .../hadoop/hbase/regionserver/TestHRegion.java | 56 +++- 2 files changed, 62 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/dcce2ed0/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index 2492775..aa988d7 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -2990,11 +2990,12 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi } catch (IOException ioe) { LOG.warn("Failed getting lock in batch put, row=" + Bytes.toStringBinary(mutation.getRow()), ioe); + throw ioe; } if (rowLock == null) { // We failed to grab another lock - assert false: "Should never fail to get lock when blocking"; - break; // stop acquiring more rows for this batch + throw new IOException("Failed getting lock in batch put, row=" + + Bytes.toStringBinary(mutation.getRow())); } else { acquiredRowLocks.add(rowLock); } @@ -5068,6 +5069,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi * @param readLock is the lock reader or writer. True indicates that a non-exlcusive * lock is requested */ + @Override public RowLock getRowLock(byte[] row, boolean readLock) throws IOException { // Make sure the row is inside of this region before getting the lock for it. checkRow(row, "row lock"); @@ -7031,7 +7033,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi */ private static List carryForwardTags(final Cell cell, final List tags) { if (cell.getTagsLength() <= 0) return tags; -List newTags = tags == null? new ArrayList(): /*Append Tags*/tags; +List newTags = tags == null? new ArrayList(): /*Append Tags*/tags; Iterator i = CellUtil.tagsIterator(cell.getTagsArray(), cell.getTagsOffset(), cell.getTagsLength()); while (i.hasNext()) newTags.add(i.next()); @@ -7321,7 +7323,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi // They are subtley different in quiet a few ways. This came out only // after study. I am not sure that many of the differences are intentional. - // TODO: St.Ack 20150907 + // TODO: St.Ack 20150907 @Override public Result increment(Increment mutation, long nonceGroup, long nonce) @@ -7334,7 +7336,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi boolean writeToWAL = durability != Durability.SKIP_WAL; WALEdit walEdits = null; List allKVs = new ArrayList(mutation.size()); - + Map tempMemstore = new HashMap (); long size = 0; long txid = 0; @@ -8136,7 +8138,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi WALKey key = new HLogKey(getRegionInfo().getEncodedNameAsBytes(), getRegionInfo().getTable(), WALKey.NO_SEQUENCE_ID, 0, null, HConstants.NO_NONCE, HConstants.NO_NONCE, getMVCC()); - + // Call append but with an empty WALEdit. The returned sequence id will not be associated // with any edit and we can be sure it went in after all outstanding appends. try { http://git-wip-us.apache.org/repos/asf/hbase/blob/dcce2ed0/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
hbase git commit: HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor
Repository: hbase Updated Branches: refs/heads/master 4c04e8065 -> 0f6ec611e HBASE-14698 Set category timeouts on TestScanner and TestNamespaceAuditor Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0f6ec611 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0f6ec611 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0f6ec611 Branch: refs/heads/master Commit: 0f6ec611e653eec03cd3d2c516cbfcb202090916 Parents: 4c04e80 Author: stackAuthored: Mon Oct 26 12:55:36 2015 -0700 Committer: stack Committed: Mon Oct 26 13:05:58 2015 -0700 -- .../hbase/io/encoding/TestDataBlockEncoders.java | 3 --- .../hbase/namespace/TestNamespaceAuditor.java| 19 --- .../hadoop/hbase/regionserver/TestScanner.java | 5 + 3 files changed, 17 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0f6ec611/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java index 2e9e973..9863fac 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java @@ -32,9 +32,6 @@ import java.util.List; import java.util.Random; import org.apache.hadoop.hbase.CategoryBasedTimeout; -import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.CellComparator; -import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.KeyValue; http://git-wip-us.apache.org/repos/asf/hbase/blob/0f6ec611/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java index 9912808..41a9713 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/namespace/TestNamespaceAuditor.java @@ -37,6 +37,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.CategoryBasedTimeout; import org.apache.hadoop.hbase.Coprocessor; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.DoNotRetryIOException; @@ -85,13 +86,17 @@ import org.junit.After; 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; +import org.junit.rules.TestRule; import com.google.common.collect.Sets; @Category(MediumTests.class) public class TestNamespaceAuditor { + @Rule public final TestRule timeout = CategoryBasedTimeout.builder(). + withTimeout(this.getClass()).withLookingForStuckThread(true).build(); private static final Log LOG = LogFactory.getLog(TestNamespaceAuditor.class); private static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); private static HBaseAdmin ADMIN; @@ -133,7 +138,7 @@ public class TestNamespaceAuditor { .getMasterQuotaManager().isQuotaEnabled()); } - @Test(timeout = 6) + @Test public void testTableOperations() throws Exception { String nsp = prefix + "_np2"; NamespaceDescriptor nspDesc = @@ -480,7 +485,7 @@ public class TestNamespaceAuditor { * namespace quota cache. Now correct the failure and recreate the table with same name. * HBASE-13394 */ - @Test(timeout = 18) + @Test public void testRecreateTableWithSameNameAfterFirstTimeFailure() throws Exception { String nsp1 = prefix + "_testRecreateTable"; NamespaceDescriptor nspDesc = @@ -659,7 +664,7 @@ public class TestNamespaceAuditor { observer.tableDeletionLatch.await(); } - @Test(expected = QuotaExceededException.class, timeout = 3) + @Test(expected = QuotaExceededException.class) public void testExceedTableQuotaInNamespace() throws Exception { String nsp = prefix + "_testExceedTableQuotaInNamespace"; NamespaceDescriptor nspDesc = @@ -676,7 +681,7 @@ public class TestNamespaceAuditor { ADMIN.createTable(tableDescTwo, Bytes.toBytes("AAA"),
hbase git commit: HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY)
Repository: hbase Updated Branches: refs/heads/branch-1.0 e7a4e9fa6 -> 54242171d HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/54242171 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/54242171 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/54242171 Branch: refs/heads/branch-1.0 Commit: 54242171da2b4fe3ebcbb7338c6ed362e5dbd316 Parents: e7a4e9f Author: stackAuthored: Mon Oct 26 14:57:49 2015 -0700 Committer: stack Committed: Mon Oct 26 15:02:49 2015 -0700 -- hbase-server/src/main/resources/hbase-webapps/master/table.jsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/54242171/hbase-server/src/main/resources/hbase-webapps/master/table.jsp -- diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index db5e0c4..784b159 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -262,7 +262,7 @@ if ( fqtn != null ) { <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> <% if (addr != null) { -String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; +String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %> @@ -293,7 +293,7 @@ if ( fqtn != null ) { <% for (Map.Entry rdEntry : regDistribution.entrySet()) { ServerName addr = rdEntry.getKey(); - String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; + String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %>
hbase git commit: HBASE-14689 Addendum and unit test for HBASE-13471
Repository: hbase Updated Branches: refs/heads/master 899857609 -> 4c04e8065 HBASE-14689 Addendum and unit test for HBASE-13471 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4c04e806 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4c04e806 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4c04e806 Branch: refs/heads/master Commit: 4c04e8065f205a89b84670a9865149237499dd86 Parents: 8998576 Author: Enis SoztutarAuthored: Mon Oct 26 11:56:51 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 11:56:51 2015 -0700 -- .../hadoop/hbase/regionserver/HRegion.java | 14 ++--- .../hadoop/hbase/regionserver/TestHRegion.java | 56 +++- 2 files changed, 62 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/4c04e806/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index 34738de..07924e6 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -2961,11 +2961,12 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi } catch (IOException ioe) { LOG.warn("Failed getting lock in batch put, row=" + Bytes.toStringBinary(mutation.getRow()), ioe); + throw ioe; } if (rowLock == null) { // We failed to grab another lock - assert false: "Should never fail to get lock when blocking"; - break; // stop acquiring more rows for this batch + throw new IOException("Failed getting lock in batch put, row=" + + Bytes.toStringBinary(mutation.getRow())); } else { acquiredRowLocks.add(rowLock); } @@ -5055,6 +5056,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi * @param readLock is the lock reader or writer. True indicates that a non-exlcusive * lock is requested */ + @Override public RowLock getRowLock(byte[] row, boolean readLock) throws IOException { // Make sure the row is inside of this region before getting the lock for it. checkRow(row, "row lock"); @@ -6947,7 +6949,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi */ private static List carryForwardTags(final Cell cell, final List tags) { if (cell.getTagsLength() <= 0) return tags; -List newTags = tags == null? new ArrayList(): /*Append Tags*/tags; +List newTags = tags == null? new ArrayList(): /*Append Tags*/tags; Iterator i = CellUtil.tagsIterator(cell.getTagsArray(), cell.getTagsOffset(), cell.getTagsLength()); while (i.hasNext()) newTags.add(i.next()); @@ -7228,7 +7230,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi // They are subtley different in quiet a few ways. This came out only // after study. I am not sure that many of the differences are intentional. - // TODO: St.Ack 20150907 + // TODO: St.Ack 20150907 @Override public Result increment(Increment mutation, long nonceGroup, long nonce) @@ -7242,7 +7244,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi boolean writeToWAL = durability != Durability.SKIP_WAL; WALEdit walEdits = null; List allKVs = new ArrayList(mutation.size()); - + Map tempMemstore = new HashMap (); long size = 0; long txid = 0; @@ -8045,7 +8047,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi WALKey key = new HLogKey(getRegionInfo().getEncodedNameAsBytes(), getRegionInfo().getTable(), WALKey.NO_SEQUENCE_ID, 0, null, HConstants.NO_NONCE, HConstants.NO_NONCE, getMVCC()); - + // Call append but with an empty WALEdit. The returned sequence id will not be associated // with any edit and we can be sure it went in after all outstanding appends. try { http://git-wip-us.apache.org/repos/asf/hbase/blob/4c04e806/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java index ed45c2d..06517d7 100644 ---
hbase git commit: HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY)
Repository: hbase Updated Branches: refs/heads/master d0944f821 -> 928dade1d HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/928dade1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/928dade1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/928dade1 Branch: refs/heads/master Commit: 928dade1da5d83df2fc3d9b84160da0eec4efee2 Parents: d0944f8 Author: stackAuthored: Mon Oct 26 14:57:28 2015 -0700 Committer: stack Committed: Mon Oct 26 14:57:28 2015 -0700 -- hbase-server/src/main/resources/hbase-webapps/master/table.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/928dade1/hbase-server/src/main/resources/hbase-webapps/master/table.jsp -- diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index 4d85eea..f132b2b 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -313,7 +313,7 @@ if ( fqtn != null ) { conf))) %> <% if (addr != null) { -String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; +String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %>
[1/2] hbase git commit: HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY
Repository: hbase Updated Branches: refs/heads/branch-1 0c5f4e01f -> c3d4d0233 HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ff0bc803 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ff0bc803 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ff0bc803 Branch: refs/heads/branch-1 Commit: ff0bc8037428a27ef7b60d8b5159c3fca23dca72 Parents: 0c5f4e0 Author: stackAuthored: Mon Oct 26 08:40:19 2015 -0700 Committer: stack Committed: Mon Oct 26 14:01:03 2015 -0700 -- .../org/apache/hadoop/hbase/mapred/TestTableInputFormat.java | 8 .../apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java | 2 -- .../hbase/mapreduce/MultiTableInputFormatTestBase.java | 3 --- .../hbase/mapreduce/TableSnapshotInputFormatTestBase.java| 2 -- .../org/apache/hadoop/hbase/mapreduce/TestCellCounter.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestCopyTable.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java | 4 .../hadoop/hbase/mapreduce/TestHFileOutputFormat2.java | 5 - .../hadoop/hbase/mapreduce/TestHRegionPartitioner.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestHashTable.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestImportExport.java | 2 -- .../mapreduce/TestImportTSVWithOperationAttributes.java | 1 - .../apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.java | 2 -- .../hbase/mapreduce/TestImportTSVWithVisibilityLabels.java | 1 - .../org/apache/hadoop/hbase/mapreduce/TestImportTsv.java | 2 -- .../hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestRowCounter.java| 2 -- .../org/apache/hadoop/hbase/mapreduce/TestSyncTable.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestTableInputFormat.java | 2 -- .../hadoop/hbase/mapreduce/TestTableInputFormatScanBase.java | 3 --- .../hadoop/hbase/mapreduce/TestTableMapReduceBase.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestWALPlayer.java | 2 -- 23 files changed, 4 insertions(+), 53 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/ff0bc803/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java index ff19879..f4ca3a3 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java @@ -34,6 +34,7 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.client.Connection; @@ -80,7 +81,7 @@ public class TestTableInputFormat { private static final Log LOG = LogFactory.getLog(TestTableInputFormat.class); private final static HBaseTestingUtility UTIL = new HBaseTestingUtility(); - private static MiniMRCluster mrCluster; + static final byte[] FAMILY = Bytes.toBytes("family"); private static final byte[][] columns = new byte[][] { FAMILY }; @@ -88,12 +89,10 @@ public class TestTableInputFormat { @BeforeClass public static void beforeClass() throws Exception { UTIL.startMiniCluster(); -mrCluster = UTIL.startMiniMapReduceCluster(); } @AfterClass public static void afterClass() throws Exception { -UTIL.shutdownMiniMapReduceCluster(); UTIL.shutdownMiniCluster(); } @@ -344,7 +343,8 @@ public class TestTableInputFormat { } void testInputFormat(Class clazz) throws IOException { -final JobConf job = MapreduceTestingShim.getJobConf(mrCluster); +Configuration conf = UTIL.getConfiguration(); +final JobConf job = new JobConf(conf); job.setInputFormat(clazz); job.setOutputFormat(NullOutputFormat.class); job.setMapperClass(ExampleVerifier.class); http://git-wip-us.apache.org/repos/asf/hbase/blob/ff0bc803/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java index 8ed7772..a7a6314 100644 ---
hbase git commit: HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY)
Repository: hbase Updated Branches: refs/heads/branch-1.2 f7ead928c -> 2f3e98b7e HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2f3e98b7 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2f3e98b7 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2f3e98b7 Branch: refs/heads/branch-1.2 Commit: 2f3e98b7e44afe956652ea290f561dcd249b9478 Parents: f7ead92 Author: stackAuthored: Mon Oct 26 14:57:49 2015 -0700 Committer: stack Committed: Mon Oct 26 14:58:17 2015 -0700 -- hbase-server/src/main/resources/hbase-webapps/master/table.jsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/2f3e98b7/hbase-server/src/main/resources/hbase-webapps/master/table.jsp -- diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index b276a84..32c8852 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -264,7 +264,7 @@ if ( fqtn != null ) { <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> <% if (addr != null) { -String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; +String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %> @@ -295,7 +295,7 @@ if ( fqtn != null ) { <% for (Map.Entry rdEntry : regDistribution.entrySet()) { ServerName addr = rdEntry.getKey(); - String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; + String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %>
hbase git commit: HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY)
Repository: hbase Updated Branches: refs/heads/branch1.2 [created] 2f3e98b7e HBASE-14661 RegionServer link is not opening, in HBase Table page (Y. SREENIVASULU REDDY) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2f3e98b7 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2f3e98b7 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2f3e98b7 Branch: refs/heads/branch1.2 Commit: 2f3e98b7e44afe956652ea290f561dcd249b9478 Parents: f7ead92 Author: stackAuthored: Mon Oct 26 14:57:49 2015 -0700 Committer: stack Committed: Mon Oct 26 14:58:17 2015 -0700 -- hbase-server/src/main/resources/hbase-webapps/master/table.jsp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/2f3e98b7/hbase-server/src/main/resources/hbase-webapps/master/table.jsp -- diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index b276a84..32c8852 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -264,7 +264,7 @@ if ( fqtn != null ) { <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> <% if (addr != null) { -String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; +String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %> @@ -295,7 +295,7 @@ if ( fqtn != null ) { <% for (Map.Entry rdEntry : regDistribution.entrySet()) { ServerName addr = rdEntry.getKey(); - String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/"; + String url = "//" + addr.getHostname() + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; %> <%= addr.getHostname().toString() + ":" + addr.getPort() %>
[5/6] hbase git commit: HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks
HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks Signed-off-by: Andrew PurtellProject: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/48a53287 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/48a53287 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/48a53287 Branch: refs/heads/branch-1.0 Commit: 48a532875e31c15515fa6cb8320993a4efb3cae8 Parents: bbb2f1b Author: Ben Lau Authored: Wed Oct 7 18:23:23 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:14:11 2015 -0700 -- .../org/apache/hadoop/hbase/CellComparator.java | 2 +- .../java/org/apache/hadoop/hbase/CellUtil.java | 15 ++ .../hadoop/hbase/io/hfile/HFileReaderV2.java| 7 +- .../hfile/TestSeekBeforeWithInlineBlocks.java | 187 +++ 4 files changed, 208 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/48a53287/hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java index 5f87858..0bae253 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java @@ -356,7 +356,7 @@ public class CellComparator implements Comparator, Serializable { return c; } - private static int compareTimestamps(final long ltimestamp, final long rtimestamp) { + public static int compareTimestamps(final long ltimestamp, final long rtimestamp) { // The below older timestamps sorting ahead of newer timestamps looks // wrong but it is intentional. This way, newer timestamps are first // found when we iterate over a memstore and newer versions are the http://git-wip-us.apache.org/repos/asf/hbase/blob/48a53287/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java index 2861794..8e48b5f 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java @@ -876,4 +876,19 @@ public final class CellUtil { } return commonPrefix; } + + / equals / + + public static boolean equals(Cell a, Cell b) { +return matchingRow(a, b) && matchingFamily(a, b) && matchingQualifier(a, b) +&& matchingTimestamp(a, b) && matchingType(a, b); + } + + public static boolean matchingTimestamp(Cell a, Cell b) { +return CellComparator.compareTimestamps(a.getTimestamp(), b.getTimestamp()) == 0; + } + + public static boolean matchingType(Cell a, Cell b) { +return a.getTypeByte() == b.getTypeByte(); + } } http://git-wip-us.apache.org/repos/asf/hbase/blob/48a53287/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java index 2de9415..2c4df2b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java @@ -666,9 +666,12 @@ public class HFileReaderV2 extends AbstractHFileReader { // It is important that we compute and pass onDiskSize to the block // reader so that it does not have to read the header separately to -// figure out the size. +// figure out the size. Currently, we do not have a way to do this +// correctly in the general case however. +// TODO: See https://issues.apache.org/jira/browse/HBASE-14576 +int prevBlockSize = -1; seekToBlock = reader.readBlock(previousBlockOffset, -seekToBlock.getOffset() - previousBlockOffset, cacheBlocks, +prevBlockSize, cacheBlocks, pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding()); // TODO shortcut: seek forward in this block to the last key of the // block. http://git-wip-us.apache.org/repos/asf/hbase/blob/48a53287/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java -- diff --git
[2/6] hbase git commit: HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks
HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks Signed-off-by: Andrew PurtellProject: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/288a2740 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/288a2740 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/288a2740 Branch: refs/heads/branch-1 Commit: 288a27405206db38923fc730648d8f49367abf34 Parents: 6fbcd0a Author: Ben Lau Authored: Wed Oct 7 17:52:34 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:13:07 2015 -0700 -- .../java/org/apache/hadoop/hbase/CellUtil.java | 11 ++ .../hadoop/hbase/io/hfile/HFileReaderV2.java| 7 +- .../hfile/TestSeekBeforeWithInlineBlocks.java | 187 +++ 3 files changed, 203 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/288a2740/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java index 16b6e37..ff6ad90 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java @@ -932,4 +932,15 @@ public final class CellUtil { return builder.toString(); } + + / equals / + + public static boolean equals(Cell a, Cell b) { +return matchingRow(a, b) && matchingFamily(a, b) && matchingQualifier(a, b) +&& matchingTimestamp(a, b) && matchingType(a, b); + } + + public static boolean matchingType(Cell a, Cell b) { +return a.getTypeByte() == b.getTypeByte(); + } } http://git-wip-us.apache.org/repos/asf/hbase/blob/288a2740/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java index a87f8bb..f9fb96d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java @@ -670,9 +670,12 @@ public class HFileReaderV2 extends AbstractHFileReader { // It is important that we compute and pass onDiskSize to the block // reader so that it does not have to read the header separately to -// figure out the size. +// figure out the size. Currently, we do not have a way to do this +// correctly in the general case however. +// TODO: See https://issues.apache.org/jira/browse/HBASE-14576 +int prevBlockSize = -1; seekToBlock = reader.readBlock(previousBlockOffset, -seekToBlock.getOffset() - previousBlockOffset, cacheBlocks, +prevBlockSize, cacheBlocks, pread, isCompaction, true, BlockType.DATA, getEffectiveDataBlockEncoding()); // TODO shortcut: seek forward in this block to the last key of the // block. http://git-wip-us.apache.org/repos/asf/hbase/blob/288a2740/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java new file mode 100644 index 000..ac92f4f --- /dev/null +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java @@ -0,0 +1,187 @@ +/* + * + * 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.io.hfile; + +import static
[6/6] hbase git commit: HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks
HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks Signed-off-by: Andrew PurtellProject: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9f6d34be Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9f6d34be Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9f6d34be Branch: refs/heads/0.98 Commit: 9f6d34bef3c1e066606530a58f6e9137d2515df3 Parents: f321d7e Author: Ben Lau Authored: Wed Oct 7 20:58:48 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:14:47 2015 -0700 -- .../hadoop/hbase/io/hfile/HFileReaderV2.java| 7 +- .../hfile/TestSeekBeforeWithInlineBlocks.java | 201 +++ 2 files changed, 206 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/9f6d34be/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java index 718c285..9fb156a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java @@ -611,9 +611,12 @@ public class HFileReaderV2 extends AbstractHFileReader { // It is important that we compute and pass onDiskSize to the block // reader so that it does not have to read the header separately to -// figure out the size. +// figure out the size. Currently, we do not have a way to do this +// correctly in the general case however. +// TODO: See https://issues.apache.org/jira/browse/HBASE-14576 +int prevBlockSize = -1; seekToBlock = reader.readBlock(previousBlockOffset, -seekToBlock.getOffset() - previousBlockOffset, cacheBlocks, +prevBlockSize, cacheBlocks, pread, isCompaction, true, BlockType.DATA); // TODO shortcut: seek forward in this block to the last key of the // block. http://git-wip-us.apache.org/repos/asf/hbase/blob/9f6d34be/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java new file mode 100644 index 000..4038254 --- /dev/null +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekBeforeWithInlineBlocks.java @@ -0,0 +1,201 @@ +/* + * + * 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.io.hfile; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.Random; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.fs.HFileSystem; +import org.apache.hadoop.hbase.regionserver.BloomType; +import org.apache.hadoop.hbase.regionserver.StoreFile; +import org.apache.hadoop.hbase.testclassification.MediumTests; +import org.apache.hadoop.hbase.util.BloomFilterFactory; +import org.apache.hadoop.hbase.util.Bytes; +import org.junit.Test; +import org.junit.experimental.categories.Category; + +@Category(MediumTests.class) +public class TestSeekBeforeWithInlineBlocks { + + private static final Log LOG = LogFactory.getLog(TestSeekBeforeWithInlineBlocks.class); + + private
svn commit: r1710712 - in /hbase/hbase.apache.org/trunk: ./ devapidocs/org/apache/hadoop/hbase/ipc/ devapidocs/org/apache/hadoop/hbase/regionserver/ devapidocs/org/apache/hadoop/hbase/tmpl/master/ dev
Author: misty Date: Mon Oct 26 23:43:38 2015 New Revision: 1710712 URL: http://svn.apache.org/viewvc?rev=1710712=rev Log: Published site at efb82957da09ab06f5c887b3d62ad055bbba089f. Added 0 files. Removed 0 files. Modified 261 files. [This commit notification would consist of 101 parts, which exceeds the limit of 50 ones, so it was shortened to the summary.]
[1/6] hbase git commit: HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed
Repository: hbase Updated Branches: refs/heads/0.98 f21501496 -> f321d7ec7 refs/heads/branch-1 c3d4d0233 -> 6fbcd0a2e refs/heads/branch-1.0 54242171d -> bbb2f1b00 refs/heads/branch-1.1 9b71dac49 -> b75605817 refs/heads/branch-1.2 2f3e98b7e -> c706d42e9 refs/heads/master 928dade1d -> efb82957d HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed Conflicts: hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcHandlerException.java hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSKilledWhenInitializing.java Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f321d7ec Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f321d7ec Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f321d7ec Branch: refs/heads/0.98 Commit: f321d7ec7f2aecfb443619b1fad1dffbf703c420 Parents: f215014 Author: Andrew PurtellAuthored: Mon Oct 26 14:31:28 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 14:52:15 2015 -0700 -- .../hbase/ipc/IntegrationTestRpcClient.java | 22 .../org/apache/hadoop/hbase/ipc/CallRunner.java | 11 ++ .../org/apache/hadoop/hbase/ipc/RpcServer.java | 17 ++- .../apache/hadoop/hbase/ipc/TestDelayedRpc.java | 21 +-- .../org/apache/hadoop/hbase/ipc/TestIPC.java| 10 +++-- .../hadoop/hbase/ipc/TestProtoBufRpc.java | 6 +- .../hadoop/hbase/security/TestSecureRPC.java| 13 +++- .../security/token/TestTokenAuthentication.java | 6 +- 8 files changed, 78 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/f321d7ec/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java index 6dfef9c..4317815 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java @@ -161,9 +161,13 @@ public class IntegrationTestRpcClient { TestRpcServer rpcServer = new TestRpcServer(conf); rpcServer.start(); -rpcServers.put(rpcServer.getListenerAddress(), rpcServer); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + throw new IOException("Listener channel is closed"); +} +rpcServers.put(address, rpcServer); serverList.add(rpcServer); -LOG.info("Started server: " + rpcServer.getListenerAddress()); +LOG.info("Started server: " + address); return rpcServer; } finally { lock.writeLock().unlock(); @@ -180,7 +184,13 @@ public class IntegrationTestRpcClient { int size = rpcServers.size(); int rand = random.nextInt(size); rpcServer = serverList.remove(rand); -rpcServers.remove(rpcServer.getListenerAddress()); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + // Throw exception here. We can't remove this instance from the server map because + // we no longer have access to its map key + throw new IOException("Listener channel is closed"); +} +rpcServers.remove(address); if (rpcServer != null) { stopServer(rpcServer); @@ -298,8 +308,12 @@ public class IntegrationTestRpcClient { TestRpcServer server = cluster.getRandomServer(); try { User user = User.getCurrent(); + InetSocketAddress address = server.getListenerAddress(); + if (address == null) { +throw new IOException("Listener channel is closed"); + } ret = (EchoResponseProto) - rpcClient.callBlockingMethod(md, null, param, ret, user, server.getListenerAddress(), 6); + rpcClient.callBlockingMethod(md, null, param, ret, user, address, 6); } catch (Exception e) { LOG.warn(e); continue; // expected in case connection is closing or closed http://git-wip-us.apache.org/repos/asf/hbase/blob/f321d7ec/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
[4/6] hbase git commit: HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed
HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed Conflicts: hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/AbstractTestIPC.java hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcHandlerException.java Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b7560581 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b7560581 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b7560581 Branch: refs/heads/branch-1.1 Commit: b7560581752b477df6f824382461d5fb8fc41fd2 Parents: 9b71dac Author: Andrew PurtellAuthored: Mon Oct 26 14:31:28 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:11:10 2015 -0700 -- .../hbase/ipc/IntegrationTestRpcClient.java | 22 .../org/apache/hadoop/hbase/ipc/CallRunner.java | 11 ++ .../org/apache/hadoop/hbase/ipc/RpcServer.java | 17 ++- .../hbase/regionserver/RSRpcServices.java | 6 +- .../hadoop/hbase/ipc/AbstractTestIPC.java | 22 +++- .../apache/hadoop/hbase/ipc/TestAsyncIPC.java | 9 .../apache/hadoop/hbase/ipc/TestDelayedRpc.java | 21 +-- .../org/apache/hadoop/hbase/ipc/TestIPC.java| 5 - .../hadoop/hbase/ipc/TestProtoBufRpc.java | 6 +- .../hbase/ipc/TestRpcHandlerException.java | 7 +-- .../TestRSKilledWhenInitializing.java | 8 +-- .../hadoop/hbase/security/TestSecureRPC.java| 9 +--- .../security/token/TestTokenAuthentication.java | 6 +- 13 files changed, 114 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/b7560581/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java index a99df88..1b425b8 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java @@ -168,9 +168,13 @@ public class IntegrationTestRpcClient { TestRpcServer rpcServer = new TestRpcServer(conf); rpcServer.start(); -rpcServers.put(rpcServer.getListenerAddress(), rpcServer); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + throw new IOException("Listener channel is closed"); +} +rpcServers.put(address, rpcServer); serverList.add(rpcServer); -LOG.info("Started server: " + rpcServer.getListenerAddress()); +LOG.info("Started server: " + address); return rpcServer; } finally { lock.writeLock().unlock(); @@ -187,7 +191,13 @@ public class IntegrationTestRpcClient { int size = rpcServers.size(); int rand = random.nextInt(size); rpcServer = serverList.remove(rand); -rpcServers.remove(rpcServer.getListenerAddress()); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + // Throw exception here. We can't remove this instance from the server map because + // we no longer have access to its map key + throw new IOException("Listener channel is closed"); +} +rpcServers.remove(address); if (rpcServer != null) { stopServer(rpcServer); @@ -305,8 +315,12 @@ public class IntegrationTestRpcClient { TestRpcServer server = cluster.getRandomServer(); try { User user = User.getCurrent(); + InetSocketAddress address = server.getListenerAddress(); + if (address == null) { +throw new IOException("Listener channel is closed"); + } ret = (EchoResponseProto) - rpcClient.callBlockingMethod(md, null, param, ret, user, server.getListenerAddress()); + rpcClient.callBlockingMethod(md, null, param, ret, user, address); } catch (Exception e) { LOG.warn(e); continue; // expected in case connection is closing or closed http://git-wip-us.apache.org/repos/asf/hbase/blob/b7560581/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java index e2274e9..e329ef0 100644 ---
[2/6] hbase git commit: HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed
HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6fbcd0a2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6fbcd0a2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6fbcd0a2 Branch: refs/heads/branch-1 Commit: 6fbcd0a2e882a6e60ae0b658bc6620b282d55350 Parents: c3d4d02 Author: Andrew PurtellAuthored: Mon Oct 26 14:31:28 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:11:08 2015 -0700 -- .../hbase/ipc/IntegrationTestRpcClient.java | 22 .../org/apache/hadoop/hbase/ipc/CallRunner.java | 11 ++ .../org/apache/hadoop/hbase/ipc/RpcServer.java | 17 ++- .../hbase/regionserver/RSRpcServices.java | 6 +- .../hadoop/hbase/ipc/AbstractTestIPC.java | 22 +++- .../apache/hadoop/hbase/ipc/TestAsyncIPC.java | 9 .../apache/hadoop/hbase/ipc/TestDelayedRpc.java | 21 +-- .../org/apache/hadoop/hbase/ipc/TestIPC.java| 5 - .../hadoop/hbase/ipc/TestProtoBufRpc.java | 6 +- .../hbase/ipc/TestRpcHandlerException.java | 7 +-- .../TestRSKilledWhenInitializing.java | 8 +-- .../hadoop/hbase/security/TestSecureRPC.java| 9 +--- .../security/token/TestTokenAuthentication.java | 6 +- 13 files changed, 114 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/6fbcd0a2/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java index 09de871..c28f3e6 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java @@ -168,9 +168,13 @@ public class IntegrationTestRpcClient { TestRpcServer rpcServer = new TestRpcServer(conf); rpcServer.start(); -rpcServers.put(rpcServer.getListenerAddress(), rpcServer); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + throw new IOException("Listener channel is closed"); +} +rpcServers.put(address, rpcServer); serverList.add(rpcServer); -LOG.info("Started server: " + rpcServer.getListenerAddress()); +LOG.info("Started server: " + address); return rpcServer; } finally { lock.writeLock().unlock(); @@ -187,7 +191,13 @@ public class IntegrationTestRpcClient { int size = rpcServers.size(); int rand = random.nextInt(size); rpcServer = serverList.remove(rand); -rpcServers.remove(rpcServer.getListenerAddress()); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + // Throw exception here. We can't remove this instance from the server map because + // we no longer have access to its map key + throw new IOException("Listener channel is closed"); +} +rpcServers.remove(address); if (rpcServer != null) { stopServer(rpcServer); @@ -305,8 +315,12 @@ public class IntegrationTestRpcClient { TestRpcServer server = cluster.getRandomServer(); try { User user = User.getCurrent(); + InetSocketAddress address = server.getListenerAddress(); + if (address == null) { +throw new IOException("Listener channel is closed"); + } ret = (EchoResponseProto) - rpcClient.callBlockingMethod(md, null, param, ret, user, server.getListenerAddress()); + rpcClient.callBlockingMethod(md, null, param, ret, user, address); } catch (Exception e) { LOG.warn(e); continue; // expected in case connection is closing or closed http://git-wip-us.apache.org/repos/asf/hbase/blob/6fbcd0a2/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java index 38b7c91..ede4b4e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java @@ -16,6 +16,7 @@ package org.apache.hadoop.hbase.ipc; * See the License for the specific language
[2/2] hbase git commit: HBASE-14682 CM restore functionality for regionservers is broken
HBASE-14682 CM restore functionality for regionservers is broken Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/df79b281 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/df79b281 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/df79b281 Branch: refs/heads/branch-1.2 Commit: df79b281ba8954ac8563016ac25fe56f067a98b1 Parents: 0fd37a5 Author: Enis SoztutarAuthored: Mon Oct 26 16:47:16 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 16:48:32 2015 -0700 -- .../java/org/apache/hadoop/hbase/DistributedHBaseCluster.java| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/df79b281/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java index 07ca5ec..62f5c66 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java @@ -431,8 +431,8 @@ public class DistributedHBaseCluster extends HBaseCluster { protected boolean restoreRegionServers(ClusterStatus initial, ClusterStatus current) { Set toStart = new TreeSet(new ServerNameIgnoreStartCodeComparator()); Set toKill = new TreeSet(new ServerNameIgnoreStartCodeComparator()); -toStart.addAll(initial.getBackupMasters()); -toKill.addAll(current.getBackupMasters()); +toStart.addAll(initial.getServers()); +toKill.addAll(current.getServers()); for (ServerName server : current.getServers()) { toStart.remove(server);
[1/2] hbase git commit: HBASE-14682 CM restore functionality for regionservers is broken
Repository: hbase Updated Branches: refs/heads/branch-1 288a27405 -> 1128c855a refs/heads/branch-1.2 0fd37a5bf -> df79b281b HBASE-14682 CM restore functionality for regionservers is broken Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1128c855 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1128c855 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1128c855 Branch: refs/heads/branch-1 Commit: 1128c855ad97a9f44f61b112089330d8256e1b75 Parents: 288a274 Author: Enis SoztutarAuthored: Mon Oct 26 16:47:16 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 16:47:21 2015 -0700 -- .../java/org/apache/hadoop/hbase/DistributedHBaseCluster.java| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/1128c855/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java index 07ca5ec..62f5c66 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java @@ -431,8 +431,8 @@ public class DistributedHBaseCluster extends HBaseCluster { protected boolean restoreRegionServers(ClusterStatus initial, ClusterStatus current) { Set toStart = new TreeSet(new ServerNameIgnoreStartCodeComparator()); Set toKill = new TreeSet(new ServerNameIgnoreStartCodeComparator()); -toStart.addAll(initial.getBackupMasters()); -toKill.addAll(current.getBackupMasters()); +toStart.addAll(initial.getServers()); +toKill.addAll(current.getServers()); for (ServerName server : current.getServers()) { toStart.remove(server);
[6/6] hbase git commit: HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed
HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/efb82957 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/efb82957 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/efb82957 Branch: refs/heads/master Commit: efb82957da09ab06f5c887b3d62ad055bbba089f Parents: 928dade Author: Andrew PurtellAuthored: Mon Oct 26 14:24:42 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:11:12 2015 -0700 -- .../hbase/ipc/IntegrationTestRpcClient.java | 22 .../org/apache/hadoop/hbase/ipc/CallRunner.java | 11 ++ .../org/apache/hadoop/hbase/ipc/RpcServer.java | 17 ++- .../hbase/regionserver/RSRpcServices.java | 6 +- .../hadoop/hbase/ipc/AbstractTestIPC.java | 22 +++- .../apache/hadoop/hbase/ipc/TestAsyncIPC.java | 9 .../apache/hadoop/hbase/ipc/TestDelayedRpc.java | 21 +-- .../org/apache/hadoop/hbase/ipc/TestIPC.java| 5 - .../hadoop/hbase/ipc/TestProtoBufRpc.java | 6 +- .../hbase/ipc/TestRpcHandlerException.java | 7 +-- .../TestRSKilledWhenInitializing.java | 8 +-- .../hadoop/hbase/security/TestSecureRPC.java| 9 +--- .../security/token/TestTokenAuthentication.java | 6 +- 13 files changed, 114 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/efb82957/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java index 09de871..c28f3e6 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java @@ -168,9 +168,13 @@ public class IntegrationTestRpcClient { TestRpcServer rpcServer = new TestRpcServer(conf); rpcServer.start(); -rpcServers.put(rpcServer.getListenerAddress(), rpcServer); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + throw new IOException("Listener channel is closed"); +} +rpcServers.put(address, rpcServer); serverList.add(rpcServer); -LOG.info("Started server: " + rpcServer.getListenerAddress()); +LOG.info("Started server: " + address); return rpcServer; } finally { lock.writeLock().unlock(); @@ -187,7 +191,13 @@ public class IntegrationTestRpcClient { int size = rpcServers.size(); int rand = random.nextInt(size); rpcServer = serverList.remove(rand); -rpcServers.remove(rpcServer.getListenerAddress()); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + // Throw exception here. We can't remove this instance from the server map because + // we no longer have access to its map key + throw new IOException("Listener channel is closed"); +} +rpcServers.remove(address); if (rpcServer != null) { stopServer(rpcServer); @@ -305,8 +315,12 @@ public class IntegrationTestRpcClient { TestRpcServer server = cluster.getRandomServer(); try { User user = User.getCurrent(); + InetSocketAddress address = server.getListenerAddress(); + if (address == null) { +throw new IOException("Listener channel is closed"); + } ret = (EchoResponseProto) - rpcClient.callBlockingMethod(md, null, param, ret, user, server.getListenerAddress()); + rpcClient.callBlockingMethod(md, null, param, ret, user, address); } catch (Exception e) { LOG.warn(e); continue; // expected in case connection is closing or closed http://git-wip-us.apache.org/repos/asf/hbase/blob/efb82957/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java index 38b7c91..ede4b4e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java @@ -16,6 +16,7 @@ package org.apache.hadoop.hbase.ipc; * See the License for the specific language
[5/6] hbase git commit: HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed
HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/c706d42e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/c706d42e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/c706d42e Branch: refs/heads/branch-1.2 Commit: c706d42e9e260bfb789bd4ada3ab5c2f5bfa0ead Parents: 2f3e98b Author: Andrew PurtellAuthored: Mon Oct 26 14:31:28 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:11:11 2015 -0700 -- .../hbase/ipc/IntegrationTestRpcClient.java | 22 .../org/apache/hadoop/hbase/ipc/CallRunner.java | 11 ++ .../org/apache/hadoop/hbase/ipc/RpcServer.java | 17 ++- .../hbase/regionserver/RSRpcServices.java | 6 +- .../hadoop/hbase/ipc/AbstractTestIPC.java | 22 +++- .../apache/hadoop/hbase/ipc/TestAsyncIPC.java | 9 .../apache/hadoop/hbase/ipc/TestDelayedRpc.java | 21 +-- .../org/apache/hadoop/hbase/ipc/TestIPC.java| 5 - .../hadoop/hbase/ipc/TestProtoBufRpc.java | 6 +- .../hbase/ipc/TestRpcHandlerException.java | 7 +-- .../TestRSKilledWhenInitializing.java | 8 +-- .../hadoop/hbase/security/TestSecureRPC.java| 9 +--- .../security/token/TestTokenAuthentication.java | 6 +- 13 files changed, 114 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/c706d42e/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java index 09de871..c28f3e6 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java @@ -168,9 +168,13 @@ public class IntegrationTestRpcClient { TestRpcServer rpcServer = new TestRpcServer(conf); rpcServer.start(); -rpcServers.put(rpcServer.getListenerAddress(), rpcServer); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + throw new IOException("Listener channel is closed"); +} +rpcServers.put(address, rpcServer); serverList.add(rpcServer); -LOG.info("Started server: " + rpcServer.getListenerAddress()); +LOG.info("Started server: " + address); return rpcServer; } finally { lock.writeLock().unlock(); @@ -187,7 +191,13 @@ public class IntegrationTestRpcClient { int size = rpcServers.size(); int rand = random.nextInt(size); rpcServer = serverList.remove(rand); -rpcServers.remove(rpcServer.getListenerAddress()); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + // Throw exception here. We can't remove this instance from the server map because + // we no longer have access to its map key + throw new IOException("Listener channel is closed"); +} +rpcServers.remove(address); if (rpcServer != null) { stopServer(rpcServer); @@ -305,8 +315,12 @@ public class IntegrationTestRpcClient { TestRpcServer server = cluster.getRandomServer(); try { User user = User.getCurrent(); + InetSocketAddress address = server.getListenerAddress(); + if (address == null) { +throw new IOException("Listener channel is closed"); + } ret = (EchoResponseProto) - rpcClient.callBlockingMethod(md, null, param, ret, user, server.getListenerAddress()); + rpcClient.callBlockingMethod(md, null, param, ret, user, address); } catch (Exception e) { LOG.warn(e); continue; // expected in case connection is closing or closed http://git-wip-us.apache.org/repos/asf/hbase/blob/c706d42e/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java index 38b7c91..ede4b4e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java @@ -16,6 +16,7 @@ package org.apache.hadoop.hbase.ipc; * See the License for the specific language
[3/6] hbase git commit: HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed
HBASE-13318 RpcServer.getListenerAddress should handle when the accept channel is closed Conflicts: hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/AbstractTestIPC.java hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestAsyncIPC.java hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestRpcHandlerException.java hbase-server/src/test/java/org/apache/hadoop/hbase/security/TestSecureRPC.java Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/bbb2f1b0 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/bbb2f1b0 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/bbb2f1b0 Branch: refs/heads/branch-1.0 Commit: bbb2f1b0035a9e659c9b7bd7b10515a66881c2ca Parents: 5424217 Author: Andrew PurtellAuthored: Mon Oct 26 14:31:28 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 15:11:09 2015 -0700 -- .../hbase/ipc/IntegrationTestRpcClient.java | 22 .../org/apache/hadoop/hbase/ipc/CallRunner.java | 11 ++ .../org/apache/hadoop/hbase/ipc/RpcServer.java | 17 ++- .../hbase/regionserver/RSRpcServices.java | 6 +- .../apache/hadoop/hbase/ipc/TestDelayedRpc.java | 21 +-- .../org/apache/hadoop/hbase/ipc/TestIPC.java| 5 - .../hadoop/hbase/ipc/TestProtoBufRpc.java | 6 +- .../hbase/ipc/TestRpcHandlerException.java | 6 +- .../TestRSKilledWhenInitializing.java | 8 +-- .../hadoop/hbase/security/TestSecureRPC.java| 11 ++ .../security/token/TestTokenAuthentication.java | 6 +- 11 files changed, 89 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/bbb2f1b0/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java index 70538b9..c790b4d 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.java @@ -162,9 +162,13 @@ public class IntegrationTestRpcClient { TestRpcServer rpcServer = new TestRpcServer(conf); rpcServer.start(); -rpcServers.put(rpcServer.getListenerAddress(), rpcServer); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + throw new IOException("Listener channel is closed"); +} +rpcServers.put(address, rpcServer); serverList.add(rpcServer); -LOG.info("Started server: " + rpcServer.getListenerAddress()); +LOG.info("Started server: " + address); return rpcServer; } finally { lock.writeLock().unlock(); @@ -181,7 +185,13 @@ public class IntegrationTestRpcClient { int size = rpcServers.size(); int rand = random.nextInt(size); rpcServer = serverList.remove(rand); -rpcServers.remove(rpcServer.getListenerAddress()); +InetSocketAddress address = rpcServer.getListenerAddress(); +if (address == null) { + // Throw exception here. We can't remove this instance from the server map because + // we no longer have access to its map key + throw new IOException("Listener channel is closed"); +} +rpcServers.remove(address); if (rpcServer != null) { stopServer(rpcServer); @@ -299,8 +309,12 @@ public class IntegrationTestRpcClient { TestRpcServer server = cluster.getRandomServer(); try { User user = User.getCurrent(); + InetSocketAddress address = server.getListenerAddress(); + if (address == null) { +throw new IOException("Listener channel is closed"); + } ret = (EchoResponseProto) - rpcClient.callBlockingMethod(md, null, param, ret, user, server.getListenerAddress()); + rpcClient.callBlockingMethod(md, null, param, ret, user, address); } catch (Exception e) { LOG.warn(e); continue; // expected in case connection is closing or closed http://git-wip-us.apache.org/repos/asf/hbase/blob/bbb2f1b0/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
[1/2] hbase git commit: HBASE-14682 CM restore functionality for regionservers is broken
Repository: hbase Updated Branches: refs/heads/branch-1.1 0db04a170 -> 42144bdcf HBASE-14682 CM restore functionality for regionservers is broken Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/42144bdc Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/42144bdc Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/42144bdc Branch: refs/heads/branch-1.1 Commit: 42144bdcf780d1350377d01db8485ebff8604dca Parents: e80b447 Author: Enis SoztutarAuthored: Mon Oct 26 16:47:16 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 17:37:09 2015 -0700 -- .../java/org/apache/hadoop/hbase/DistributedHBaseCluster.java| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/42144bdc/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java -- diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java index 07ca5ec..62f5c66 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/DistributedHBaseCluster.java @@ -431,8 +431,8 @@ public class DistributedHBaseCluster extends HBaseCluster { protected boolean restoreRegionServers(ClusterStatus initial, ClusterStatus current) { Set toStart = new TreeSet(new ServerNameIgnoreStartCodeComparator()); Set toKill = new TreeSet(new ServerNameIgnoreStartCodeComparator()); -toStart.addAll(initial.getBackupMasters()); -toKill.addAll(current.getBackupMasters()); +toStart.addAll(initial.getServers()); +toKill.addAll(current.getServers()); for (ServerName server : current.getServers()) { toStart.remove(server);
[2/2] hbase git commit: HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks - ADDENDUM
HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks - ADDENDUM Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e80b4473 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e80b4473 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e80b4473 Branch: refs/heads/branch-1.1 Commit: e80b447354f211fc21c2bbc42a0d9bc000835e71 Parents: 0db04a1 Author: Enis SoztutarAuthored: Mon Oct 26 17:36:53 2015 -0700 Committer: Enis Soztutar Committed: Mon Oct 26 17:37:09 2015 -0700 -- hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/e80b4473/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java index a89d573..5192074 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java @@ -916,4 +916,8 @@ public final class CellUtil { public static boolean matchingType(Cell a, Cell b) { return a.getTypeByte() == b.getTypeByte(); } + + public static boolean matchingTimestamp(Cell a, Cell b) { +return CellComparator.compareTimestamps(a, b) == 0; + } }
hbase git commit: Revert "Amend HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks"
Repository: hbase Updated Branches: refs/heads/branch-1.1 9d6e96ee1 -> d5a1b2762 Revert "Amend HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks" This reverts commit 9d6e96ee11265cf2dc950619042ef22cf4d9fa00. Raced with commit by Enis addressing same issue Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d5a1b276 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d5a1b276 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d5a1b276 Branch: refs/heads/branch-1.1 Commit: d5a1b276270a1d41f21badd5b85d9502f8f9f415 Parents: 9d6e96e Author: Andrew PurtellAuthored: Mon Oct 26 18:43:43 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 18:43:43 2015 -0700 -- hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java | 4 1 file changed, 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/d5a1b276/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java index acd96ad..5192074 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java @@ -450,10 +450,6 @@ public final class CellUtil { buf.length); } - public static boolean matchingTimestamp(Cell a, Cell b) { -return CellComparator.compareTimestamps(a, b) == 0; - } - /** * @return True if a delete type, a {@link KeyValue.Type#Delete} or a * {KeyValue.Type#DeleteFamily} or a
hbase git commit: Amend HBASE-14283 Reverse scan doesn’t work with HFile inline index/bloom blocks
Repository: hbase Updated Branches: refs/heads/branch-1.1 42144bdcf -> 9d6e96ee1 Amend HBASE-14283 Reverse scan doesnât work with HFile inline index/bloom blocks Add CellUtil#matchingTimestamp Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9d6e96ee Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9d6e96ee Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9d6e96ee Branch: refs/heads/branch-1.1 Commit: 9d6e96ee11265cf2dc950619042ef22cf4d9fa00 Parents: 42144bd Author: Andrew PurtellAuthored: Mon Oct 26 18:39:24 2015 -0700 Committer: Andrew Purtell Committed: Mon Oct 26 18:40:42 2015 -0700 -- hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/9d6e96ee/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java index 5192074..acd96ad 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java @@ -450,6 +450,10 @@ public final class CellUtil { buf.length); } + public static boolean matchingTimestamp(Cell a, Cell b) { +return CellComparator.compareTimestamps(a, b) == 0; + } + /** * @return True if a delete type, a {@link KeyValue.Type#Delete} or a * {KeyValue.Type#DeleteFamily} or a
hbase git commit: HBASE-14678 Experiment: Temporarily disable balancer and a few others to see if root of crashed/timedout JVMs; ADDENDUM
Repository: hbase Updated Branches: refs/heads/master 2b8600252 -> 496d20cfc HBASE-14678 Experiment: Temporarily disable balancer and a few others to see if root of crashed/timedout JVMs; ADDENDUM Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/496d20cf Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/496d20cf Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/496d20cf Branch: refs/heads/master Commit: 496d20cfca5a30bc72a29e4ef893424964f9fa91 Parents: 2b86002 Author: stackAuthored: Mon Oct 26 20:20:47 2015 -0700 Committer: stack Committed: Mon Oct 26 20:21:01 2015 -0700 -- .../TestMobFlushSnapshotFromClient.java | 72 1 file changed, 72 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/496d20cf/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobFlushSnapshotFromClient.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobFlushSnapshotFromClient.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobFlushSnapshotFromClient.java deleted file mode 100644 index 69f2cb3..000 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestMobFlushSnapshotFromClient.java +++ /dev/null @@ -1,72 +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.snapshot; - -import java.io.IOException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HBaseTestingUtility; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.mob.MobConstants; -import org.apache.hadoop.hbase.testclassification.ClientTests; -import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.experimental.categories.Category; - -/** - * Test creating/using/deleting snapshots from the client - * - * This is an end-to-end test for the snapshot utility - * - * TODO This is essentially a clone of TestSnapshotFromClient. This is worth refactoring this - * because there will be a few more flavors of snapshots that need to run these tests. - */ -@Category({ClientTests.class, LargeTests.class}) -public class TestMobFlushSnapshotFromClient extends TestFlushSnapshotFromClient { - private static final Log LOG = LogFactory.getLog(TestFlushSnapshotFromClient.class); - - @BeforeClass - public static void setupCluster() throws Exception { -setupConf(UTIL.getConfiguration()); -UTIL.startMiniCluster(3); - } - - protected static void setupConf(Configuration conf) { -TestFlushSnapshotFromClient.setupConf(conf); -UTIL.getConfiguration().setInt(MobConstants.MOB_FILE_CACHE_SIZE_KEY, 0); - } - - @Override - protected void createTable() throws Exception { -MobSnapshotTestingUtils.createMobTable(UTIL, TABLE_NAME, 1, TEST_FAM); - } - - @Override - protected void verifyRowCount(final HBaseTestingUtility util, final TableName tableName, - long expectedRows) throws IOException { -MobSnapshotTestingUtils.verifyMobRowCount(util, tableName, expectedRows); - } - - @Override - protected int countRows(final Table table, final byte[]... families) throws IOException { -return MobSnapshotTestingUtils.countMobRows(table, families); - } -}
hbase git commit: Revert "HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY" I did not mean to apply this to branch-1 until a branch-1 patch build had passed. Reverting.
Repository: hbase Updated Branches: refs/heads/branch-1 50b546528 -> 6382e975d Revert "HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY" I did not mean to apply this to branch-1 until a branch-1 patch build had passed. Reverting. This reverts commit ff0bc8037428a27ef7b60d8b5159c3fca23dca72. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6382e975 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6382e975 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6382e975 Branch: refs/heads/branch-1 Commit: 6382e975dc88a6fd1bfe1c87a1383dd46769e97f Parents: 50b5465 Author: stackAuthored: Mon Oct 26 22:45:20 2015 -0700 Committer: stack Committed: Mon Oct 26 22:45:20 2015 -0700 -- .../org/apache/hadoop/hbase/mapred/TestTableInputFormat.java | 8 .../apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java | 2 ++ .../hbase/mapreduce/MultiTableInputFormatTestBase.java | 3 +++ .../hbase/mapreduce/TableSnapshotInputFormatTestBase.java| 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestCellCounter.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestCopyTable.java | 2 ++ .../apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java | 4 .../hadoop/hbase/mapreduce/TestHFileOutputFormat2.java | 5 + .../hadoop/hbase/mapreduce/TestHRegionPartitioner.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestHashTable.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestImportExport.java | 2 ++ .../mapreduce/TestImportTSVWithOperationAttributes.java | 1 + .../apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.java | 2 ++ .../hbase/mapreduce/TestImportTSVWithVisibilityLabels.java | 1 + .../org/apache/hadoop/hbase/mapreduce/TestImportTsv.java | 2 ++ .../hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestRowCounter.java| 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestSyncTable.java | 2 ++ .../apache/hadoop/hbase/mapreduce/TestTableInputFormat.java | 2 ++ .../hadoop/hbase/mapreduce/TestTableInputFormatScanBase.java | 3 +++ .../hadoop/hbase/mapreduce/TestTableMapReduceBase.java | 2 ++ .../apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestWALPlayer.java | 2 ++ 23 files changed, 53 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/6382e975/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java index f4ca3a3..ff19879 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java @@ -34,7 +34,6 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.client.Connection; @@ -81,7 +80,7 @@ public class TestTableInputFormat { private static final Log LOG = LogFactory.getLog(TestTableInputFormat.class); private final static HBaseTestingUtility UTIL = new HBaseTestingUtility(); - + private static MiniMRCluster mrCluster; static final byte[] FAMILY = Bytes.toBytes("family"); private static final byte[][] columns = new byte[][] { FAMILY }; @@ -89,10 +88,12 @@ public class TestTableInputFormat { @BeforeClass public static void beforeClass() throws Exception { UTIL.startMiniCluster(); +mrCluster = UTIL.startMiniMapReduceCluster(); } @AfterClass public static void afterClass() throws Exception { +UTIL.shutdownMiniMapReduceCluster(); UTIL.shutdownMiniCluster(); } @@ -343,8 +344,7 @@ public class TestTableInputFormat { } void testInputFormat(Class clazz) throws IOException { -Configuration conf = UTIL.getConfiguration(); -final JobConf job = new JobConf(conf); +final JobConf job = MapreduceTestingShim.getJobConf(mrCluster); job.setInputFormat(clazz); job.setOutputFormat(NullOutputFormat.class); job.setMapperClass(ExampleVerifier.class); http://git-wip-us.apache.org/repos/asf/hbase/blob/6382e975/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java -- diff --git
hbase git commit: HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey
Repository: hbase Updated Branches: refs/heads/master 496d20cfc -> ac746e090 HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ac746e09 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ac746e09 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ac746e09 Branch: refs/heads/master Commit: ac746e09056192e4957766f06b4f94d7c5c34d18 Parents: 496d20c Author: stackAuthored: Mon Oct 26 22:35:22 2015 -0700 Committer: stack Committed: Mon Oct 26 22:35:22 2015 -0700 -- .../apache/hadoop/hbase/procedure/TestZKProcedureControllers.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/ac746e09/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java index a3e91ab..f639271 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java @@ -362,7 +362,8 @@ public class TestZKProcedureControllers { String operationName, byte[] data) { //verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.eq(operationName), // (byte[]) Mockito.argThat(new ArrayEquals(data))); -verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); +Mockito.verify(member, + Mockito.atLeast(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); }
hbase git commit: HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey
Repository: hbase Updated Branches: refs/heads/branch-1.2 df79b281b -> 1978876b5 HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/1978876b Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/1978876b Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/1978876b Branch: refs/heads/branch-1.2 Commit: 1978876b57f9cd048e0c3e532c2fc176360c5327 Parents: df79b28 Author: stackAuthored: Mon Oct 26 22:35:22 2015 -0700 Committer: stack Committed: Mon Oct 26 22:36:07 2015 -0700 -- .../apache/hadoop/hbase/procedure/TestZKProcedureControllers.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/1978876b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java index 8dfc77c..49d0ca1 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java @@ -361,7 +361,8 @@ public class TestZKProcedureControllers { String operationName, byte[] data) { //verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.eq(operationName), // (byte[]) Mockito.argThat(new ArrayEquals(data))); -verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); +Mockito.verify(member, + Mockito.atLeast(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); }
hbase git commit: HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey
Repository: hbase Updated Branches: refs/heads/maser [created] ac746e090 HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/ac746e09 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/ac746e09 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/ac746e09 Branch: refs/heads/maser Commit: ac746e09056192e4957766f06b4f94d7c5c34d18 Parents: 496d20c Author: stackAuthored: Mon Oct 26 22:35:22 2015 -0700 Committer: stack Committed: Mon Oct 26 22:35:22 2015 -0700 -- .../apache/hadoop/hbase/procedure/TestZKProcedureControllers.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/ac746e09/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java index a3e91ab..f639271 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java @@ -362,7 +362,8 @@ public class TestZKProcedureControllers { String operationName, byte[] data) { //verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.eq(operationName), // (byte[]) Mockito.argThat(new ArrayEquals(data))); -verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); +Mockito.verify(member, + Mockito.atLeast(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); }
hbase git commit: HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey
Repository: hbase Updated Branches: refs/heads/branch-1 1128c855a -> 50b546528 HBASE-14702 TestZKProcedureControllers.testZKCoordinatorControllerWithSingleMemberCohort is a flakey Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/50b54652 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/50b54652 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/50b54652 Branch: refs/heads/branch-1 Commit: 50b546528454e22075255e147828a31d20b560fe Parents: 1128c85 Author: stackAuthored: Mon Oct 26 22:35:22 2015 -0700 Committer: stack Committed: Mon Oct 26 22:35:50 2015 -0700 -- .../apache/hadoop/hbase/procedure/TestZKProcedureControllers.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/50b54652/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java index 8dfc77c..49d0ca1 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/procedure/TestZKProcedureControllers.java @@ -361,7 +361,8 @@ public class TestZKProcedureControllers { String operationName, byte[] data) { //verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.eq(operationName), // (byte[]) Mockito.argThat(new ArrayEquals(data))); -verify(member, Mockito.times(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); +Mockito.verify(member, + Mockito.atLeast(cohortSize)).submitSubprocedure(Mockito.any(Subprocedure.class)); }
hbase git commit: HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY
Repository: hbase Updated Branches: refs/heads/master 8a2cef331 -> 899857609 HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/89985760 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/89985760 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/89985760 Branch: refs/heads/master Commit: 899857609c7c2c2b0fd3fa72d3bd585cb2703e0a Parents: 8a2cef3 Author: stackAuthored: Mon Oct 26 08:40:19 2015 -0700 Committer: stack Committed: Mon Oct 26 08:40:32 2015 -0700 -- .../org/apache/hadoop/hbase/mapred/TestTableInputFormat.java | 8 .../apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java | 2 -- .../hbase/mapreduce/MultiTableInputFormatTestBase.java | 3 --- .../hbase/mapreduce/TableSnapshotInputFormatTestBase.java| 2 -- .../org/apache/hadoop/hbase/mapreduce/TestCellCounter.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestCopyTable.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java | 6 -- .../hadoop/hbase/mapreduce/TestHFileOutputFormat2.java | 6 -- .../hadoop/hbase/mapreduce/TestHRegionPartitioner.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestHashTable.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestImportExport.java | 2 -- .../mapreduce/TestImportTSVWithOperationAttributes.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.java | 2 -- .../hbase/mapreduce/TestImportTSVWithVisibilityLabels.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestImportTsv.java | 2 -- .../hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestRowCounter.java| 2 -- .../org/apache/hadoop/hbase/mapreduce/TestSyncTable.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestTableInputFormat.java | 2 -- .../hadoop/hbase/mapreduce/TestTableInputFormatScanBase.java | 3 --- .../hadoop/hbase/mapreduce/TestTableMapReduceBase.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestWALPlayer.java | 2 -- 23 files changed, 4 insertions(+), 58 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/89985760/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java index 8498341..1975c59 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java @@ -34,6 +34,7 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.client.Connection; @@ -80,7 +81,7 @@ public class TestTableInputFormat { private static final Log LOG = LogFactory.getLog(TestTableInputFormat.class); private final static HBaseTestingUtility UTIL = new HBaseTestingUtility(); - private static MiniMRCluster mrCluster; + static final byte[] FAMILY = Bytes.toBytes("family"); private static final byte[][] columns = new byte[][] { FAMILY }; @@ -88,12 +89,10 @@ public class TestTableInputFormat { @BeforeClass public static void beforeClass() throws Exception { UTIL.startMiniCluster(); -mrCluster = UTIL.startMiniMapReduceCluster(); } @AfterClass public static void afterClass() throws Exception { -UTIL.shutdownMiniMapReduceCluster(); UTIL.shutdownMiniCluster(); } @@ -344,7 +343,8 @@ public class TestTableInputFormat { } void testInputFormat(Class clazz) throws IOException { -final JobConf job = MapreduceTestingShim.getJobConf(mrCluster); +Configuration conf = UTIL.getConfiguration(); +final JobConf job = new JobConf(conf); job.setInputFormat(clazz); job.setOutputFormat(NullOutputFormat.class); job.setMapperClass(ExampleVerifier.class); http://git-wip-us.apache.org/repos/asf/hbase/blob/89985760/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java index 628bb96..daa6e71 100644 ---
[01/14] hbase git commit: HBASE-14343 Fix debug message in SimpleRegionNormalizer for small regions (Lars Francke)
Repository: hbase Updated Branches: refs/heads/hbase-12439 8b7796b0b -> 899857609 HBASE-14343 Fix debug message in SimpleRegionNormalizer for small regions (Lars Francke) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/6875e6d4 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/6875e6d4 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/6875e6d4 Branch: refs/heads/hbase-12439 Commit: 6875e6d4d4a2b57f49febbf7a10776bdf84b7d6b Parents: 8b7796b Author: Lars GeorgeAuthored: Sat Oct 24 11:19:32 2015 +0200 Committer: Lars George Committed: Sat Oct 24 11:19:32 2015 +0200 -- .../normalizer/SimpleRegionNormalizer.java | 22 +++- 1 file changed, 12 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/6875e6d4/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java index 8971664..d843bd1 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java @@ -48,7 +48,9 @@ import java.util.List; */ @InterfaceAudience.Private public class SimpleRegionNormalizer implements RegionNormalizer { + private static final Log LOG = LogFactory.getLog(SimpleRegionNormalizer.class); + private static final int MIN_REGION_COUNT = 3; private MasterServices masterServices; /** @@ -68,8 +70,7 @@ public class SimpleRegionNormalizer implements RegionNormalizer { * @return normalization plan to execute */ @Override - public NormalizationPlan computePlanForTable(TableName table) - throws HBaseIOException { + public NormalizationPlan computePlanForTable(TableName table) throws HBaseIOException { if (table == null || table.isSystemTable()) { LOG.debug("Normalization of table " + table + " isn't allowed"); return EmptyNormalizationPlan.getInstance(); @@ -79,9 +80,10 @@ public class SimpleRegionNormalizer implements RegionNormalizer { getRegionsOfTable(table); //TODO: should we make min number of regions a config param? -if (tableRegions == null || tableRegions.size() < 3) { - LOG.debug("Table " + table + " has " + tableRegions.size() + " regions, required min number" -+ " of regions for normalizer to run is 3, not running normalizer"); +if (tableRegions == null || tableRegions.size() < MIN_REGION_COUNT) { + int nrRegions = tableRegions == null ? 0 : tableRegions.size(); + LOG.debug("Table " + table + " has " + nrRegions + " regions, required min number" ++ " of regions for normalizer to run is " + MIN_REGION_COUNT + ", not running normalizer"); return EmptyNormalizationPlan.getInstance(); } @@ -93,7 +95,6 @@ public class SimpleRegionNormalizer implements RegionNormalizer { // A is a smallest region, B is it's smallest neighbor Pair smallestRegion = new Pair<>(); -Pair smallestNeighborOfSmallestRegion; int smallestRegionIndex = 0; for (int i = 0; i < tableRegions.size(); i++) { @@ -115,16 +116,17 @@ public class SimpleRegionNormalizer implements RegionNormalizer { // now get smallest neighbor of smallest region long leftNeighborSize = -1; -long rightNeighborSize = -1; if (smallestRegionIndex > 0) { leftNeighborSize = getRegionSize(tableRegions.get(smallestRegionIndex - 1)); } +long rightNeighborSize = -1; if (smallestRegionIndex < tableRegions.size() - 1) { rightNeighborSize = getRegionSize(tableRegions.get(smallestRegionIndex + 1)); } +Pair smallestNeighborOfSmallestRegion; if (leftNeighborSize == -1) { smallestNeighborOfSmallestRegion = new Pair<>(tableRegions.get(smallestRegionIndex + 1), rightNeighborSize); @@ -154,11 +156,11 @@ public class SimpleRegionNormalizer implements RegionNormalizer { + largestRegion.getSecond() + ", more than 2 times than avg size, splitting"); return new SplitNormalizationPlan(largestRegion.getFirst(), null); } else { - if ((smallestRegion.getSecond() + smallestNeighborOfSmallestRegion.getSecond() - < avgRegionSize)) { + if (smallestRegion.getSecond() + smallestNeighborOfSmallestRegion.getSecond() + < avgRegionSize) { LOG.debug("Table " + table + ", smallest region
[07/14] hbase git commit: HBASE-14676 HBaseTestCase clean out: Purge Incommon Interface and Table and Region implementations: ADDENDUM -- forgot to add file
HBASE-14676 HBaseTestCase clean out: Purge Incommon Interface and Table and Region implementations: ADDENDUM -- forgot to add file Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/80a6fd01 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/80a6fd01 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/80a6fd01 Branch: refs/heads/hbase-12439 Commit: 80a6fd01a170fd2e4798eaa44f6cd3e0c7b63d4c Parents: 9925e9a Author: stackAuthored: Sat Oct 24 11:09:08 2015 -0700 Committer: stack Committed: Sat Oct 24 11:09:18 2015 -0700 -- .../hbase/regionserver/RegionAsTable.java | 324 +++ 1 file changed, 324 insertions(+) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/80a6fd01/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java new file mode 100644 index 000..f65bc5d --- /dev/null +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/RegionAsTable.java @@ -0,0 +1,324 @@ +/** + * 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.regionserver; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.Cell; +import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.HTableDescriptor; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.client.Append; +import org.apache.hadoop.hbase.client.Delete; +import org.apache.hadoop.hbase.client.Durability; +import org.apache.hadoop.hbase.client.Get; +import org.apache.hadoop.hbase.client.Increment; +import org.apache.hadoop.hbase.client.Put; +import org.apache.hadoop.hbase.client.Result; +import org.apache.hadoop.hbase.client.ResultScanner; +import org.apache.hadoop.hbase.client.Row; +import org.apache.hadoop.hbase.client.RowMutations; +import org.apache.hadoop.hbase.client.Scan; +import org.apache.hadoop.hbase.client.Table; +import org.apache.hadoop.hbase.client.coprocessor.Batch.Call; +import org.apache.hadoop.hbase.client.coprocessor.Batch.Callback; +import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; +import org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel; + +import com.google.protobuf.Descriptors.MethodDescriptor; +import com.google.protobuf.Message; +import com.google.protobuf.Service; +import com.google.protobuf.ServiceException; + +/** + * An implementation of {@link Table} that sits directly on a Region; it decorates the passed in + * Region instance with the Table API. Some API is not implemented yet (throws + * {@link UnsupportedOperationException}) mostly because no need as yet or it necessitates copying + * a load of code local from RegionServer. + * + * Use as an instance of a {@link Table} in-the-small -- no networking or servers + * necessary -- or to write a test that can run directly against the datastore and then + * over the network. + */ +public class RegionAsTable implements Table { + private final Region region; + + /** + * @param region Region to decorate with Table API. + */ + public RegionAsTable(final Region region) { +this.region = region; + } + + @Override + public TableName getName() { +return this.region.getTableDesc().getTableName(); + } + + @Override + public Configuration getConfiguration() { +throw new UnsupportedOperationException(); + } + + @Override + public HTableDescriptor getTableDescriptor() throws IOException { +return this.region.getTableDesc(); + } + + @Override + public boolean exists(Get get) throws IOException { +if (!get.isCheckExistenceOnly()) throw new IllegalArgumentException(); +return get(get) != null; + } + +
[12/14] hbase git commit: HBASE-14648 Reenable TestWALProcedureStoreOnHDFS#testWalRollOnLowReplication (Heng Chen)
HBASE-14648 Reenable TestWALProcedureStoreOnHDFS#testWalRollOnLowReplication (Heng Chen) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/46c646d6 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/46c646d6 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/46c646d6 Branch: refs/heads/hbase-12439 Commit: 46c646d6154d6a5291c308e065802248f4e4e7b9 Parents: 9597847 Author: stackAuthored: Sat Oct 24 20:55:37 2015 -0700 Committer: stack Committed: Sat Oct 24 20:55:47 2015 -0700 -- .../procedure/TestWALProcedureStoreOnHDFS.java | 167 +-- 1 file changed, 79 insertions(+), 88 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/46c646d6/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java index b360966..2e80b69 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestWALProcedureStoreOnHDFS.java @@ -66,7 +66,7 @@ public class TestWALProcedureStoreOnHDFS { } }; - private static void setupConf(Configuration conf) { + private static void initConfig(Configuration conf) { conf.setInt("dfs.replication", 3); conf.setInt("dfs.namenode.replication.min", 3); @@ -76,20 +76,16 @@ public class TestWALProcedureStoreOnHDFS { conf.setInt("hbase.procedure.store.wal.sync.failure.roll.max", 10); } - @Before public void setup() throws Exception { -setupConf(UTIL.getConfiguration()); MiniDFSCluster dfs = UTIL.startMiniDFSCluster(3); Path logDir = new Path(new Path(dfs.getFileSystem().getUri()), "/test-logs"); -store = ProcedureTestingUtility.createWalStore( - UTIL.getConfiguration(), dfs.getFileSystem(), logDir); +store = ProcedureTestingUtility.createWalStore(UTIL.getConfiguration(), dfs.getFileSystem(), logDir); store.registerListener(stopProcedureListener); store.start(8); store.recoverLease(); } - @After public void tearDown() throws Exception { store.stop(false); UTIL.getDFSCluster().getFileSystem().delete(store.getLogDir(), true); @@ -103,107 +99,102 @@ public class TestWALProcedureStoreOnHDFS { @Test(timeout=6, expected=RuntimeException.class) public void testWalAbortOnLowReplication() throws Exception { -assertEquals(3, UTIL.getDFSCluster().getDataNodes().size()); - -LOG.info("Stop DataNode"); -UTIL.getDFSCluster().stopDataNode(0); -assertEquals(2, UTIL.getDFSCluster().getDataNodes().size()); +initConfig(UTIL.getConfiguration()); +setup(); +try { + assertEquals(3, UTIL.getDFSCluster().getDataNodes().size()); -store.insert(new TestProcedure(1, -1), null); -for (long i = 2; store.isRunning(); ++i) { + LOG.info("Stop DataNode"); + UTIL.getDFSCluster().stopDataNode(0); assertEquals(2, UTIL.getDFSCluster().getDataNodes().size()); - store.insert(new TestProcedure(i, -1), null); - Thread.sleep(100); + + store.insert(new TestProcedure(1, -1), null); + for (long i = 2; store.isRunning(); ++i) { +assertEquals(2, UTIL.getDFSCluster().getDataNodes().size()); +store.insert(new TestProcedure(i, -1), null); +Thread.sleep(100); + } + assertFalse(store.isRunning()); + fail("The store.insert() should throw an exeption"); +} finally { + tearDown(); } -assertFalse(store.isRunning()); -fail("The store.insert() should throw an exeption"); } @Test(timeout=6) public void testWalAbortOnLowReplicationWithQueuedWriters() throws Exception { -assertEquals(3, UTIL.getDFSCluster().getDataNodes().size()); -store.registerListener(new ProcedureStore.ProcedureStoreListener() { - @Override - public void postSync() { -Threads.sleepWithoutInterrupt(2000); - } +initConfig(UTIL.getConfiguration()); +setup(); +try { + assertEquals(3, UTIL.getDFSCluster().getDataNodes().size()); + store.registerListener(new ProcedureStore.ProcedureStoreListener() { +@Override +public void postSync() { + Threads.sleepWithoutInterrupt(2000); +} - @Override - public void abortProcess() {} -}); - -final AtomicInteger reCount = new AtomicInteger(0); -Thread[] thread = new Thread[store.getNumThreads() * 2 + 1]; -for (int i = 0; i < thread.length; ++i) { -
[05/14] hbase git commit: HBASE-14676 HBaseTestCase clean out: Purge Incommon Interface and Table and Region implementations
HBASE-14676 HBaseTestCase clean out: Purge Incommon Interface and Table and Region implementations Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/604ff56e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/604ff56e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/604ff56e Branch: refs/heads/hbase-12439 Commit: 604ff56ef3c74770a1f0480eebe2d9a45649e1b9 Parents: caae3b2 Author: stackAuthored: Sat Oct 24 10:20:40 2015 -0700 Committer: stack Committed: Sat Oct 24 10:20:52 2015 -0700 -- .../org/apache/hadoop/hbase/HBaseTestCase.java | 244 +-- .../apache/hadoop/hbase/TestMultiVersions.java | 15 +- .../apache/hadoop/hbase/TimestampTestBase.java | 122 +- .../hbase/regionserver/TestCompaction.java | 15 +- .../hbase/regionserver/TestMajorCompaction.java | 12 +- .../hbase/regionserver/TestMinorCompaction.java | 4 +- .../regionserver/TestMobStoreCompaction.java| 16 +- .../hadoop/hbase/regionserver/TestScanner.java | 154 ++-- 8 files changed, 178 insertions(+), 404 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/604ff56e/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java index 597573a..1fb096d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java @@ -19,35 +19,29 @@ package org.apache.hadoop.hbase; import java.io.IOException; -import java.util.Iterator; -import java.util.List; import java.util.NavigableMap; -import junit.framework.AssertionFailedError; -import junit.framework.TestCase; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.Get; -import org.apache.hadoop.hbase.client.HTable; 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.regionserver.HRegion; -import org.apache.hadoop.hbase.regionserver.InternalScanner; import org.apache.hadoop.hbase.regionserver.Region; +import org.apache.hadoop.hbase.regionserver.RegionAsTable; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSTableDescriptors; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hdfs.MiniDFSCluster; +import junit.framework.AssertionFailedError; +import junit.framework.TestCase; + /** * Abstract HBase test class. Initializes a few things that can come in handly * like an HBaseConfiguration and filesystem. @@ -239,7 +233,7 @@ public abstract class HBaseTestCase extends TestCase { if (startKeyBytes == null || startKeyBytes.length == 0) { startKeyBytes = START_KEY_BYTES; } -return addContent(new HRegionIncommon(r), Bytes.toString(columnFamily), Bytes.toString(column), +return addContent(new RegionAsTable(r), Bytes.toString(columnFamily), Bytes.toString(column), startKeyBytes, endKey, -1); } @@ -251,18 +245,15 @@ public abstract class HBaseTestCase extends TestCase { * Add content to region r on the passed column * column. * Adds data of the from 'aaa', 'aab', etc where key and value are the same. - * @param updater An instance of {@link Incommon}. - * @param columnFamily - * @param writeToWAL * @throws IOException * @return count of what we added. */ - public static long addContent(final Incommon updater, + public static long addContent(final Table updater, final String columnFamily) throws IOException { return addContent(updater, columnFamily, START_KEY_BYTES, null); } - public static long addContent(final Incommon updater, final String family, + public static long addContent(final Table updater, final String family, final String column) throws IOException { return addContent(updater, family, column, START_KEY_BYTES, null); } @@ -271,21 +262,16 @@ public abstract class HBaseTestCase extends TestCase { * Add content to region r on the passed column * column. * Adds data of the from 'aaa', 'aab', etc where key and value are the same. - * @param updater An instance of {@link
[13/14] hbase git commit: HBASE-13867: Add endpoint coprocessor guide to HBase book.
HBASE-13867: Add endpoint coprocessor guide to HBase book. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8a2cef33 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8a2cef33 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8a2cef33 Branch: refs/heads/hbase-12439 Commit: 8a2cef3315516501627c7a30bdcf989b12a32303 Parents: 46c646d Author: g-bhardwajAuthored: Sun Oct 25 17:29:35 2015 +0530 Committer: Misty Stanley-Jones Committed: Mon Oct 26 09:06:06 2015 +1000 -- src/main/asciidoc/_chapters/cp.adoc | 901 ++- 1 file changed, 755 insertions(+), 146 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/8a2cef33/src/main/asciidoc/_chapters/cp.adoc -- diff --git a/src/main/asciidoc/_chapters/cp.adoc b/src/main/asciidoc/_chapters/cp.adoc index a99e903..06930d1 100644 --- a/src/main/asciidoc/_chapters/cp.adoc +++ b/src/main/asciidoc/_chapters/cp.adoc @@ -27,203 +27,812 @@ :icons: font :experimental: -HBase coprocessors are modeled after the coprocessors which are part of Google's BigTable (http://www.scribd.com/doc/21631448/Dean-Keynote-Ladis2009, pages 66-67.). Coprocessors function in a similar way to Linux kernel modules. -They provide a way to run server-level code against locally-stored data. -The functionality they provide is very powerful, but also carries great risk and can have adverse effects on the system, at the level of the operating system. -The information in this chapter is primarily sourced and heavily reused from Mingjie Lai's blog post at https://blogs.apache.org/hbase/entry/coprocessor_introduction. +HBase Coprocessors are modeled after the Coprocessors which are part of Google's BigTable +(http://research.google.com/people/jeff/SOCC2010-keynote-slides.pdf pages 41-42.). + +Coprocessor is a framework that provides an easy way to run your custom code directly on +Region Server. +The information in this chapter is primarily sourced and heavily reused from: + +. Mingjie Lai's blog post +link:https://blogs.apache.org/hbase/entry/coprocessor_introduction[Coprocessor Introduction]. +. Gaurav Bhardwaj's blog post +link:http://www.3pillarglobal.com/insights/hbase-coprocessors[The How To Of HBase Coprocessors]. + -Coprocessors are not designed to be used by end users of HBase, but by HBase developers who need to add specialized functionality to HBase. -One example of the use of coprocessors is pluggable compaction and scan policies, which are provided as coprocessors in link:https://issues.apache.org/jira/browse/HBASE-6427[HBASE-6427]. == Coprocessor Framework -The implementation of HBase coprocessors diverges from the BigTable implementation. -The HBase framework provides a library and runtime environment for executing user code within the HBase region server and master processes. +When working with any data store (like RDBMS or HBase) you fetch the data (in case of RDBMS you +might use SQL query and in case of HBase you use either Get or Scan). To fetch only relevant data +you filter it (for RDBMS you put conditions in 'WHERE' predicate and in HBase you use +link:http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/Filter.html[Filter]). +After fetching the desired data, you perform your business computation on the data. +This scenario is close to ideal for "small data", where few thousand rows and a bunch of columns +are returned from the data store. Now imagine a scenario where there are billions of rows and +millions of columns and you want to perform some computation which requires all the data, like +calculating average or sum. Even if you are interested in just few columns, you still have to +fetch all the rows. There are a few drawbacks in this approach as described below: + +. In this approach the data transfer (from data store to client side) will become the bottleneck, +and the time required to complete the operation is limited by the rate at which data transfer +takes place. +. It's not always possible to hold so much data in memory and perform computation. +. Bandwidth is one of the most precious resources in any data center. Operations like this may +saturate your data centerâs bandwidth and will severely impact the performance of your cluster. +. Your client code is becoming thick as you are maintaining the code for calculating average or +summation on client side. Not a major drawback when talking of severe issues like +performance/bandwidth but still worth giving consideration. + +In a scenario like this it's better to move the computation (i.e. user's custom code) to the data +itself (Region Server). Coprocessor helps you achieve this but
[03/14] hbase git commit: Revert "HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests (Heng Chen)"
Revert "HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests (Heng Chen)" This reverts commit ef7f8467af52cd1d6563ad5b1f6624be6872a165. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f9efeaad Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f9efeaad Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f9efeaad Branch: refs/heads/hbase-12439 Commit: f9efeaad1d5396e7cfca461ddeaa5931dc473f5f Parents: 418c442 Author: stackAuthored: Sat Oct 24 10:00:27 2015 -0700 Committer: stack Committed: Sat Oct 24 10:00:27 2015 -0700 -- .../org/apache/hadoop/hbase/mapred/TestTableInputFormat.java | 8 .../apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java | 2 ++ .../hbase/mapreduce/MultiTableInputFormatTestBase.java | 3 +++ .../hbase/mapreduce/TableSnapshotInputFormatTestBase.java| 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestCellCounter.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestCopyTable.java | 2 ++ .../apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java | 6 ++ .../hadoop/hbase/mapreduce/TestHFileOutputFormat2.java | 6 ++ .../hadoop/hbase/mapreduce/TestHRegionPartitioner.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestHashTable.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestImportExport.java | 2 ++ .../mapreduce/TestImportTSVWithOperationAttributes.java | 2 ++ .../apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.java | 2 ++ .../hbase/mapreduce/TestImportTSVWithVisibilityLabels.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestImportTsv.java | 2 ++ .../hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestRowCounter.java| 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestSyncTable.java | 2 ++ .../apache/hadoop/hbase/mapreduce/TestTableInputFormat.java | 2 ++ .../hadoop/hbase/mapreduce/TestTableInputFormatScanBase.java | 3 +++ .../hadoop/hbase/mapreduce/TestTableMapReduceBase.java | 2 ++ .../apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java | 2 ++ .../org/apache/hadoop/hbase/mapreduce/TestWALPlayer.java | 2 ++ .../org/apache/hadoop/hbase/snapshot/TestExportSnapshot.java | 2 ++ .../apache/hadoop/hbase/snapshot/TestMobExportSnapshot.java | 1 + .../hadoop/hbase/snapshot/TestMobSecureExportSnapshot.java | 1 + .../hadoop/hbase/snapshot/TestSecureExportSnapshot.java | 1 + 27 files changed, 63 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/f9efeaad/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java index 1975c59..8498341 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java @@ -34,7 +34,6 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.client.Connection; @@ -81,7 +80,7 @@ public class TestTableInputFormat { private static final Log LOG = LogFactory.getLog(TestTableInputFormat.class); private final static HBaseTestingUtility UTIL = new HBaseTestingUtility(); - + private static MiniMRCluster mrCluster; static final byte[] FAMILY = Bytes.toBytes("family"); private static final byte[][] columns = new byte[][] { FAMILY }; @@ -89,10 +88,12 @@ public class TestTableInputFormat { @BeforeClass public static void beforeClass() throws Exception { UTIL.startMiniCluster(); +mrCluster = UTIL.startMiniMapReduceCluster(); } @AfterClass public static void afterClass() throws Exception { +UTIL.shutdownMiniMapReduceCluster(); UTIL.shutdownMiniCluster(); } @@ -343,8 +344,7 @@ public class TestTableInputFormat { } void testInputFormat(Class clazz) throws IOException { -Configuration conf = UTIL.getConfiguration(); -final JobConf job = new JobConf(conf); +final JobConf job = MapreduceTestingShim.getJobConf(mrCluster); job.setInputFormat(clazz); job.setOutputFormat(NullOutputFormat.class); job.setMapperClass(ExampleVerifier.class); http://git-wip-us.apache.org/repos/asf/hbase/blob/f9efeaad/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java
[08/14] hbase git commit: HBASE-14678 Experiment: Temporarily disable balancer and a few others to see if root of crashed/timedout JVMs; ADD TestDistributedLogSplitting to the mix; ADDENDUM added Test
HBASE-14678 Experiment: Temporarily disable balancer and a few others to see if root of crashed/timedout JVMs; ADD TestDistributedLogSplitting to the mix; ADDENDUM added TestSnapshotCloneIndependence to removed set of dodgy tests Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/df36aef2 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/df36aef2 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/df36aef2 Branch: refs/heads/hbase-12439 Commit: df36aef23c5a4593a3160eb3937c54baf27991d1 Parents: 80a6fd0 Author: stackAuthored: Sat Oct 24 14:26:39 2015 -0700 Committer: stack Committed: Sat Oct 24 14:26:39 2015 -0700 -- .../client/TestSnapshotCloneIndependence.java | 481 --- 1 file changed, 481 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/df36aef2/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java deleted file mode 100644 index 5f20790..000 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.java +++ /dev/null @@ -1,481 +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.client; - -import java.io.IOException; -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.fs.FileSystem; -import org.apache.hadoop.fs.Path; -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.TableName; -import org.apache.hadoop.hbase.master.snapshot.SnapshotManager; -import org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy; -import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; -import org.apache.hadoop.hbase.testclassification.ClientTests; -import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.apache.hadoop.hbase.util.Bytes; -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; -import org.junit.Ignore; -import org.junit.experimental.categories.Category; - -/** - * Test to verify that the cloned table is independent of the table from which it was cloned - */ -@Category({LargeTests.class, ClientTests.class}) -public class TestSnapshotCloneIndependence { - private static final Log LOG = LogFactory.getLog(TestSnapshotCloneIndependence.class); - - protected static final HBaseTestingUtility UTIL = new HBaseTestingUtility(); - - protected static final int NUM_RS = 2; - private static final String STRING_TABLE_NAME = "test"; - private static final String TEST_FAM_STR = "fam"; - protected static final byte[] TEST_FAM = Bytes.toBytes(TEST_FAM_STR); - protected static final TableName TABLE_NAME = TableName.valueOf(STRING_TABLE_NAME); - private static final int CLEANER_INTERVAL = 100; - - /** - * Setup the config for the cluster and start it - * @throws Exception on fOailure - */ - @BeforeClass - public static void setupCluster() throws Exception { -setupConf(UTIL.getConfiguration()); -UTIL.startMiniCluster(NUM_RS); - } - - static void setupConf(Configuration conf) { -// Up the handlers; this test needs more than usual. -conf.setInt(HConstants.REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT, 15); -// enable snapshot support -conf.setBoolean(SnapshotManager.HBASE_SNAPSHOT_ENABLED, true); -// disable the ui -
[11/14] hbase git commit: HBASE-14624 BucketCache.freeBlock is too expensive
HBASE-14624 BucketCache.freeBlock is too expensive Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/95978477 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/95978477 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/95978477 Branch: refs/heads/hbase-12439 Commit: 95978477f8565defb3c4792f901e833abf63f768 Parents: f8528f6 Author: tedyuAuthored: Sat Oct 24 18:45:21 2015 -0700 Committer: tedyu Committed: Sat Oct 24 18:45:21 2015 -0700 -- .../hbase/io/hfile/bucket/BucketAllocator.java | 36 +++- 1 file changed, 19 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/95978477/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java index faa8724..1e8cb7d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java @@ -21,11 +21,10 @@ package org.apache.hadoop.hbase.io.hfile.bucket; import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; +import org.apache.commons.collections.map.LinkedMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.classification.InterfaceAudience; @@ -173,22 +172,22 @@ public final class BucketAllocator { final class BucketSizeInfo { // Free bucket means it has space to allocate a block; // Completely free bucket means it has no block. -private List bucketList, freeBuckets, completelyFreeBuckets; +private LinkedMap bucketList, freeBuckets, completelyFreeBuckets; private int sizeIndex; BucketSizeInfo(int sizeIndex) { - bucketList = new LinkedList(); - freeBuckets = new LinkedList(); - completelyFreeBuckets = new LinkedList(); + bucketList = new LinkedMap(); + freeBuckets = new LinkedMap(); + completelyFreeBuckets = new LinkedMap(); this.sizeIndex = sizeIndex; } public synchronized void instantiateBucket(Bucket b) { assert b.isUninstantiated() || b.isCompletelyFree(); b.reconfigure(sizeIndex, bucketSizes, bucketCapacity); - bucketList.add(b); - freeBuckets.add(b); - completelyFreeBuckets.add(b); + bucketList.put(b, b); + freeBuckets.put(b, b); + completelyFreeBuckets.put(b, b); } public int sizeIndex() { @@ -201,8 +200,10 @@ public final class BucketAllocator { */ public long allocateBlock() { Bucket b = null; - if (freeBuckets.size() > 0) // Use up an existing one first... -b = freeBuckets.get(freeBuckets.size() - 1); + if (freeBuckets.size() > 0) { +// Use up an existing one first... +b = (Bucket) freeBuckets.lastKey(); + } if (b == null) { b = grabGlobalCompletelyFreeBucket(); if (b != null) instantiateBucket(b); @@ -227,7 +228,7 @@ public final class BucketAllocator { } if (completelyFreeBuckets.size() > 0) { -b = completelyFreeBuckets.get(0); +b = (Bucket) completelyFreeBuckets.firstKey(); removeBucket(b); } return b; @@ -241,17 +242,18 @@ public final class BucketAllocator { } public void freeBlock(Bucket b, long offset) { - assert bucketList.contains(b); + assert bucketList.containsKey(b); // else we shouldn't have anything to free... - assert (!completelyFreeBuckets.contains(b)); + assert (!completelyFreeBuckets.containsKey(b)); b.free(offset); - if (!freeBuckets.contains(b)) freeBuckets.add(b); - if (b.isCompletelyFree()) completelyFreeBuckets.add(b); + if (!freeBuckets.containsKey(b)) freeBuckets.put(b, b); + if (b.isCompletelyFree()) completelyFreeBuckets.put(b, b); } public synchronized IndexStatistics statistics() { long free = 0, used = 0; - for (Bucket b : bucketList) { + for (Object obj : bucketList.keySet()) { +Bucket b = (Bucket) obj; free += b.freeCount(); used += b.usedCount(); }
[02/14] hbase git commit: HBASE-14670 Remove deprecated HBaseTestCase from TestBlocksRead
HBASE-14670 Remove deprecated HBaseTestCase from TestBlocksRead Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/418c4422 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/418c4422 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/418c4422 Branch: refs/heads/hbase-12439 Commit: 418c4422f7fc99ce58bd10c20090f34211da3b13 Parents: 6875e6d Author: Jonathan M HsiehAuthored: Sat Oct 24 05:35:00 2015 -0700 Committer: Jonathan M Hsieh Committed: Sat Oct 24 05:35:00 2015 -0700 -- .../hbase/regionserver/TestBlocksRead.java | 58 1 file changed, 22 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/418c4422/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java index c4b26b9..900d4ff 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java @@ -26,11 +26,10 @@ 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.fs.Path; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HBaseTestCase; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HRegionInfo; @@ -48,44 +47,35 @@ import org.apache.hadoop.hbase.io.hfile.CacheConfig; import org.apache.hadoop.hbase.io.hfile.HFile; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.EnvironmentEdgeManagerTestHelper; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.*; import org.junit.experimental.categories.Category; +import org.junit.rules.TestName; + +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertEquals; @Category({RegionServerTests.class, MediumTests.class}) -public class TestBlocksRead extends HBaseTestCase { +public class TestBlocksRead { private static final Log LOG = LogFactory.getLog(TestBlocksRead.class); + @Rule public TestName testName = new TestName(); + static final BloomType[] BLOOM_TYPE = new BloomType[] { BloomType.ROWCOL, BloomType.ROW, BloomType.NONE }; private static BlockCache blockCache; - - private HBaseConfiguration getConf() { -HBaseConfiguration conf = new HBaseConfiguration(); - -// disable compactions in this test. -conf.setInt("hbase.hstore.compactionThreshold", 1); -return conf; - } - Region region = null; - private HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); + private static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); private final String DIR = TEST_UTIL.getDataTestDir("TestBlocksRead").toString(); + private Configuration conf = TEST_UTIL.getConfiguration(); - /** - * @see org.apache.hadoop.hbase.HBaseTestCase#setUp() - */ - @SuppressWarnings("deprecation") - @Before - protected void setUp() throws Exception { -super.setUp(); + @BeforeClass + public static void setUp() throws Exception { +// disable compactions in this test. +TEST_UTIL.getConfiguration().setInt("hbase.hstore.compactionThreshold", 1); } - @SuppressWarnings("deprecation") - @After - protected void tearDown() throws Exception { -super.tearDown(); + @AfterClass + public static void tearDown() throws Exception { EnvironmentEdgeManagerTestHelper.reset(); } @@ -99,7 +89,7 @@ public class TestBlocksRead extends HBaseTestCase { * @return created and initialized region. */ private Region initHRegion(byte[] tableName, String callingMethod, - HBaseConfiguration conf, String family) throws IOException { + Configuration conf, String family) throws IOException { HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(tableName)); HColumnDescriptor familyDesc; for (int i = 0; i < BLOOM_TYPE.length; i++) { @@ -223,8 +213,7 @@ public class TestBlocksRead extends HBaseTestCase { byte[] TABLE = Bytes.toBytes("testBlocksRead"); String FAMILY = "cf1"; Cell kvs[]; -HBaseConfiguration conf = getConf(); -this.region = initHRegion(TABLE, getName(), conf, FAMILY); +this.region = initHRegion(TABLE, testName.getMethodName(), conf, FAMILY);
[06/14] hbase git commit: HBASE-14690 Fix css so there's no left/right scroll bar
HBASE-14690 Fix css so there's no left/right scroll bar Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/9925e9a1 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/9925e9a1 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/9925e9a1 Branch: refs/heads/hbase-12439 Commit: 9925e9a182b4d6802d3587b65de9d3c6f98cd963 Parents: 604ff56 Author: Elliott ClarkAuthored: Sat Oct 24 10:14:18 2015 -0700 Committer: Elliott Clark Committed: Sat Oct 24 10:27:12 2015 -0700 -- .../src/main/resources/hbase-webapps/static/css/hbase.css | 1 + .../src/main/resources/hbase-webapps/static/css/hbase.css | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/9925e9a1/hbase-server/src/main/resources/hbase-webapps/static/css/hbase.css -- diff --git a/hbase-server/src/main/resources/hbase-webapps/static/css/hbase.css b/hbase-server/src/main/resources/hbase-webapps/static/css/hbase.css index f3bd9e9..03d8ff4 100644 --- a/hbase-server/src/main/resources/hbase-webapps/static/css/hbase.css +++ b/hbase-server/src/main/resources/hbase-webapps/static/css/hbase.css @@ -20,6 +20,7 @@ body { padding-top: 50px; } html .content { margin-left: 2.0em; + margin-right: 2.0em; } .navbar-brand img { margin-top: -7px; http://git-wip-us.apache.org/repos/asf/hbase/blob/9925e9a1/hbase-thrift/src/main/resources/hbase-webapps/static/css/hbase.css -- diff --git a/hbase-thrift/src/main/resources/hbase-webapps/static/css/hbase.css b/hbase-thrift/src/main/resources/hbase-webapps/static/css/hbase.css index 4b36c80..03d8ff4 100644 --- a/hbase-thrift/src/main/resources/hbase-webapps/static/css/hbase.css +++ b/hbase-thrift/src/main/resources/hbase-webapps/static/css/hbase.css @@ -19,7 +19,8 @@ /* General styling */ body { padding-top: 50px; } html .content { - margin-left: 1.0em; + margin-left: 2.0em; + margin-right: 2.0em; } .navbar-brand img { margin-top: -7px;
[14/14] hbase git commit: HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY
HBASE-14684 Try to remove all MiniMapReduceCluster in unit tests; REAPPLY Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/89985760 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/89985760 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/89985760 Branch: refs/heads/hbase-12439 Commit: 899857609c7c2c2b0fd3fa72d3bd585cb2703e0a Parents: 8a2cef3 Author: stackAuthored: Mon Oct 26 08:40:19 2015 -0700 Committer: stack Committed: Mon Oct 26 08:40:32 2015 -0700 -- .../org/apache/hadoop/hbase/mapred/TestTableInputFormat.java | 8 .../apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java | 2 -- .../hbase/mapreduce/MultiTableInputFormatTestBase.java | 3 --- .../hbase/mapreduce/TableSnapshotInputFormatTestBase.java| 2 -- .../org/apache/hadoop/hbase/mapreduce/TestCellCounter.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestCopyTable.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java | 6 -- .../hadoop/hbase/mapreduce/TestHFileOutputFormat2.java | 6 -- .../hadoop/hbase/mapreduce/TestHRegionPartitioner.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestHashTable.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestImportExport.java | 2 -- .../mapreduce/TestImportTSVWithOperationAttributes.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestImportTSVWithTTLs.java | 2 -- .../hbase/mapreduce/TestImportTSVWithVisibilityLabels.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestImportTsv.java | 2 -- .../hadoop/hbase/mapreduce/TestMultithreadedTableMapper.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestRowCounter.java| 2 -- .../org/apache/hadoop/hbase/mapreduce/TestSyncTable.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestTableInputFormat.java | 2 -- .../hadoop/hbase/mapreduce/TestTableInputFormatScanBase.java | 3 --- .../hadoop/hbase/mapreduce/TestTableMapReduceBase.java | 2 -- .../apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/TestWALPlayer.java | 2 -- 23 files changed, 4 insertions(+), 58 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/89985760/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java index 8498341..1975c59 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java @@ -34,6 +34,7 @@ import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.*; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.client.Connection; @@ -80,7 +81,7 @@ public class TestTableInputFormat { private static final Log LOG = LogFactory.getLog(TestTableInputFormat.class); private final static HBaseTestingUtility UTIL = new HBaseTestingUtility(); - private static MiniMRCluster mrCluster; + static final byte[] FAMILY = Bytes.toBytes("family"); private static final byte[][] columns = new byte[][] { FAMILY }; @@ -88,12 +89,10 @@ public class TestTableInputFormat { @BeforeClass public static void beforeClass() throws Exception { UTIL.startMiniCluster(); -mrCluster = UTIL.startMiniMapReduceCluster(); } @AfterClass public static void afterClass() throws Exception { -UTIL.shutdownMiniMapReduceCluster(); UTIL.shutdownMiniCluster(); } @@ -344,7 +343,8 @@ public class TestTableInputFormat { } void testInputFormat(Class clazz) throws IOException { -final JobConf job = MapreduceTestingShim.getJobConf(mrCluster); +Configuration conf = UTIL.getConfiguration(); +final JobConf job = new JobConf(conf); job.setInputFormat(clazz); job.setOutputFormat(NullOutputFormat.class); job.setMapperClass(ExampleVerifier.class); http://git-wip-us.apache.org/repos/asf/hbase/blob/89985760/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java index 628bb96..daa6e71 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduceUtil.java +++
[04/14] hbase git commit: HBASE-14683 Fix Batching in buffered mutator is awful when adding lists of mutations.
HBASE-14683 Fix Batching in buffered mutator is awful when adding lists of mutations. Summary: Send the list of mutations to AsyncProcess only after done adding the list otherwise there's a lot of contention Test Plan: UnitTests. Differential Revision: https://reviews.facebook.net/D49251 Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/caae3b2e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/caae3b2e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/caae3b2e Branch: refs/heads/hbase-12439 Commit: caae3b2e5fe889d57dc69964e76faffdc16ff7ae Parents: f9efeaa Author: Elliott ClarkAuthored: Thu Oct 22 20:24:48 2015 -0700 Committer: Elliott Clark Committed: Sat Oct 24 10:05:39 2015 -0700 -- .../hbase/client/BufferedMutatorImpl.java | 46 .../master/cleaner/TestSnapshotFromMaster.java | 15 --- 2 files changed, 25 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/caae3b2e/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorImpl.java -- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorImpl.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorImpl.java index 0b222b1..5341d47 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorImpl.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/BufferedMutatorImpl.java @@ -27,6 +27,7 @@ import com.google.common.annotations.VisibleForTesting; import java.io.IOException; import java.io.InterruptedIOException; +import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.concurrent.ExecutorService; @@ -98,48 +99,35 @@ public class BufferedMutatorImpl implements BufferedMutator { @Override public synchronized void mutate(Mutation m) throws InterruptedIOException, RetriesExhaustedWithDetailsException { -doMutate(m); +mutate(Arrays.asList(m)); } @Override public synchronized void mutate(List ms) throws InterruptedIOException, RetriesExhaustedWithDetailsException { -for (Mutation m : ms) { - doMutate(m); -} - } - - /** - * Add the put to the buffer. If the buffer is already too large, sends the buffer to the - * cluster. - * - * @throws RetriesExhaustedWithDetailsException if there is an error on the cluster. - * @throws InterruptedIOException if we were interrupted. - */ - private void doMutate(Mutation m) throws InterruptedIOException, - RetriesExhaustedWithDetailsException { if (closed) { throw new IllegalStateException("Cannot put when the BufferedMutator is closed."); } -if (!(m instanceof Put) && !(m instanceof Delete)) { - throw new IllegalArgumentException("Pass a Delete or a Put"); -} -// This behavior is highly non-intuitive... it does not protect us against -// 94-incompatible behavior, which is a timing issue because hasError, the below code -// and setter of hasError are not synchronized. Perhaps it should be removed. -if (ap.hasError()) { - writeAsyncBuffer.add(m); - backgroundFlushCommits(true); +for (Mutation m : ms) { + if (m instanceof Put) { +validatePut((Put) m); + } +currentWriteBufferSize += m.heapSize(); } -if (m instanceof Put) { - validatePut((Put) m); -} + // This behavior is highly non-intuitive... it does not protect us against + // 94-incompatible behavior, which is a timing issue because hasError, the below code + // and setter of hasError are not synchronized. Perhaps it should be removed. + if (ap.hasError()) { +writeAsyncBuffer.addAll(ms); +backgroundFlushCommits(true); + } else { +writeAsyncBuffer.addAll(ms); + } -currentWriteBufferSize += m.heapSize(); -writeAsyncBuffer.add(m); +// Now try and queue what needs to be queued. while (currentWriteBufferSize > writeBufferSize) { backgroundFlushCommits(false); } http://git-wip-us.apache.org/repos/asf/hbase/blob/caae3b2e/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java index e00134a..687b6ae 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java +++
[09/14] hbase git commit: HBASE-14266 RegionServers have a lock contention of Configuration.getProps
HBASE-14266 RegionServers have a lock contention of Configuration.getProps Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/996866d3 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/996866d3 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/996866d3 Branch: refs/heads/hbase-12439 Commit: 996866d3ae66b28aa6d25b69db7646f9847e9b21 Parents: df36aef Author: stackAuthored: Sat Oct 24 14:43:53 2015 -0700 Committer: stack Committed: Sat Oct 24 14:43:53 2015 -0700 -- .../apache/hadoop/hbase/HBaseConfiguration.java | 3 +- .../example/ZooKeeperScanPolicyObserver.java| 2 +- .../compactions/PartitionedMobCompactor.java| 2 +- .../hadoop/hbase/regionserver/HStore.java | 2 +- .../hadoop/hbase/regionserver/ScanInfo.java | 67 +- .../hadoop/hbase/regionserver/StoreScanner.java | 226 +-- .../TestPartitionedMobCompactor.java| 2 +- .../regionserver/NoOpScanPolicyObserver.java| 4 +- .../hbase/regionserver/TestCompaction.java | 2 +- .../TestDefaultCompactSelection.java| 2 +- .../hbase/regionserver/TestDefaultMemStore.java | 8 +- .../hbase/regionserver/TestMajorCompaction.java | 2 +- .../regionserver/TestMobStoreCompaction.java| 3 +- .../hbase/regionserver/TestQueryMatcher.java| 16 +- .../regionserver/TestReversibleScanners.java| 2 +- .../hbase/regionserver/TestStoreScanner.java| 11 +- .../hbase/regionserver/TestStripeCompactor.java | 2 +- .../hbase/util/TestCoprocessorScanPolicy.java | 12 +- 18 files changed, 201 insertions(+), 167 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/996866d3/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java -- diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java index 1be66a1..5a6a168 100644 --- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java +++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java @@ -36,11 +36,10 @@ import org.apache.hadoop.hbase.util.VersionInfo; @InterfaceAudience.Public @InterfaceStability.Stable public class HBaseConfiguration extends Configuration { - private static final Log LOG = LogFactory.getLog(HBaseConfiguration.class); /** - * Instantinating HBaseConfiguration() is deprecated. Please use + * Instantiating HBaseConfiguration() is deprecated. Please use * HBaseConfiguration#create() to construct a plain Configuration * @deprecated Please use create() instead. */ http://git-wip-us.apache.org/repos/asf/hbase/blob/996866d3/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java -- diff --git a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java index a65b27d..420799f 100644 --- a/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java +++ b/hbase-examples/src/main/java/org/apache/hadoop/hbase/coprocessor/example/ZooKeeperScanPolicyObserver.java @@ -188,7 +188,7 @@ public class ZooKeeperScanPolicyObserver extends BaseRegionObserver { } long ttl = Math.max(EnvironmentEdgeManager.currentTime() - Bytes.toLong(data), oldSI.getTtl()); -return new ScanInfo(store.getFamily(), ttl, +return new ScanInfo(oldSI.getConfiguration(), store.getFamily(), ttl, oldSI.getTimeToPurgeDeletes(), oldSI.getComparator()); } http://git-wip-us.apache.org/repos/asf/hbase/blob/996866d3/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java index e0ae481..dabedfd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.java @@ -551,7 +551,7 @@ public class PartitionedMobCompactor extends MobCompactor { Scan scan = new Scan(); scan.setMaxVersions(column.getMaxVersions()); long ttl = HStore.determineTTLFromFamily(column); -ScanInfo scanInfo = new
[10/14] hbase git commit: HBASE-14678 Experiment: Temporarily disable balancer and a few others to see if root of crashed/timedout JVMs; ADD TestDistributedLogSplitting to the mix; ADDENDUM added Test
HBASE-14678 Experiment: Temporarily disable balancer and a few others to see if root of crashed/timedout JVMs; ADD TestDistributedLogSplitting to the mix; ADDENDUM added TestMobSnapshotCloneIndependence to removed set of dodgy tests Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f8528f66 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f8528f66 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f8528f66 Branch: refs/heads/hbase-12439 Commit: f8528f66ec253fbb3c08d2c3352dd73d9832a43b Parents: 996866d Author: stackAuthored: Sat Oct 24 17:42:16 2015 -0700 Committer: stack Committed: Sat Oct 24 17:42:16 2015 -0700 -- .../TestMobSnapshotCloneIndependence.java | 69 1 file changed, 69 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/f8528f66/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.java deleted file mode 100644 index dcf20e5..000 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.java +++ /dev/null @@ -1,69 +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.client; - - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.mob.MobConstants; -import org.apache.hadoop.hbase.snapshot.MobSnapshotTestingUtils; -import org.apache.hadoop.hbase.snapshot.SnapshotTestingUtils; -import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.BeforeClass; -import org.junit.experimental.categories.Category; - -/** - * Test to verify that the cloned table is independent of the table from which it was cloned - */ -@Category(LargeTests.class) -public class TestMobSnapshotCloneIndependence extends TestSnapshotCloneIndependence { - private static final Log LOG = LogFactory.getLog(TestMobSnapshotCloneIndependence.class); - - /** - * Setup the config for the cluster and start it - * @throws Exception on failure - */ - @BeforeClass - public static void setupCluster() throws Exception { -setupConf(UTIL.getConfiguration()); -UTIL.startMiniCluster(NUM_RS); - } - - protected static void setupConf(Configuration conf) { -TestSnapshotCloneIndependence.setupConf(conf); -conf.setInt(MobConstants.MOB_FILE_CACHE_SIZE_KEY, 0); - } - - @Override - protected Table createTable(final TableName table, byte[] family) throws Exception { -return MobSnapshotTestingUtils.createMobTable(UTIL, table, family); - } - - @Override - public void loadData(final Table table, byte[]... families) throws Exception { -SnapshotTestingUtils.loadData(UTIL, table.getName(), 1000, families); - } - - @Override - protected int countRows(final Table table, final byte[]... families) throws Exception { -return MobSnapshotTestingUtils.countMobRows(table, families); - } -} \ No newline at end of file