[
https://issues.apache.org/jira/browse/HBASE-4495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14051077#comment-14051077
]
Hudson commented on HBASE-4495:
-------------------------------
SUCCESS: Integrated in HBase-1.0 #7 (See
[https://builds.apache.org/job/HBase-1.0/7/])
HBASE-4495 CatalogTracker has an identity crisis; needs to be cut-back in scope
(Mikhail Antonov) (stack: rev 24a0a2a2bf17234fb391c27fc9da051c721e4b08)
*
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZooKeeperRegistry.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationConvertingToPB.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/MockRegionServerServices.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/migration/NamespaceUpgrade.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicas.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRebuildTestCore.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/util/MockServer.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsckRepair.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileLinkCleaner.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ModifyTableHandler.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSyncUp.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/MetaMockingUtil.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClockSkewDetection.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStateStore.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityController.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestHFileCleaner.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/Server.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/security/token/TestTokenAuthentication.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/CloneSnapshotHandler.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManagerOnCluster.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/TruncateTableHandler.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/RackManager.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateZKImpl.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHeapMemoryManager.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/TableEventHandler.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.java
* bin/region_mover.rb
* hbase-client/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaMigrationConvertingToPB.java
* dev-support/hbasetests.sh
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
* hbase-server/src/main/resources/hbase-webapps/master/table.jsp
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/MetaServerShutdownHandler.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMaster.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/util/HMerge.java
*
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreSnapshotHelper.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeAssignmentHelper.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaScanner.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableNamespaceManager.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/AccessController.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManager.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/catalog/TestCatalogTracker.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnection.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
*
hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/MetaRegionTracker.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerObserver.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java
HBASE-4495 CatalogTracker has an identity crisis; needs to be cut-back in scope
(Mikhail Antonov) (stack: rev 3b2de6233b246d23e529c7e05b96dbc976c3c060)
* hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableLocator.java
*
hbase-server/src/main/java/org/apache/hadoop/hbase/MetaMigrationConvertingToPB.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaMigrationConvertingToPB.java
* hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
*
hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/MetaTableLocator.java
*
hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessorNoCluster.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/MetaMockingUtil.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
> 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
> Labels: 1.0.0
> Fix For: 0.99.0, 2.0.0
>
> Attachments: HBASE-4495-v2.patch, HBASE-4495-v3.patch,
> HBASE-4495-v5.patch, HBASE-4495-v5.patch, HBASE-4495-v6.patch,
> HBASE-4495-v7.patch, HBASE-4495-v7.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)