This is an automated email from the ASF dual-hosted git repository. bharathv pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/hbase.git.
from 3168cf2 HBASE-23877 [Flakey Test] TestStochasticLoadBalancerRegionReplicaHighReplication "Two or more region replicas are hosted on the same host after balance" new 3d298b0 HBASE-23275: Track active master's address in ActiveMasterManager (#812) new 8126566 HBASE-23281: Track meta region locations in masters (#830) new 023078f HBASE-23304: RPCs needed for client meta information lookup (#904) new 0a1c3b2 HBASE-23604: Clarify AsyncRegistry usage in the code. (#957) new 7162c02 HBASE-23648: Re-use underlying connection registry in RawAsyncHBaseAdmin (#994) new 1aa6a4e HBASE-23305: Master based registry implementation (#954) new d8b3f55 HBASE-23330: Fix delegation token fetch with MasterRegistry (#1084) new 229b8aa HBASE-23647: Make MasterRegistry the default impl. (#1039) new 5c88672 HBASE-23731: De-flake TestFromClientSide (#1091) new 02bd0ec HBASE-23752: Fix remaining test failures from nightly runs (#1102) new c34dbc3 HBASE-23804: Fix default master addr hostname in master registry (#1137) new fe0d49b HBASE-23331: Documentation for HBASE-18095 The 12 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: ...95-Zookeeper-less-client-connection-design.adoc | 112 + .../hadoop/hbase/client/AsyncConnectionImpl.java | 21 +- .../hbase/client/AsyncMetaRegionLocator.java | 6 +- .../hbase/client/AsyncTableRegionLocatorImpl.java | 2 +- .../org/apache/hadoop/hbase/client/Connection.java | 5 + .../hadoop/hbase/client/ConnectionFactory.java | 2 +- .../client/ConnectionOverAsyncConnection.java | 5 + ...{AsyncRegistry.java => ConnectionRegistry.java} | 13 +- ...Factory.java => ConnectionRegistryFactory.java} | 22 +- .../apache/hadoop/hbase/client/MasterRegistry.java | 246 + .../hadoop/hbase/client/RawAsyncHBaseAdmin.java | 121 +- ...syncRegistry.java => ZKConnectionRegistry.java} | 18 +- .../replication/ReplicationPeerConfigUtil.java | 1 - .../exceptions/MasterRegistryFetchException.java | 32 +- .../apache/hadoop/hbase/ipc/AbstractRpcClient.java | 54 +- .../apache/hadoop/hbase/ipc/BlockingRpcClient.java | 7 +- .../apache/hadoop/hbase/ipc/HedgedRpcChannel.java | 274 ++ .../apache/hadoop/hbase/ipc/NettyRpcClient.java | 34 +- .../org/apache/hadoop/hbase/ipc/RpcClient.java | 19 +- .../apache/hadoop/hbase/security/SecurityInfo.java | 2 + .../hadoop/hbase/shaded/protobuf/ProtobufUtil.java | 46 +- .../apache/hadoop/hbase/zookeeper/ZNodePaths.java | 19 +- ...istry.java => DoNothingConnectionRegistry.java} | 8 +- .../hbase/client/TestAsyncAdminRpcPriority.java | 2 +- .../client/TestAsyncMetaRegionLocatorFailFast.java | 10 +- .../hbase/client/TestAsyncTableRpcPriority.java | 2 +- ...ryLeak.java => TestConnectionRegistryLeak.java} | 15 +- .../apache/hadoop/hbase/HBaseConfiguration.java | 13 +- .../java/org/apache/hadoop/hbase/HConstants.java | 24 +- .../java/org/apache/hadoop/hbase/util/DNS.java | 53 + .../apache/hadoop/hbase/util/PrettyPrinter.java | 23 +- .../apache/hadoop/hbase/HBaseClassTestRule.java | 84 +- .../org/apache/hadoop/hbase/TableNameTestRule.java | 16 +- .../hadoop/hbase/TestHBaseClassTestRule.java | 145 + .../mapreduce/TestMultiTableInputFormatBase.java | 6 + .../hbase/mapreduce/TestTableInputFormatBase.java | 5 + .../src/main/protobuf/Master.proto | 44 + .../org/apache/hadoop/hbase/LocalHBaseCluster.java | 43 +- .../hbase/client/AsyncClusterConnectionImpl.java | 4 +- .../hbase/client/ClusterConnectionFactory.java | 2 +- .../hadoop/hbase/client/SharedConnection.java | 5 + .../hadoop/hbase/master/ActiveMasterManager.java | 69 +- .../org/apache/hadoop/hbase/master/HMaster.java | 50 +- .../hadoop/hbase/master/MasterRpcServices.java | 86 +- .../hbase/master/MetaRegionLocationCache.java | 249 + .../hadoop/hbase/regionserver/HRegionServer.java | 26 +- .../hadoop/hbase/regionserver/RSRpcServices.java | 22 +- .../compactions/DateTieredCompactionPolicy.java | 4 +- .../compactions/RatioBasedCompactionPolicy.java | 4 +- .../hadoop/hbase/security/HBasePolicyProvider.java | 2 + .../hadoop/hbase/security/token/TokenUtil.java | 29 +- .../apache/hadoop/hbase/util/ConnectionCache.java | 13 + .../apache/hadoop/hbase/util/JVMClusterUtil.java | 7 + .../apache/hadoop/hbase/HBaseTestingUtility.java | 34 +- .../org/apache/hadoop/hbase/MiniClusterRule.java | 7 + .../org/apache/hadoop/hbase/MiniHBaseCluster.java | 20 +- .../hadoop/hbase/StartMiniClusterOption.java | 28 +- .../example/TestZooKeeperTableArchiveClient.java | 18 +- .../hbase/client/AbstractTestRegionLocator.java | 6 +- ...cRegistry.java => DummyConnectionRegistry.java} | 12 +- .../hbase/client/RegionReplicaTestHelper.java | 28 +- .../hadoop/hbase/client/TestAsyncAdminBase.java | 5 +- .../hbase/client/TestAsyncAdminMasterSwitch.java | 2 - .../client/TestAsyncAdminWithRegionReplicas.java | 5 +- .../hbase/client/TestAsyncMetaRegionLocator.java | 7 +- .../client/TestAsyncNonMetaRegionLocator.java | 3 +- ...stAsyncNonMetaRegionLocatorConcurrenyLimit.java | 3 +- .../hbase/client/TestAsyncRegionLocator.java | 3 +- .../TestAsyncSingleRequestRpcRetryingCaller.java | 3 +- .../client/TestAsyncTableUseMetaReplicas.java | 4 +- .../hadoop/hbase/client/TestClientTimeouts.java | 18 +- .../apache/hadoop/hbase/client/TestConnection.java | 3 + .../hadoop/hbase/client/TestFromClientSide.java | 420 +- .../client/TestFromClientSideWithCoprocessor.java | 21 +- .../hadoop/hbase/client/TestMasterRegistry.java | 126 + .../hbase/client/TestMetaRegionLocationCache.java | 184 + .../hadoop/hbase/client/TestMetaWithReplicas.java | 5 +- .../hbase/client/TestReplicaWithCluster.java | 7 +- .../hadoop/hbase/client/TestReplicasClient.java | 7 +- .../hbase/client/TestScannersFromClientSide.java | 136 +- ...Registry.java => TestZKConnectionRegistry.java} | 22 +- .../apache/hadoop/hbase/ipc/AbstractTestIPC.java | 120 +- .../hbase/ipc/TestProtobufRpcServiceImpl.java | 25 +- .../hadoop/hbase/ipc/TestRpcClientLeaks.java | 30 +- .../hadoop/hbase/master/AlwaysStandByHMaster.java | 101 + .../hbase/master/TestActiveMasterManager.java | 10 + .../hbase/master/TestAlwaysStandByHMaster.java | 67 + .../hbase/master/TestClientMetaServiceRPCs.java | 164 + .../hbase/master/TestCloseAnOpeningRegion.java | 5 +- .../hbase/master/TestClusterRestartFailover.java | 2 +- .../TestMasterOperationsForRegionReplicas.java | 16 +- .../hbase/master/TestMigrateNamespaceTable.java | 9 +- .../master/TestRegionsRecoveryConfigManager.java | 5 +- .../hbase/master/TestShutdownBackupMaster.java | 3 +- .../assignment/TestOpenRegionProcedureBackoff.java | 3 +- .../assignment/TestOpenRegionProcedureHang.java | 2 +- .../TestRegionAssignedToMultipleRegionServers.java | 3 +- .../assignment/TestRegionMoveAndAbandon.java | 1 + .../hbase/master/assignment/TestRegionSplit.java | 1 + .../assignment/TestReportOnlineRegionsRace.java | 3 +- ...tReportRegionStateTransitionFromDeadServer.java | 3 +- .../TestReportRegionStateTransitionRetry.java | 3 +- .../master/assignment/TestSCPGetRegionsRace.java | 3 +- .../assignment/TestWakeUpUnexpectedProcedure.java | 3 +- .../TestRegisterPeerWorkerWhenRestarting.java | 3 +- .../hbase/namespace/TestNamespaceAuditor.java | 23 +- .../hadoop/hbase/protobuf/TestProtobufUtil.java | 36 +- .../hadoop/hbase/regionserver/MockHStoreFile.java | 5 +- .../regionserver/TestRSKilledWhenInitializing.java | 5 +- .../regionserver/TestRegionServerHostname.java | 15 +- .../regionserver/TestRegionServerNoMaster.java | 4 +- .../TestRegionServerReportForDuty.java | 2 +- .../TestSplitTransactionOnCluster.java | 8 +- .../hbase/replication/TestReplicationBase.java | 27 +- .../TestReplicationDisableInactivePeer.java | 4 +- .../replication/TestReplicationDroppedTables.java | 31 +- .../replication/TestReplicationProcedureRetry.java | 3 +- .../TestReplicationStatusAfterLagging.java | 2 +- ...licationStatusBothNormalAndRecoveryLagging.java | 2 +- ...ationStatusSourceStartedTargetStoppedNewOp.java | 2 +- ...ationStatusSourceStartedTargetStoppedNoOps.java | 2 +- ...atusSourceStartedTargetStoppedWithRecovery.java | 2 +- .../replication/TestReplicationSyncUpTool.java | 18 +- .../replication/TestReplicationSyncUpToolBase.java | 31 +- ...estReplicationSyncUpToolWithBulkLoadedData.java | 8 +- ...stRegionReplicaReplicationEndpointNoMaster.java | 5 +- .../regionserver/TestWALEntrySinkFilter.java | 19 +- .../TestSnapshotScannerHDFSAclController.java | 6 +- .../TestCustomSaslAuthenticationProvider.java | 92 +- .../token/TestDelegationTokenWithEncryption.java | 8 +- .../token/TestGenerateDelegationToken.java | 8 +- .../security/token/TestTokenAuthentication.java | 5 + .../hbase/thrift/ThriftHBaseServiceHandler.java | 5 + .../hbase/thrift/generated/AlreadyExists.java | 2 +- .../hbase/thrift/generated/BatchMutation.java | 2 +- .../hbase/thrift/generated/ColumnDescriptor.java | 2 +- .../hadoop/hbase/thrift/generated/Hbase.java | 769 ++- .../hadoop/hbase/thrift/generated/IOError.java | 2 +- .../hbase/thrift/generated/IllegalArgument.java | 2 +- .../hadoop/hbase/thrift/generated/Mutation.java | 2 +- .../hadoop/hbase/thrift/generated/TAppend.java | 2 +- .../hadoop/hbase/thrift/generated/TCell.java | 2 +- .../hadoop/hbase/thrift/generated/TColumn.java | 2 +- .../hadoop/hbase/thrift/generated/TIncrement.java | 2 +- .../hadoop/hbase/thrift/generated/TRegionInfo.java | 2 +- .../hadoop/hbase/thrift/generated/TRowResult.java | 2 +- .../hadoop/hbase/thrift/generated/TScan.java | 2 +- .../hbase/thrift/generated/TThriftServerType.java | 2 +- .../hbase/thrift2/ThriftHBaseServiceHandler.java | 5 + .../hbase/thrift2/client/ThriftConnection.java | 23 +- .../hadoop/hbase/thrift2/generated/TAppend.java | 2 +- .../hbase/thrift2/generated/TAuthorization.java | 2 +- .../hbase/thrift2/generated/TBloomFilterType.java | 2 +- .../hbase/thrift2/generated/TCellVisibility.java | 2 +- .../hadoop/hbase/thrift2/generated/TColumn.java | 2 +- .../thrift2/generated/TColumnFamilyDescriptor.java | 2 +- .../hbase/thrift2/generated/TColumnIncrement.java | 2 +- .../hbase/thrift2/generated/TColumnValue.java | 2 +- .../hbase/thrift2/generated/TCompareOperator.java | 2 +- .../thrift2/generated/TCompressionAlgorithm.java | 2 +- .../hbase/thrift2/generated/TConsistency.java | 2 +- .../thrift2/generated/TDataBlockEncoding.java | 2 +- .../hadoop/hbase/thrift2/generated/TDelete.java | 2 +- .../hbase/thrift2/generated/TDeleteType.java | 2 +- .../hbase/thrift2/generated/TDurability.java | 2 +- .../hadoop/hbase/thrift2/generated/TGet.java | 2 +- .../hbase/thrift2/generated/THBaseService.java | 5163 +++++++++++--------- .../hbase/thrift2/generated/THRegionInfo.java | 2 +- .../hbase/thrift2/generated/THRegionLocation.java | 2 +- .../hadoop/hbase/thrift2/generated/TIOError.java | 2 +- .../hbase/thrift2/generated/TIllegalArgument.java | 2 +- .../hadoop/hbase/thrift2/generated/TIncrement.java | 2 +- .../hbase/thrift2/generated/TKeepDeletedCells.java | 2 +- .../hadoop/hbase/thrift2/generated/TMutation.java | 2 +- .../thrift2/generated/TNamespaceDescriptor.java | 2 +- .../hadoop/hbase/thrift2/generated/TPut.java | 2 +- .../hadoop/hbase/thrift2/generated/TReadType.java | 2 +- .../hadoop/hbase/thrift2/generated/TResult.java | 2 +- .../hbase/thrift2/generated/TRowMutations.java | 2 +- .../hadoop/hbase/thrift2/generated/TScan.java | 2 +- .../hbase/thrift2/generated/TServerName.java | 2 +- .../hbase/thrift2/generated/TTableDescriptor.java | 2 +- .../hadoop/hbase/thrift2/generated/TTableName.java | 2 +- .../hbase/thrift2/generated/TThriftServerType.java | 2 +- .../hadoop/hbase/thrift2/generated/TTimeRange.java | 2 +- .../org/apache/hadoop/hbase/thrift/Hbase.thrift | 5 + .../org/apache/hadoop/hbase/thrift2/hbase.thrift | 5 + .../hadoop/hbase/thrift2/TestThriftConnection.java | 19 +- .../hadoop/hbase/zookeeper/MetaTableLocator.java | 36 +- .../apache/hadoop/hbase/zookeeper/ZKWatcher.java | 37 +- src/main/asciidoc/_chapters/architecture.adoc | 82 +- src/main/asciidoc/_chapters/configuration.adoc | 61 +- src/main/asciidoc/_chapters/troubleshooting.adoc | 11 + 193 files changed, 7387 insertions(+), 3151 deletions(-) create mode 100644 dev-support/design-docs/HBASE-18095-Zookeeper-less-client-connection-design.adoc rename hbase-client/src/main/java/org/apache/hadoop/hbase/client/{AsyncRegistry.java => ConnectionRegistry.java} (77%) rename hbase-client/src/main/java/org/apache/hadoop/hbase/client/{AsyncRegistryFactory.java => ConnectionRegistryFactory.java} (67%) create mode 100644 hbase-client/src/main/java/org/apache/hadoop/hbase/client/MasterRegistry.java rename hbase-client/src/main/java/org/apache/hadoop/hbase/client/{ZKAsyncRegistry.java => ZKConnectionRegistry.java} (92%) copy hbase-common/src/main/java/org/apache/hadoop/hbase/exceptions/UnexpectedStateException.java => hbase-client/src/main/java/org/apache/hadoop/hbase/exceptions/MasterRegistryFetchException.java (61%) create mode 100644 hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/HedgedRpcChannel.java rename hbase-client/src/test/java/org/apache/hadoop/hbase/client/{DoNothingAsyncRegistry.java => DoNothingConnectionRegistry.java} (89%) rename hbase-client/src/test/java/org/apache/hadoop/hbase/client/{TestAsyncRegistryLeak.java => TestConnectionRegistryLeak.java} (82%) create mode 100644 hbase-common/src/test/java/org/apache/hadoop/hbase/TestHBaseClassTestRule.java create mode 100644 hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetaRegionLocationCache.java rename hbase-server/src/test/java/org/apache/hadoop/hbase/client/{DummyAsyncRegistry.java => DummyConnectionRegistry.java} (80%) create mode 100644 hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMasterRegistry.java create mode 100644 hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaRegionLocationCache.java rename hbase-server/src/test/java/org/apache/hadoop/hbase/client/{TestZKAsyncRegistry.java => TestZKConnectionRegistry.java} (87%) create mode 100644 hbase-server/src/test/java/org/apache/hadoop/hbase/master/AlwaysStandByHMaster.java create mode 100644 hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAlwaysStandByHMaster.java create mode 100644 hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestClientMetaServiceRPCs.java