Return-Path: X-Original-To: apmail-hbase-commits-archive@www.apache.org Delivered-To: apmail-hbase-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5AA491737A for ; Fri, 25 Sep 2015 15:46:00 +0000 (UTC) Received: (qmail 49041 invoked by uid 500); 25 Sep 2015 15:46:00 -0000 Delivered-To: apmail-hbase-commits-archive@hbase.apache.org Received: (qmail 49007 invoked by uid 500); 25 Sep 2015 15:46:00 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 48997 invoked by uid 99); 25 Sep 2015 15:46:00 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Sep 2015 15:46:00 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id EDD87DFE2E; Fri, 25 Sep 2015 15:45:59 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: tedyu@apache.org To: commits@hbase.apache.org Message-Id: <2f600c5cbcec4978b9b7a8d22d849a06@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: hbase git commit: HBASE-14456 Implement a namespace-based region grouping strategy for RegionGroupingProvider (Yu Li) Date: Fri, 25 Sep 2015 15:45:59 +0000 (UTC) Repository: hbase Updated Branches: refs/heads/branch-1 52188c5c4 -> 2b84576e3 HBASE-14456 Implement a namespace-based region grouping strategy for RegionGroupingProvider (Yu Li) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2b84576e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2b84576e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2b84576e Branch: refs/heads/branch-1 Commit: 2b84576e3d003f51b9146855cb5aecdd9d120aac Parents: 52188c5 Author: tedyu Authored: Fri Sep 25 08:45:50 2015 -0700 Committer: tedyu Committed: Fri Sep 25 08:45:50 2015 -0700 ---------------------------------------------------------------------- .../hadoop/hbase/regionserver/HRegion.java | 2 +- .../hbase/regionserver/HRegionServer.java | 5 +- .../org/apache/hadoop/hbase/util/HMerge.java | 6 ++- .../org/apache/hadoop/hbase/util/MetaUtils.java | 4 +- .../hbase/wal/BoundedGroupingStrategy.java | 2 +- .../hadoop/hbase/wal/DefaultWALProvider.java | 2 +- .../hadoop/hbase/wal/DisabledWALProvider.java | 2 +- .../hbase/wal/NamespaceGroupingStrategy.java | 52 ++++++++++++++++++++ .../hbase/wal/RegionGroupingProvider.java | 16 +++--- .../org/apache/hadoop/hbase/wal/WALFactory.java | 7 +-- .../apache/hadoop/hbase/wal/WALProvider.java | 3 +- .../hadoop/hbase/HBaseTestingUtility.java | 2 +- .../hbase/coprocessor/TestWALObserver.java | 14 +++--- .../hbase/mapreduce/TestWALRecordReader.java | 4 +- .../regionserver/TestCacheOnWriteInSchema.java | 2 +- .../TestDefaultCompactSelection.java | 4 +- .../hbase/regionserver/TestDefaultMemStore.java | 2 +- .../hadoop/hbase/regionserver/TestHRegion.java | 4 +- .../regionserver/TestHRegionReplayEvents.java | 6 ++- .../TestRegionMergeTransaction.java | 5 +- .../regionserver/TestSplitTransaction.java | 3 +- .../hadoop/hbase/regionserver/TestStore.java | 4 +- .../TestStoreFileRefresherChore.java | 4 +- .../hbase/regionserver/wal/TestDurability.java | 6 +-- .../regionserver/wal/TestLogRollAbort.java | 3 +- .../hbase/regionserver/wal/TestLogRolling.java | 2 +- .../wal/TestLogRollingNoCluster.java | 2 +- .../wal/TestWALActionsListener.java | 2 +- .../TestReplicationSourceManager.java | 2 +- .../TestReplicationWALReaderManager.java | 2 +- .../apache/hadoop/hbase/util/TestMergeTool.java | 2 +- .../apache/hadoop/hbase/wal/IOTestProvider.java | 2 +- .../wal/TestBoundedRegionGroupingStrategy.java | 2 +- .../hbase/wal/TestDefaultWALProvider.java | 11 +++-- .../apache/hadoop/hbase/wal/TestSecureWAL.java | 3 +- .../apache/hadoop/hbase/wal/TestWALFactory.java | 16 +++--- .../apache/hadoop/hbase/wal/TestWALMethods.java | 2 +- .../hbase/wal/TestWALReaderOnSecureWAL.java | 3 +- .../apache/hadoop/hbase/wal/TestWALSplit.java | 2 +- .../hbase/wal/WALPerformanceEvaluation.java | 3 +- 40 files changed, 146 insertions(+), 74 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/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 fbc7374..eab754a 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 @@ -6099,7 +6099,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi effectiveWAL = (new WALFactory(confForWAL, Collections.singletonList(new MetricsWAL()), "hregion-" + RandomStringUtils.randomNumeric(8))). - getWAL(info.getEncodedNameAsBytes()); + getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace()); } HRegion region = HRegion.newHRegion(tableDir, effectiveWAL, fs, conf, info, hTableDescriptor, null); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index bd9d42a..3c1c28c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -1835,9 +1835,10 @@ public class HRegionServer extends HasThread implements roller = ensureMetaWALRoller(); wal = walFactory.getMetaWAL(regionInfo.getEncodedNameAsBytes()); } else if (regionInfo == null) { - wal = walFactory.getWAL(UNSPECIFIED_REGION); + wal = walFactory.getWAL(UNSPECIFIED_REGION, null); } else { - wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes()); + byte[] namespace = regionInfo.getTable().getNamespace(); + wal = walFactory.getWAL(regionInfo.getEncodedNameAsBytes(), namespace); } roller.addWAL(wal); return wal; http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HMerge.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HMerge.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HMerge.java index 443d512..7f2c85d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HMerge.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/HMerge.java @@ -194,11 +194,13 @@ class HMerge { for (int i = 0; i < info.length - 1; i++) { if (currentRegion == null) { currentRegion = HRegion.openHRegion(conf, fs, this.rootDir, info[i], this.htd, - walFactory.getWAL(info[i].getEncodedNameAsBytes())); + walFactory.getWAL(info[i].getEncodedNameAsBytes(), + info[i].getTable().getNamespace())); currentSize = currentRegion.getLargestHStoreSize(); } nextRegion = HRegion.openHRegion(conf, fs, this.rootDir, info[i + 1], this.htd, - walFactory.getWAL(info[i+1].getEncodedNameAsBytes())); + walFactory.getWAL(info[i + 1].getEncodedNameAsBytes(), + info[i + 1].getTable().getNamespace())); nextSize = nextRegion.getLargestHStoreSize(); if ((currentSize + nextSize) <= (maxFilesize / 2)) { http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java index 1ff4967..309bd4a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java @@ -95,7 +95,9 @@ public class MetaUtils { this.walFactory = new WALFactory(walConf, null, logName); } final byte[] region = info.getEncodedNameAsBytes(); - return info.isMetaRegion() ? walFactory.getMetaWAL(region) : walFactory.getWAL(region); + final byte[] namespace = info.getTable().getNamespace(); + return info.isMetaRegion() ? walFactory.getMetaWAL(region) : walFactory.getWAL(region, + namespace); } /** http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java index c8f434f..65c774e 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java @@ -42,7 +42,7 @@ public class BoundedGroupingStrategy implements RegionGroupingStrategy{ private String[] groupNames; @Override - public String group(byte[] identifier) { + public String group(byte[] identifier, byte[] namespace) { String idStr = Bytes.toString(identifier); String groupName = groupNameCache.get(idStr); if (null == groupName) { http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DefaultWALProvider.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DefaultWALProvider.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DefaultWALProvider.java index 23dd79e..d4299c9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DefaultWALProvider.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DefaultWALProvider.java @@ -120,7 +120,7 @@ public class DefaultWALProvider implements WALProvider { } @Override - public WAL getWAL(final byte[] identifier) throws IOException { + public WAL getWAL(final byte[] identifier, byte[] namespace) throws IOException { if (log == null) { // only lock when need to create wal, and need to lock since // creating hlog on fs is time consuming http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DisabledWALProvider.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DisabledWALProvider.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DisabledWALProvider.java index 1701448..328793b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DisabledWALProvider.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/DisabledWALProvider.java @@ -66,7 +66,7 @@ class DisabledWALProvider implements WALProvider { } @Override - public WAL getWAL(final byte[] identifier) throws IOException { + public WAL getWAL(final byte[] identifier, byte[] namespace) throws IOException { return disabled; } http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NamespaceGroupingStrategy.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NamespaceGroupingStrategy.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NamespaceGroupingStrategy.java new file mode 100644 index 0000000..6193592 --- /dev/null +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/NamespaceGroupingStrategy.java @@ -0,0 +1,52 @@ +/** + * + * 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.wal; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.NamespaceDescriptor; +import org.apache.hadoop.hbase.classification.InterfaceAudience; +import org.apache.hadoop.hbase.util.Bytes; +import org.apache.hadoop.hbase.wal.RegionGroupingProvider.RegionGroupingStrategy; + +/** + * A WAL grouping strategy based on namespace. + * Notice: the wal-group mapping might change if we support dynamic namespace updating later, + * and special attention needed if we support feature like group-based replication. + */ +@InterfaceAudience.Private +public class NamespaceGroupingStrategy implements RegionGroupingStrategy { + private String providerId; + + @Override + public String group(byte[] identifier, byte[] namespace) { + String namespaceString; + if (namespace == null || namespace.length == 0) { + namespaceString = NamespaceDescriptor.DEFAULT_NAMESPACE_NAME_STR; + } else { + namespaceString = Bytes.toString(namespace); + } + return providerId + GROUP_NAME_DELIMITER + namespaceString; + } + + @Override + public void init(Configuration config, String providerId) { + this.providerId = providerId; + } + +} http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/RegionGroupingProvider.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/RegionGroupingProvider.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/RegionGroupingProvider.java index 00a5651..2885428 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/RegionGroupingProvider.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/RegionGroupingProvider.java @@ -65,12 +65,11 @@ class RegionGroupingProvider implements WALProvider { */ public static interface RegionGroupingStrategy { String GROUP_NAME_DELIMITER = "."; + /** - * Given an identifier, pick a group. - * the byte[] returned for a given group must always use the same instance, since we - * will be using it as a hash key. + * Given an identifier and a namespace, pick a group. */ - String group(final byte[] identifier); + String group(final byte[] identifier, byte[] namespace); void init(Configuration config, String providerId); } @@ -80,7 +79,8 @@ class RegionGroupingProvider implements WALProvider { static enum Strategies { defaultStrategy(BoundedGroupingStrategy.class), identity(IdentityGroupingStrategy.class), - bounded(BoundedGroupingStrategy.class); + bounded(BoundedGroupingStrategy.class), + namespace(NamespaceGroupingStrategy.class); final Class clazz; Strategies(Class clazz) { @@ -200,12 +200,12 @@ class RegionGroupingProvider implements WALProvider { } @Override - public WAL getWAL(final byte[] identifier) throws IOException { + public WAL getWAL(final byte[] identifier, byte[] namespace) throws IOException { final String group; if (META_WAL_PROVIDER_ID.equals(this.providerId)) { group = META_WAL_GROUP_NAME; } else { - group = strategy.group(identifier); + group = strategy.group(identifier, namespace); } return getWAL(group); } @@ -254,7 +254,7 @@ class RegionGroupingProvider implements WALProvider { @Override public void init(Configuration config, String providerId) {} @Override - public String group(final byte[] identifier) { + public String group(final byte[] identifier, final byte[] namespace) { return Bytes.toString(identifier); } } http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALFactory.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALFactory.java index c869a5f..67f42c3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALFactory.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALFactory.java @@ -225,9 +225,10 @@ public class WALFactory { /** * @param identifier may not be null, contents will not be altered + * @param namespace could be null, and will use default namespace if null */ - public WAL getWAL(final byte[] identifier) throws IOException { - return provider.getWAL(identifier); + public WAL getWAL(final byte[] identifier, final byte[] namespace) throws IOException { + return provider.getWAL(identifier, namespace); } /** @@ -247,7 +248,7 @@ public class WALFactory { metaProvider = this.metaProvider.get(); } } - return metaProvider.getWAL(identifier); + return metaProvider.getWAL(identifier, null); } public Reader createReader(final FileSystem fs, final Path path) throws IOException { http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java index b4c4067..b3d8674 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALProvider.java @@ -54,9 +54,10 @@ public interface WALProvider { /** * @param identifier may not be null. contents will not be altered. + * @param namespace could be null, and will use default namespace if null * @return a WAL for writing entries for the given region. */ - WAL getWAL(final byte[] identifier) throws IOException; + WAL getWAL(final byte[] identifier, byte[] namespace) throws IOException; /** * persist outstanding WALs to storage and stop accepting new appends. http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java index cffa90b..bc730b8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java @@ -1807,7 +1807,7 @@ public class HBaseTestingUtility extends HBaseCommonTestingUtility { return (new WALFactory(confForWAL, Collections.singletonList(new MetricsWAL()), "hregion-" + RandomStringUtils.randomNumeric(8))). - getWAL(hri.getEncodedNameAsBytes()); + getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()); } /** http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestWALObserver.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestWALObserver.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestWALObserver.java index aee1b1f..19b45a7 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestWALObserver.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestWALObserver.java @@ -162,7 +162,7 @@ public class TestWALObserver { */ @Test public void testWALObserverWriteToWAL() throws Exception { - final WAL log = wals.getWAL(UNSPECIFIED_REGION); + final WAL log = wals.getWAL(UNSPECIFIED_REGION, null); verifyWritesSeen(log, getCoprocessor(log, SampleRegionWALObserver.class), false); } @@ -173,7 +173,7 @@ public class TestWALObserver { */ @Test public void testLegacyWALObserverWriteToWAL() throws Exception { - final WAL log = wals.getWAL(UNSPECIFIED_REGION); + final WAL log = wals.getWAL(UNSPECIFIED_REGION, null); verifyWritesSeen(log, getCoprocessor(log, SampleRegionWALObserver.Legacy.class), true); } @@ -277,7 +277,7 @@ public class TestWALObserver { final Configuration newConf = HBaseConfiguration.create(this.conf); - final WAL wal = wals.getWAL(UNSPECIFIED_REGION); + final WAL wal = wals.getWAL(UNSPECIFIED_REGION, null); final SampleRegionWALObserver newApi = getCoprocessor(wal, SampleRegionWALObserver.class); newApi.setTestValues(TEST_TABLE, TEST_ROW, null, null, null, null, null, null); final SampleRegionWALObserver oldApi = getCoprocessor(wal, @@ -349,7 +349,7 @@ public class TestWALObserver { final HTableDescriptor htd = createBasic3FamilyHTD(Bytes.toString(TEST_TABLE)); final AtomicLong sequenceId = new AtomicLong(0); - WAL log = wals.getWAL(UNSPECIFIED_REGION); + WAL log = wals.getWAL(UNSPECIFIED_REGION, null); try { SampleRegionWALObserver cp = getCoprocessor(log, SampleRegionWALObserver.class); @@ -394,7 +394,7 @@ public class TestWALObserver { final Configuration newConf = HBaseConfiguration.create(this.conf); // WAL wal = new WAL(this.fs, this.dir, this.oldLogDir, this.conf); - WAL wal = wals.getWAL(UNSPECIFIED_REGION); + WAL wal = wals.getWAL(UNSPECIFIED_REGION, null); // Put p = creatPutWith2Families(TEST_ROW); WALEdit edit = new WALEdit(); long now = EnvironmentEdgeManager.currentTime(); @@ -419,7 +419,7 @@ public class TestWALObserver { FileSystem newFS = FileSystem.get(newConf); // Make a new wal for new region open. final WALFactory wals2 = new WALFactory(conf, null, currentTest.getMethodName()+"2"); - WAL wal2 = wals2.getWAL(UNSPECIFIED_REGION);; + WAL wal2 = wals2.getWAL(UNSPECIFIED_REGION, null);; HRegion region = HRegion.openHRegion(newConf, FileSystem.get(newConf), hbaseRootDir, hri, htd, wal2, TEST_UTIL.getHBaseCluster().getRegionServer(0), null); long seqid2 = region.getOpenSeqNum(); @@ -447,7 +447,7 @@ public class TestWALObserver { */ @Test public void testWALObserverLoaded() throws Exception { - WAL log = wals.getWAL(UNSPECIFIED_REGION); + WAL log = wals.getWAL(UNSPECIFIED_REGION, null); assertNotNull(getCoprocessor(log, SampleRegionWALObserver.class)); } http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java index 66cee55..89f0e7a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java @@ -118,7 +118,7 @@ public class TestWALRecordReader { @Test public void testPartialRead() throws Exception { final WALFactory walfactory = new WALFactory(conf, null, getName()); - WAL log = walfactory.getWAL(info.getEncodedNameAsBytes()); + WAL log = walfactory.getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace()); // This test depends on timestamp being millisecond based and the filename of the WAL also // being millisecond based. long ts = System.currentTimeMillis(); @@ -181,7 +181,7 @@ public class TestWALRecordReader { @Test public void testWALRecordReader() throws Exception { final WALFactory walfactory = new WALFactory(conf, null, getName()); - WAL log = walfactory.getWAL(info.getEncodedNameAsBytes()); + WAL log = walfactory.getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace()); byte [] value = Bytes.toBytes("value"); final AtomicLong sequenceId = new AtomicLong(0); WALEdit edit = new WALEdit(); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java index 9a227ab..44b1823 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.java @@ -174,7 +174,7 @@ public class TestCacheOnWriteInSchema { walFactory = new WALFactory(conf, null, id); region = TEST_UTIL.createLocalHRegion(info, htd, - walFactory.getWAL(info.getEncodedNameAsBytes())); + walFactory.getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace())); store = new HStore(region, hcd, conf); } http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultCompactSelection.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultCompactSelection.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultCompactSelection.java index 9779e47..3575e69 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultCompactSelection.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultCompactSelection.java @@ -97,8 +97,8 @@ public class TestDefaultCompactSelection extends TestCase { region = HRegion.createHRegion(info, basedir, conf, htd); HRegion.closeHRegion(region); Path tableDir = FSUtils.getTableDir(basedir, htd.getTableName()); - region = new HRegion(tableDir, wals.getWAL(info.getEncodedNameAsBytes()), fs, conf, info, htd, - null); + region = new HRegion(tableDir, wals.getWAL(info.getEncodedNameAsBytes(), info.getTable() + .getNamespace()), fs, conf, info, htd, null); store = new HStore(region, hcd, conf); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java index 08419ba..602a045 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java @@ -958,7 +958,7 @@ public class TestDefaultMemStore extends TestCase { desc.addFamily(new HColumnDescriptor("foo".getBytes())); HRegion r = HRegion.createHRegion(hri, testDir, conf, desc, - wFactory.getWAL(hri.getEncodedNameAsBytes())); + wFactory.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace())); HRegion.addRegionToMETA(meta, r); edge.setCurrentTimeMillis(1234 + 100); StringBuffer sb = new StringBuffer(); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/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 9e3f2f4..5b9f63e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java @@ -923,7 +923,7 @@ public class TestHRegion { final Configuration walConf = new Configuration(TEST_UTIL.getConfiguration()); FSUtils.setRootDir(walConf, logDir); final WALFactory wals = new WALFactory(walConf, null, method); - final WAL wal = wals.getWAL(tableName.getName()); + final WAL wal = wals.getWAL(tableName.getName(), tableName.getNamespace()); this.region = initHRegion(tableName.getName(), HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW, method, CONF, false, Durability.USE_DEFAULT, wal, family); @@ -4753,7 +4753,7 @@ public class TestHRegion { final Configuration walConf = new Configuration(conf); FSUtils.setRootDir(walConf, logDir); final WALFactory wals = new WALFactory(walConf, null, UUID.randomUUID().toString()); - final WAL wal = spy(wals.getWAL(tableName.getName())); + final WAL wal = spy(wals.getWAL(tableName.getName(), tableName.getNamespace())); this.region = initHRegion(tableName.getName(), HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW, method, conf, false, tableDurability, wal, new byte[][] { family }); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java index e262209..b100b9d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionReplayEvents.java @@ -158,8 +158,10 @@ public class TestHRegionReplayEvents { false, time, 1); wals = TestHRegion.createWALFactory(CONF, rootDir); - walPrimary = wals.getWAL(primaryHri.getEncodedNameAsBytes()); - walSecondary = wals.getWAL(secondaryHri.getEncodedNameAsBytes()); + walPrimary = wals.getWAL(primaryHri.getEncodedNameAsBytes(), + primaryHri.getTable().getNamespace()); + walSecondary = wals.getWAL(secondaryHri.getEncodedNameAsBytes(), + secondaryHri.getTable().getNamespace()); rss = mock(RegionServerServices.class); when(rss.getServerName()).thenReturn(ServerName.valueOf("foo", 1, 1)); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java index 4b3156c..49f3dce 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java @@ -414,8 +414,9 @@ public class TestRegionMergeTransaction { HRegion a = HRegion.createHRegion(hri, testdir, TEST_UTIL.getConfiguration(), htd); HRegion.closeHRegion(a); - return HRegion.openHRegion(testdir, hri, htd, wals.getWAL(hri.getEncodedNameAsBytes()), - TEST_UTIL.getConfiguration()); + return HRegion.openHRegion(testdir, hri, htd, + wals.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()), + TEST_UTIL.getConfiguration()); } private int countRows(final HRegion r) throws IOException { http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java index 18fc013..d5c9575 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java @@ -378,7 +378,8 @@ public class TestSplitTransaction { HRegionInfo hri = new HRegionInfo(htd.getTableName(), STARTROW, ENDROW); HRegion r = HRegion.createHRegion(hri, testdir, TEST_UTIL.getConfiguration(), htd); HRegion.closeHRegion(r); - return HRegion.openHRegion(testdir, hri, htd, wals.getWAL(hri.getEncodedNameAsBytes()), + return HRegion.openHRegion(testdir, hri, htd, + wals.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()), TEST_UTIL.getConfiguration()); } http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java index 125bfa8..60a15ea 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java @@ -183,8 +183,8 @@ public class TestStore { final Configuration walConf = new Configuration(conf); FSUtils.setRootDir(walConf, basedir); final WALFactory wals = new WALFactory(walConf, null, methodName); - HRegion region = new HRegion(tableDir, wals.getWAL(info.getEncodedNameAsBytes()), fs, conf, - info, htd, null); + HRegion region = new HRegion(tableDir, wals.getWAL(info.getEncodedNameAsBytes(), + info.getTable().getNamespace()), fs, conf, info, htd, null); store = new HStore(region, hcd, conf); return store; http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java index dfffbd4..ed76b92 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileRefresherChore.java @@ -105,7 +105,9 @@ public class TestStoreFileRefresherChore { final Configuration walConf = new Configuration(conf); FSUtils.setRootDir(walConf, tableDir); final WALFactory wals = new WALFactory(walConf, null, "log_" + replicaId); - HRegion region = new HRegion(fs, wals.getWAL(info.getEncodedNameAsBytes()), conf, htd, null); + HRegion region = + new HRegion(fs, wals.getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace()), + conf, htd, null); region.initialize(); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestDurability.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestDurability.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestDurability.java index 9ac55bc..4e9c5ff 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestDurability.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestDurability.java @@ -84,7 +84,7 @@ public class TestDurability { public void testDurability() throws Exception { final WALFactory wals = new WALFactory(CONF, null, "TestDurability"); byte[] tableName = Bytes.toBytes("TestDurability"); - final WAL wal = wals.getWAL(tableName); + final WAL wal = wals.getWAL(tableName, null); HRegion region = createHRegion(tableName, "region", wal, Durability.USE_DEFAULT); HRegion deferredRegion = createHRegion(tableName, "deferredRegion", wal, Durability.ASYNC_WAL); @@ -147,7 +147,7 @@ public class TestDurability { // Setting up region final WALFactory wals = new WALFactory(CONF, null, "TestIncrement"); byte[] tableName = Bytes.toBytes("TestIncrement"); - final WAL wal = wals.getWAL(tableName); + final WAL wal = wals.getWAL(tableName, null); HRegion region = createHRegion(tableName, "increment", wal, Durability.USE_DEFAULT); // col1: amount = 1, 1 write back to WAL @@ -205,7 +205,7 @@ public class TestDurability { // Setting up region final WALFactory wals = new WALFactory(CONF, null, "testIncrementWithReturnResultsSetToFalse"); byte[] tableName = Bytes.toBytes("testIncrementWithReturnResultsSetToFalse"); - final WAL wal = wals.getWAL(tableName); + final WAL wal = wals.getWAL(tableName, null); HRegion region = createHRegion(tableName, "increment", wal, Durability.USE_DEFAULT); Increment inc1 = new Increment(row1); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java index 7f4ee80..bb840fe 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java @@ -192,7 +192,8 @@ public class TestLogRollAbort { TableName.valueOf(this.getClass().getName()); HRegionInfo regioninfo = new HRegionInfo(tableName, HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW); - final WAL log = wals.getWAL(regioninfo.getEncodedNameAsBytes()); + final WAL log = wals.getWAL(regioninfo.getEncodedNameAsBytes(), + regioninfo.getTable().getNamespace()); final AtomicLong sequenceId = new AtomicLong(1); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java index d0b4c05..68200d2 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java @@ -198,7 +198,7 @@ public class TestLogRolling { final Configuration conf = TEST_UTIL.getConfiguration(); final WALFactory wals = new WALFactory(conf, null, ServerName.valueOf("test.com",8080, 1).toString()); - final WAL newLog = wals.getWAL(new byte[]{}); + final WAL newLog = wals.getWAL(new byte[]{}, null); try { // Now roll the log before we write anything. newLog.rollWriter(true); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java index 4ca7aaf..fec2cc5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java @@ -65,7 +65,7 @@ public class TestLogRollingNoCluster { final Configuration conf = new Configuration(TEST_UTIL.getConfiguration()); FSUtils.setRootDir(conf, dir); final WALFactory wals = new WALFactory(conf, null, TestLogRollingNoCluster.class.getName()); - final WAL wal = wals.getWAL(new byte[]{}); + final WAL wal = wals.getWAL(new byte[]{}, null); Appender [] appenders = null; http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java index f90d1c5..d3aad03 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java @@ -90,7 +90,7 @@ public class TestWALActionsListener { final AtomicLong sequenceId = new AtomicLong(1); HRegionInfo hri = new HRegionInfo(TableName.valueOf(SOME_BYTES), SOME_BYTES, SOME_BYTES, false); - final WAL wal = wals.getWAL(hri.getEncodedNameAsBytes()); + final WAL wal = wals.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()); for (int i = 0; i < 20; i++) { byte[] b = Bytes.toBytes(i+""); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java index d6fb401..67d7894 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java @@ -200,7 +200,7 @@ public class TestReplicationSourceManager { listeners.add(replication); final WALFactory wals = new WALFactory(utility.getConfiguration(), listeners, URLEncoder.encode("regionserver:60020", "UTF8")); - final WAL wal = wals.getWAL(hri.getEncodedNameAsBytes()); + final WAL wal = wals.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()); final AtomicLong sequenceId = new AtomicLong(1); manager.init(); HTableDescriptor htd = new HTableDescriptor(); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationWALReaderManager.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationWALReaderManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationWALReaderManager.java index 7f57b39..b4eacc5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationWALReaderManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationWALReaderManager.java @@ -131,7 +131,7 @@ public class TestReplicationWALReaderManager { pathWatcher = new PathWatcher(); listeners.add(pathWatcher); final WALFactory wals = new WALFactory(conf, listeners, tn.getMethodName()); - log = wals.getWAL(info.getEncodedNameAsBytes()); + log = wals.getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace()); } @After http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java index 66167c8..aabec2b 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java @@ -269,7 +269,7 @@ public class TestMergeTool extends HBaseTestCase { // Close the region and delete the log HRegion.closeHRegion(regions[i]); } - WAL log = wals.getWAL(new byte[]{}); + WAL log = wals.getWAL(new byte[]{}, null); // Merge Region 0 and Region 1 HRegion merged = mergeAndVerify("merging regions 0 and 1 ", this.sourceRegions[0].getRegionNameAsString(), http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/IOTestProvider.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/IOTestProvider.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/IOTestProvider.java index e06a587..6b1ca03 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/IOTestProvider.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/IOTestProvider.java @@ -108,7 +108,7 @@ public class IOTestProvider implements WALProvider { } @Override - public WAL getWAL(final byte[] identifier) throws IOException { + public WAL getWAL(final byte[] identifier, byte[] namespace) throws IOException { return log; } http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.java index eadf31c..0991807 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.java @@ -171,7 +171,7 @@ public class TestBoundedRegionGroupingStrategy { int count = 0; // we know that this should see one of the wals more than once for (int i = 0; i < temp*8; i++) { - final WAL maybeNewWAL = wals.getWAL(Bytes.toBytes(random.nextInt())); + final WAL maybeNewWAL = wals.getWAL(Bytes.toBytes(random.nextInt()), null); LOG.info("Iteration " + i + ", checking wal " + maybeNewWAL); if (seen.add(maybeNewWAL)) { count++; http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestDefaultWALProvider.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestDefaultWALProvider.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestDefaultWALProvider.java index d52a304..edf03d6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestDefaultWALProvider.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestDefaultWALProvider.java @@ -197,7 +197,7 @@ public class TestDefaultWALProvider { HRegionInfo hri2 = new HRegionInfo(htd2.getTableName(), HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW); // we want to mix edits from regions, so pick our own identifier. - final WAL log = wals.getWAL(UNSPECIFIED_REGION); + final WAL log = wals.getWAL(UNSPECIFIED_REGION, null); // Add a single edit and make sure that rolling won't remove the file // Before HBASE-3198 it used to delete it @@ -264,7 +264,7 @@ public class TestDefaultWALProvider { localConf.set(WALFactory.WAL_PROVIDER, DefaultWALProvider.class.getName()); final WALFactory wals = new WALFactory(localConf, null, currentTest.getMethodName()); try { - final WAL wal = wals.getWAL(UNSPECIFIED_REGION); + final WAL wal = wals.getWAL(UNSPECIFIED_REGION, null); assertEquals(0, DefaultWALProvider.getNumRolledLogFiles(wal)); HRegionInfo hri1 = new HRegionInfo(table1.getTableName(), HConstants.EMPTY_START_ROW, @@ -350,10 +350,11 @@ public class TestDefaultWALProvider { final Set seen = new HashSet(1); final Random random = new Random(); assertTrue("first attempt to add WAL from default provider should work.", - seen.add(wals.getWAL(Bytes.toBytes(random.nextInt())))); + seen.add(wals.getWAL(Bytes.toBytes(random.nextInt()), null))); for (int i = 0; i < 1000; i++) { - assertFalse("default wal provider is only supposed to return a single wal, which should " + - "compare as .equals itself.", seen.add(wals.getWAL(Bytes.toBytes(random.nextInt())))); + assertFalse("default wal provider is only supposed to return a single wal, which should " + + "compare as .equals itself.", + seen.add(wals.getWAL(Bytes.toBytes(random.nextInt()), null))); } } finally { wals.close(); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestSecureWAL.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestSecureWAL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestSecureWAL.java index fda0786..41384aa 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestSecureWAL.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestSecureWAL.java @@ -93,7 +93,8 @@ public class TestSecureWAL { final AtomicLong sequenceId = new AtomicLong(1); // Write the WAL - final WAL wal = wals.getWAL(regioninfo.getEncodedNameAsBytes()); + final WAL wal = + wals.getWAL(regioninfo.getEncodedNameAsBytes(), regioninfo.getTable().getNamespace()); for (int i = 0; i < total; i++) { WALEdit kvs = new WALEdit(); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALFactory.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALFactory.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALFactory.java index 467c63d..bc2716a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALFactory.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALFactory.java @@ -185,7 +185,8 @@ public class TestWALFactory { final AtomicLong sequenceId = new AtomicLong(1); for (int ii = 0; ii < howmany; ii++) { for (int i = 0; i < howmany; i++) { - final WAL log = wals.getWAL(infos[i].getEncodedNameAsBytes()); + final WAL log = + wals.getWAL(infos[i].getEncodedNameAsBytes(), infos[i].getTable().getNamespace()); for (int j = 0; j < howmany; j++) { WALEdit edit = new WALEdit(); byte [] family = Bytes.toBytes("column"); @@ -246,7 +247,7 @@ public class TestWALFactory { null,null, false); HTableDescriptor htd = new HTableDescriptor(); htd.addFamily(new HColumnDescriptor(tableName.getName())); - final WAL wal = wals.getWAL(info.getEncodedNameAsBytes()); + final WAL wal = wals.getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace()); for (int i = 0; i < total; i++) { WALEdit kvs = new WALEdit(); @@ -361,7 +362,8 @@ public class TestWALFactory { HRegionInfo regioninfo = new HRegionInfo(tableName, HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW, false); - final WAL wal = wals.getWAL(regioninfo.getEncodedNameAsBytes()); + final WAL wal = + wals.getWAL(regioninfo.getEncodedNameAsBytes(), regioninfo.getTable().getNamespace()); final AtomicLong sequenceId = new AtomicLong(1); final int total = 20; @@ -498,7 +500,7 @@ public class TestWALFactory { } HRegionInfo info = new HRegionInfo(htd.getTableName(), row,Bytes.toBytes(Bytes.toString(row) + "1"), false); - final WAL log = wals.getWAL(info.getEncodedNameAsBytes()); + final WAL log = wals.getWAL(info.getEncodedNameAsBytes(), info.getTable().getNamespace()); final long txid = log.append(htd, info, new WALKey(info.getEncodedNameAsBytes(), htd.getTableName(), System.currentTimeMillis()), @@ -555,7 +557,7 @@ public class TestWALFactory { } HRegionInfo hri = new HRegionInfo(htd.getTableName(), HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW); - final WAL log = wals.getWAL(hri.getEncodedNameAsBytes()); + final WAL log = wals.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()); final long txid = log.append(htd, hri, new WALKey(hri.getEncodedNameAsBytes(), htd.getTableName(), System.currentTimeMillis()), cols, sequenceId, true, null); @@ -603,7 +605,7 @@ public class TestWALFactory { HRegionInfo hri = new HRegionInfo(tableName, HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW); - final WAL log = wals.getWAL(hri.getEncodedNameAsBytes()); + final WAL log = wals.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()); log.registerWALActionsListener(visitor); for (int i = 0; i < COL_COUNT; i++) { WALEdit cols = new WALEdit(); @@ -632,7 +634,7 @@ public class TestWALFactory { @Test public void testWALCoprocessorLoaded() throws Exception { // test to see whether the coprocessor is loaded or not. - WALCoprocessorHost host = wals.getWAL(UNSPECIFIED_REGION).getCoprocessorHost(); + WALCoprocessorHost host = wals.getWAL(UNSPECIFIED_REGION, null).getCoprocessorHost(); Coprocessor c = host.findCoprocessor(SampleRegionWALObserver.class.getName()); assertNotNull(c); } http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALMethods.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALMethods.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALMethods.java index 1f07a4c..63fe1a7 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALMethods.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALMethods.java @@ -86,7 +86,7 @@ public class TestWALMethods { final Configuration walConf = new Configuration(util.getConfiguration()); FSUtils.setRootDir(walConf, regiondir); - (new WALFactory(walConf, null, "dummyLogName")).getWAL(new byte[]{}); + (new WALFactory(walConf, null, "dummyLogName")).getWAL(new byte[] {}, null); NavigableSet files = WALSplitter.getSplitEditFilesSorted(fs, regiondir); assertEquals(7, files.size()); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALReaderOnSecureWAL.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALReaderOnSecureWAL.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALReaderOnSecureWAL.java index 5ba9b85..ca9c5d6 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALReaderOnSecureWAL.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALReaderOnSecureWAL.java @@ -108,7 +108,8 @@ public class TestWALReaderOnSecureWAL { final AtomicLong sequenceId = new AtomicLong(1); // Write the WAL - WAL wal = wals.getWAL(regioninfo.getEncodedNameAsBytes()); + WAL wal = + wals.getWAL(regioninfo.getEncodedNameAsBytes(), regioninfo.getTable().getNamespace()); for (int i = 0; i < total; i++) { WALEdit kvs = new WALEdit(); kvs.add(new KeyValue(row, family, Bytes.toBytes(i), value)); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplit.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplit.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplit.java index d2db4d1..8dfbfc9 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplit.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplit.java @@ -1073,7 +1073,7 @@ public class TestWALSplit { REGIONS.add(regionName); generateWALs(-1); - wals.getWAL(Bytes.toBytes(regionName)); + wals.getWAL(Bytes.toBytes(regionName), null); FileStatus[] logfiles = fs.listStatus(WALDIR); assertTrue("There should be some log file", logfiles != null && logfiles.length > 0); http://git-wip-us.apache.org/repos/asf/hbase/blob/2b84576e/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java index 28c68b3..64bf319 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/wal/WALPerformanceEvaluation.java @@ -485,7 +485,8 @@ public final class WALPerformanceEvaluation extends Configured implements Tool { // Initialize HRegion HRegionInfo regionInfo = new HRegionInfo(htd.getTableName()); // Initialize WAL - final WAL wal = wals.getWAL(regionInfo.getEncodedNameAsBytes()); + final WAL wal = + wals.getWAL(regionInfo.getEncodedNameAsBytes(), regionInfo.getTable().getNamespace()); // If we haven't already, attach a listener to this wal to handle rolls and metrics. if (walsListenedTo.add(wal)) { roller.addWAL(wal);