You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hadoop QA (JIRA)" <ji...@apache.org> on 2014/07/01 06:06:26 UTC
[jira] [Commented] (HBASE-4495) CatalogTracker has an identity
crisis; needs to be cut-back in scope
[ https://issues.apache.org/jira/browse/HBASE-4495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048490#comment-14048490 ]
Hadoop QA commented on HBASE-4495:
----------------------------------
{color:red}-1 overall{color}. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12653277/HBASE-4495-v5.patch
against trunk revision .
ATTACHMENT ID: 12653277
{color:green}+1 @author{color}. The patch does not contain any @author tags.
{color:green}+1 tests included{color}. The patch appears to include 132 new or modified tests.
{color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings.
{color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings.
{color:red}-1 javadoc{color}. The javadoc tool appears to have generated 5 warning messages.
{color:red}-1 findbugs{color}. The patch appears to introduce 13 new Findbugs (version 1.3.9) warnings.
{color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings.
{color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100:
+#org.apache.hadoop.hbase.mapreduce.TestTableInputFormatScan,org.apache.hadoop.hbase.catalog.TestMetaTableAccessorNoCluster,org.apache.hadoop.hbase.catalog.TestMetaTableAccessor,org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat,org.apache.hadoop.hbase.mapred.TestTableMapReduce,org.apache.hadoop.hbase.coprocessor.TestMasterCoprocessorExceptionWithAbort,org.apache.hadoop.hbase.coprocessor.TestMasterCoprocessorExceptionWithRemove,org.apache.hadoop.hbase.client.TestAdmin,org.apache.hadoop.hbase.master.TestMasterFailover,org.apache.hadoop.hbase.regionserver.wal.TestLogRolling,org.apache.hadoop.hbase.master.TestDistributedLogSplitting,org.apache.hadoop.hbase.master.TestMasterRestartAfterDisablingTable,org.apache.hadoop.hbase.TestGlobalMemStoreSize,
+ public static void removeRegionReplicasFromMeta(Set<byte[]> metaRows, int replicaIndexToDeleteFrom,
+ Pair<HRegionInfo, ServerName> pair = MetaTableAccessor.getRegion(connection, tableNameOrRegionName);
+ sb.append("\nRegion server holding hbase:meta: " + new MetaTableLocator().getMetaRegionLocation(zkw));
+ public DisableTableHandler(Server server, TableName tableName, AssignmentManager assignmentManager,
+ MetaTableAccessor.mergeRegions(server.getShortCircuitConnection(), mergedRegion.getRegionInfo(), region_a
+ mergeRegionsAndPutMetaEntries(server.getShortCircuitConnection(), mergedRegion.getRegionInfo(),
+ return HConnectionTestingUtility.getMockedConnectionAndDecorate(TESTUTIL.getConfiguration(),
+ return HConnectionTestingUtility.getMockedConnectionAndDecorate(TESTUTIL.getConfiguration(),
+ deleteOneReplicaLocation.deleteColumns(HConstants.CATALOG_FAMILY, MetaTableAccessor.getServerColumn(1));
{color:green}+1 site{color}. The mvn site goal succeeds with this patch.
{color:red}-1 core tests{color}. The patch failed these unit tests:
{color:red}-1 core zombie tests{color}. There are 1 zombie test(s): at org.apache.hadoop.hbase.master.TestMasterOperationsForRegionReplicas.testCreateTableWithSingleReplica(TestMasterOperationsForRegionReplicas.java:91)
Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/9906//console
This message is automatically generated.
> CatalogTracker has an identity crisis; needs to be cut-back in scope
> --------------------------------------------------------------------
>
> Key: HBASE-4495
> URL: https://issues.apache.org/jira/browse/HBASE-4495
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 0.94.0
> Reporter: stack
> Assignee: Mikhail Antonov
> Fix For: 0.99.0
>
> Attachments: HBASE-4495-v2.patch, HBASE-4495-v3.patch, HBASE-4495-v5.patch, HBASE-4495.patch, HBASE-4495.patch, HBASE-4495.patch, HBASE-4495.patch
>
>
> CT needs a good reworking. I'd suggest its scope be cut way down to only deal in zk transactions rather than zk and reading meta location in hbase (over an HConnection) and being a purveyor of HRegionInterfaces on meta and root servers and being an Abortable and a verifier of catalog locations. Once this is done, I would suggest it then better belongs over under the zk package and that the Meta* classes then move to client package.
> Here's some messy notes I added to head of CT class in hbase-3446 where I spent some time trying to make out what it was CT did.
> {code}
> // TODO: This class needs a rethink. The original intent was that it would be
> // the one-stop-shop for root and meta locations and that it would get this
> // info from reading and watching zk state. The class was to be used by
> // servers when they needed to know of root and meta movement but also by
> // client-side (inside in HTable) so rather than figure root and meta
> // locations on fault, the client would instead get notifications out of zk.
> //
> // But this original intent is frustrated by the fact that this class has to
> // read an hbase table, the -ROOT- table, to figure out the .META. region
> // location which means we depend on an HConnection. HConnection will do
> // retrying but also, it has its own mechanism for finding root and meta
> // locations (and for 'verifying'; it tries the location and if it fails, does
> // new lookup, etc.). So, at least for now, HConnection (or HTable) can't
> // have a CT since CT needs a HConnection (Even then, do want HT to have a CT?
> // For HT keep up a session with ZK? Rather, shouldn't we do like asynchbase
> // where we'd open a connection to zk, read what we need then let the
> // connection go?). The 'fix' is make it so both root and meta addresses
> // are wholey up in zk -- not in zk (root) -- and in an hbase table (meta).
> //
> // But even then, this class does 'verification' of the location and it does
> // this by making a call over an HConnection (which will do its own root
> // and meta lookups). Isn't this verification 'useless' since when we
> // return, whatever is dependent on the result of this call then needs to
> // use HConnection; what we have verified may change in meantime (HConnection
> // uses the CT primitives, the root and meta trackers finding root locations).
> //
> // When meta is moved to zk, this class may make more sense. In the
> // meantime, it does not cohere. It should just watch meta and root and
> // NOT do verification -- let that be out in HConnection since its going to
> // be done there ultimately anyways.
> //
> // This class has spread throughout the codebase. It needs to be reigned in.
> // This class should be used server-side only, even if we move meta location
> // up into zk. Currently its used over in the client package. Its used in
> // MetaReader and MetaEditor classes usually just to get the Configuration
> // its using (It does this indirectly by asking its HConnection for its
> // Configuration and even then this is just used to get an HConnection out on
> // the other end). St.Ack 10/23/2011.
> //
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)