Commit Graph

2596 Commits

Author SHA1 Message Date
Duo Zhang 28d81ae44f
HBASE-26174 Make rpc connection registry the default registry on 3.0.0 (#3600)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2021-08-20 15:35:07 +08:00
Duo Zhang c8d9d4df80
HBASE-26172 Deprecated MasterRegistry (#3566)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2021-08-19 16:16:35 +08:00
Duo Zhang 63d4970de4
HBASE-26150 Let region server also carry ClientMetaService (#3550)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2021-08-04 23:44:10 +08:00
GeorryHuang 8ae394285a
HBASE-26091 Remove FirstKeyValueMatchingQualifiersFilter (#3497)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-07-25 21:12:20 +08:00
meiyi 9e27de6aed
HBASE-24734 RegionInfo#containsRange should support check meta table (#3496)
Signed-off-by: zhangduo <zhangduo@apache.org>
2021-07-22 16:07:52 +08:00
Duo Zhang 16721239e7
HBASE-26100 Set version as 3.0.0-alpha-2-SNAPSHOT in master (#3508)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-07-20 23:04:08 +08:00
Aman Poonia 0f313176be
HBASE-25986 set default value of normalization enabled from hbase site (#3372)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-07-19 15:25:36 +05:30
Duo Zhang d30cc27097
HBASE-26081 Copy HBTU to hbase-testing-util, rename the HBTU related classes in hbase-server and mark them as IA.LimitedPrivate (#3478)
Signed-off-by: Michael Stack <stack@apache.org>
2021-07-19 09:29:08 +08:00
Duo Zhang 83d1bf1667
HBASE-26090 Remove the deprecated methods in Scan which should be removed in 3.0.0 (#3493)
Signed-off-by: Yi Mei <myimeiyi@gmail.com>
Signed-off-by: Anoop Sam John <anoopsamjohn@apache.org>
2021-07-16 22:27:22 +08:00
mokai bb84892550
HBASE-25700 Enhance znode parent validation when add_peer (#3458)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
2021-07-11 20:45:25 +08:00
Duo Zhang 5118321ec9
HBASE-26059 Set version as 3.0.0-alpha-1 in master in prep for first RC of 3.0.0-alpha-1 (#3453)
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
2021-07-02 07:50:41 +08:00
Viraj Jasani 4c7da496ad
HBASE-25902 Add missing CFs in meta during HBase 1 to 2 Upgrade (#3441) (#3417)
Signed-off-by: Michael Stack <stack@apache.org>
2021-07-01 15:13:25 +05:30
GeorryHuang e6eb65733a
HBASE-26015 Should implement getRegionServers(boolean) method in Asyn… (#3406)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-06-27 21:58:18 +08:00
belugabehr d44292ac1a
HBASE-25937: Clarify UnknownRegionException (#3330)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-06-22 22:36:30 +08:00
niuyulin 7466e08aec
HBASE-26008 Fix typo in AsyncConnectionImpl (#3391)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-06-16 19:00:03 +08:00
GeorryHuang 40a3d57628
HBASE-22708 Remove the deprecated methods in Hbck interface (#3362)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-06-08 09:33:08 +08:00
xijiawen 426c3c16f3
HBASE-25799 add clusterReadRequests and clusterWriteRequests jmx (#3188)
* HBASE-25799 add clusterReadRequests and clusterWriteRequests jmx

Co-authored-by: stevenxi <stevenxi@tencent.com>
2021-06-03 15:48:03 +08:00
Andrew Purtell 335305e0cf
HBASE-25911 Replace calls to System.currentTimeMillis with EnvironmentEdgeManager.currentTime (#3302)
We introduced EnvironmentEdgeManager as a way to inject alternate clocks
for unit tests. In order for this to be effective, all callers that would
otherwise use System.currentTimeMillis() must call
EnvironmentEdgeManager.currentTime() instead, except the implementers of
EnvironmentEdge.

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-06-01 09:57:48 -07:00
Anoop Sam John 1ccba10847
HBASE-25903 ReadOnlyZKClient APIs - CompletableFuture.get() calls can cause threads to hang forver when ZK client create throws Non IOException (#3293)
Signed-off-by: zhangduo <zhangduo@apache.org>
2021-05-31 11:37:40 +05:30
Bharath Vissapragada 528f543e23
HBASE-25942: Get rid of null regioninfo in wrapped connection exceptions (#3337)
Reviewed-by: Tamanna Mehta
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-30 21:06:57 -07:00
Rahul Kumar 560297d189
HBASE-25651 NORMALIZER_TARGET_REGION_SIZE needs a unit in its name (#3063)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Baiqiang Zhao <ZhaoBQ>
2021-05-28 19:32:22 +08:00
Baiqiang Zhao a1177b3e91
HBASE-25682 Add a new command to update the configuration of all RSs in a RSGroup (#3080)
* HBASE-25682 Add a new command to update the configuration of all RSs in a RSGroup

Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
2021-05-21 22:49:25 +05:30
Duo Zhang 741b4b4674
HBASE-25032 Do not assign regions to region server which has not called regionServerReport yet (#3268)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2021-05-18 08:08:03 +08:00
GeorryHuang 00fec24c90
HBASE-25790 NamedQueue 'BalancerRejection' for recent history of balancer skipping (#3182)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-02 21:30:48 +05:30
Duo Zhang f36e153964 HBASE-25778 The tracinig implementation for AsyncConnectionImpl.getHbck is incorrect (#3165)
Signed-off-by: meiyi <myimeiyi@gmail.com>
2021-04-25 09:23:23 +08:00
Duo Zhang 8d68f8cd1c HBASE-25617 Revisit the span names (#2998)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang f6ff519dd0 HBASE-25591 Upgrade opentelemetry to 0.17.1 (#2971)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang bb8c4967f8 HBASE-25535 Set span kind to CLIENT in AbstractRpcClient (#2907)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang 03e12bfa4a HBASE-25455 Add trace support for HRegion read/write operation (#2861)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang ae2c62ffaa HBASE-25481 Add host and port attribute when tracing rpc call at client side (#2857)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang dcb78bd4bd HBASE-25454 Add trace support for connection registry (#2828)
Signed-off-by: stack <stack@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang 805b2ae2ad HBASE-23898 Add trace support for simple apis in async client (#2813)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang 2420286715 HBASE-25401 Add trace support for async call in rpc client (#2790)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2021-04-25 09:23:23 +08:00
Duo Zhang 302d9ea8b8 HBASE-25373 Remove HTrace completely in code base and try to make use of OpenTelemetry
Signed-off-by: stack <stack@apache.org>
2021-04-25 09:23:23 +08:00
Andrew Purtell 9895b2dfdf
HBASE-25756 Support alternate compression for major and minor compactions (#3142)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-04-23 15:45:26 -07:00
ZhiChen c5b0989d22
HBASE-25762 Improvement for some debug-logging guards (#3145)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-04-13 23:03:55 +08:00
Andrew Purtell 8ba9034511
HBASE-25750 Upgrade RpcControllerFactory and HBaseRpcController from Private to LimitedPrivate(COPROC,PHOENIX) (#3136)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2021-04-08 17:52:40 -07:00
stack f9819f33b6 HBASE-25735 Add target Region to connection exceptions
Restore API for Phoenix (though it shouldn't be using
Private classes).
2021-04-08 13:41:00 -07:00
stack f4e123630d HBASE-25735 Add target Region to connection exceptions
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2021-04-06 18:19:46 -07:00
Toshihiro Suzuki 46f7d9dd4b
HBASE-25703 Support conditional update in MultiRowMutationEndpoint (#3098)
Signed-off-by: Michael Stack <stack@apache.org>
2021-03-30 09:18:56 +09:00
mokai 60dde9a433
HBASE-25705 Convert proto to RSGroupInfo is costly (#3102)
Signed-off-by: stack <stack@apache.org>
2021-03-29 11:59:04 -07:00
Duo Zhang ba3610d097
HBASE-19577 Use log4j2 instead of log4j for logging (#1708)
Signed-off-by: stack <stack@apache.org>
2021-03-20 09:21:25 +08:00
Toshihiro Suzuki f4059907e2
HBASE-25678 Support nonce operations for Increment/Append in RowMutations and CheckAndMutate (#3064)
Signed-off-by: stack <stack@apache.org>
2021-03-19 21:25:40 +09:00
Catalin Luca 3ebb97807e
HBASE-25674 - RegionInfo.parseFrom(DataInputStream) sometimes fails to read the protobuf magic marker (#3062)
Co-authored-by: Catalin Luca <luca@adobe.com>
Signed-off-by: stack <stack@apache.org>
2021-03-18 11:56:04 -07:00
bitterfox ebb0adf500
HBASE-25665 Option to use hostname instead of canonical hostname for secure HBase cluster connection (#3051) 2021-03-16 21:04:25 -07:00
shahrs87 7386fb6e1f
HBASE-25622 Result#compareResults should compare tags. (#3026)
Signed-off-by: stack <stack@apache.org>
2021-03-11 21:51:07 -08:00
Peter Somogyi 0cc1ae48ed
HBASE-25587 [hbck2] Schedule SCP for all unknown servers (#2978)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2021-03-11 17:20:36 +01:00
Wellington Ramos Chevreuil 373dc7788d
HBASE-25548 Optionally allow snapshots to preserve cluster's max file… (#2923)
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-03-10 10:20:10 +00:00
Anoop Sam John 53128fe7c1
HBASE-25644 Scan#setSmall blindly sets ReadType as PREAD
Signed-off-by: zhangduo <zhangduo@apache.org>
Signed-off-by: Ramkrishna <ramkrishna@apache.org>
2021-03-08 12:44:07 +05:30
lidingshengHHU a4eb1aaf77
HBASE-25421 There is no limit on the column length when creating a table (#2796)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-03-03 14:42:39 +08:00
XinSun 8d0de96976
HBASE-25590 Bulkload replication HFileRefs cannot be cleared in some cases where set exclude-namespace/exclude-table-cfs (#2969)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2021-02-26 09:50:23 +08:00
Toshihiro Suzuki 5fa15cfde3
HBASE-25575 Should validate Puts in RowMutations (#2954)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-02-22 10:46:16 +09:00
Baiqiang Zhao ca672aceee
HBASE-25519 BLOCKSIZE needs to support pretty print (#2894)
Signed-off-by: stack <stack@apache.org>
2021-02-08 13:22:45 -08:00
Baiqiang Zhao e8775060dd
HBASE-25533 The metadata of the table and family should not be an empty string (#2906)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
2021-01-29 20:57:31 +05:30
Baiqiang Zhao 0b0cdcac53
HBASE-25522 Remove deprecated methods in ReplicationPeerConfig (#2898)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-01-24 21:07:03 +05:30
huaxiangsun 5c13c68494
HBASE-25368 Filter out more invalid encoded name in isEncodedRegionNa… (#2868)
HBASE-25368 Filter out more invalid encoded name in isEncodedRegionName(byte[] regionName)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-01-20 09:04:50 -08:00
Baiqiang Zhao 3d34623163
HBASE-25439 Add BYTE unit in PrettyPrinter.Unit (addendum) (#2841)
Signed-off-by: stack <stack@apache.org>
2021-01-14 21:45:08 -08:00
Duo Zhang 8a0b023023
HBASE-25457 Possible race in AsyncConnectionImpl between getChoreServ… (#2839)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-01-04 23:30:32 +08:00
Baiqiang Zhao 8ecfcede96
HBASE-25439 Add BYTE unit in PrettyPrinter.Unit (#2812)
Signed-off-by: stack <stack@apache.org>
2021-01-03 09:34:00 -08:00
Duo Zhang fbf00f9c28
HBASE-25451 Upgrade commons-io to 2.8.0 (#2825)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
Signed-off-by: stack <stack@apache.org>
2020-12-31 16:57:27 +08:00
Duo Zhang 55a4eca9e6
HBASE-25452 Use MatcherAssert.assertThat instead of org.junit.Assert.assertThat (#2826)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2020-12-30 09:47:56 +08:00
Michael Stack 56f1dbd116
HBASE-25425 Some notes on RawCell (#2797)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-12-21 08:08:22 -08:00
scotthunt 904b555edc HBASE-25084 Add "regexstringnocase" to ParseFilter for case-insensitivity (#2784)
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2020-12-21 08:44:33 +00:00
Wellington Chevreuil d13010fa26 Revert "[PATCH] Add "regexstringnocase" to ParseFilter for case-insensitivity (#2784)"
Will re-commit with the proper jira ID

This reverts commit 51cee0016f.
2020-12-21 08:41:52 +00:00
scotthunt 51cee0016f
[PATCH] Add "regexstringnocase" to ParseFilter for case-insensitivity (#2784)
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2020-12-21 08:39:13 +00:00
Duo Zhang 1540b89cee
HBASE-25420 Some minor improvements in rpc implementation (#2792)
Signed-off-by: XinSun <ddupgs@gmail.com>
Signed-off-by: stack <stack@apache.com>
2020-12-20 11:26:36 +08:00
Duo Zhang 33441f540a Revert "HBASE-25368 Filter out more invalid encoded name in isEncodedRegionName(byte[] regionName) (#2753)"
This reverts commit c327680125.
2020-12-19 20:28:30 +08:00
Sandeep Pal f600856a3b
HBASE-25383: Ability to update and remove peer base config
Closes #2778

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-12-18 14:19:17 +05:30
shahrs87 74d68180e6
HBASE-25246 Backup/Restore hbase cell tags
Closes #2745

Signed-off-by: Anoop Sam John <anoopsamjohn@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-12-16 18:52:36 +05:30
huaxiangsun c327680125
HBASE-25368 Filter out more invalid encoded name in isEncodedRegionName(byte[] regionName) (#2753)
Signed-off-by: stack <stack@apache.com>
2020-12-15 21:52:54 -08:00
huaxiangsun 1c217da2ff
HBASE-25293 Followup jira to address the client handling issue when chaning from meta replica to non-meta-replica at the server side. (#2768)
Signed-off-by: stack <stack@apache.org>
2020-12-15 21:45:39 -08:00
Huaxiang Sun e04792959a Revert "HBASE-25293 Followup jira to address the client handling issue when chaning from meta replica to non-meta-replica at the server side."
This reverts commit c1aa3b24e9.
2020-12-11 10:22:41 -08:00
Huaxiang Sun c1aa3b24e9 HBASE-25293 Followup jira to address the client handling issue when chaning from meta replica to non-meta-replica at the server side. 2020-12-09 09:12:01 -08:00
Duo Zhang f813479510
HBASE-25336 Use Address instead of InetSocketAddress in RpcClient implementation (#2716)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2020-12-07 21:49:04 +08:00
SteNicholas 8634428724
HBASE-24966 The methods in AsyncTableRegionLocator should not throw IOException directly (#2495)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-12-04 10:56:53 +08:00
Viraj Jasani f879d45fb0
Revert "HBASE-25246 Backup/Restore hbase cell tags"
This reverts commit 56eb5c9fc8.
2020-12-03 21:16:24 +05:30
shahrs87 56eb5c9fc8
HBASE-25246 Backup/Restore hbase cell tags
Closes #2706

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-12-02 20:50:30 +05:30
Andrew Purtell 679dd7b8f9
HBASE-25292 Improve InetSocketAddress usage discipline (#2669)
Network identities should be bound late. Remote addresses should be
resolved at the last possible moment, just before connect(). Network
identity mappings can change, so our code should not inappropriately
cache them. Otherwise we might miss a change and fail to operate normally.

Revert "HBASE-14544 Allow HConnectionImpl to not refresh the dns on errors"
Removes hbase.resolve.hostnames.on.failure and related code. We always
resolve hostnames, as late as possible.

Preserve InetSocketAddress caching per RPC connection. Avoids potential
lookups per Call.

Replace InetSocketAddress with Address where used as a map key. If we want
to key by hostname and/or resolved address we should be explicit about it.
Using Address chooses mapping by hostname and port only.

Add metrics for potential nameservice resolution attempts, whenever an
InetSocketAddress is instantiated for connect; and metrics for failed
resolution, whenever InetSocketAddress#isUnresolved on the new instance
is true.

* Use ServerName directly to build a stub key

* Resolve and cache ISA on a RpcChannel as late as possible, at first call

* Remove now invalid unit test TestCIBadHostname

We resolve DNS at the latest possible time, at first call, and do not
resolve hostnames for creating stubs at all, so this unit test cannot
work now.

Reviewed-by: Mingliang Liu <liuml07@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-11-28 21:01:22 +08:00
Mate Szalay-Beko 451a4b06b1 HBASE-25263 Various improvements of column family encryption
This PR is a follow-up of HBASE-25181 (#2539), where several issues were
discussed on the PR:

1. Currently we use PBKDF2WithHmacSHA1 key generation algorithm to generate a
secret key for HFile / WalFile encryption, when the user is defining a string
encryption key in the hbase shell. This algorithm is not secure enough and
not allowed in certain environments (e.g. on FIPS compliant clusters). We are
changing it to PBKDF2WithHmacSHA384. It will not break backward-compatibility,
as even the tables created by the shell using the new algorithm will be able
to load (e.g. during bulkload / replication) the HFiles serialized with the
key generated by an old algorithm, as the HFiles themselves already contain
the key necessary for their decryption.

Smaller issues fixed by this commit:

2. Improve the documentation e.g. with the changes introduced by HBASE-25181
and also by some points discussed on the Jira ticket of HBASE-25263.

3. In EncryptionUtil.createEncryptionContext the various encryption config
checks should throw IllegalStateExceptions instead of RuntimeExceptions.

4. Test cases in TestEncryptionTest.java should be broken down into smaller
tests.

5. TestEncryptionDisabled.java should use ExpectedException JUnit rule to
validate exceptions.

closes #2676

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2020-11-26 16:44:34 +01:00
Toshihiro Suzuki b142f5dcd2
HBASE-25242 Add Increment/Append support to RowMutations (#2630)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2020-11-26 13:31:43 +09:00
Andrew Purtell 1726160839
HBASE-24640 Purge use of VisibleForTesting (#2695)
Signed-off-by: Reid Chan <reidchan@apache.org>
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2020-11-25 14:10:12 -08:00
Balazs Meszaros d81b541493 HBASE-25307 ThreadLocal pooling leads to NullPointerException (#2685) (addendum)
* import fix
2020-11-25 11:20:07 +01:00
Balazs Meszaros 094aadcdda
HBASE-25307 ThreadLocal pooling leads to NullPointerException (#2685)
* PoolMap does not discard any elements anymore. If an element is put,
it always stores it. The reason: it stores expensive resources (rpc
connections) which would lead to resource leak if we simple discard it.
RpcClients can reference netty ByteBufs which are reference counted.
Resource cleanup is done by AbstractRpcClient.cleanupIdleConnections().
* PoolMap does not implement Map interface anymore, so ensuring
thread-safety has become easier. Put method is replaced with getOrCreate().
* ThreadLocalPool doesn't use ThreadLocal class anymore. It stores
resources on thread basis, but it doesn't remove values when a thread
exits. Again, proper cleanup is done by cleanupIdleConnections().

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Wellington Chevreuil <wellington.chevreuil@gmail.com>
2020-11-25 11:10:27 +01:00
tianhang 390abb520c
HBASE-25299 Deprecate Scan#setRowPrefixFilter because of an unexpected behavior
Closes #2674

Signed-off-by: Guanghao Zhang <zghao@apache.org>
Signed-off-by: huaxiangsun <huaxiangsun@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-11-24 19:39:25 +05:30
XinSun 1cd8f3cf94
HBASE-24654 Allow unset table's rsgroup (#1994)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-11-23 17:22:37 +08:00
stack eca904e0fb HBASE-25291 Document how to enable the meta replica load balance mode for the client and clean up around hbase:meta read replicas
hbase-client/src/main/java/org/apache/hadoop/hbase/client/CatalogReplicaLoadBalanceSelector.java
hbase-client/src/main/java/org/apache/hadoop/hbase/client/CatalogReplicaLoadBalanceSelectorFactory.java
hbase-client/src/main/java/org/apache/hadoop/hbase/client/CatalogReplicaLoadBalanceSimpleSelector.java
hbase-client/src/main/java/org/apache/hadoop/hbase/client/CatalogReplicaMode.java
 Make the leading license comment opener align on all these new
 files.... one star rather than two.

hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/CatalogReplicationSource.java
 Add some comment better situating the catalogreplicationsource
 specialization.

hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceManager.java
 Add comment how this differs from replicationsource factory and why no
 need to keep offset up in zk.

src/main/asciidoc/_chapters/architecture.adoc
 Clean up the read replica of META doc. Introduce the new read replica
 liveness on META and the new 'LoadBalance' feature (with warnings).
 General edit.
2020-11-20 00:04:48 -08:00
Huaxiang Sun 690b4d8973 HBASE-25126 Add load balance logic in hbase-client to distribute read load over meta replica regions
It adds load balance support for meta lookup in AsyncTableRegionLocator.
The existing meta replica mode is renamed as "HedgedRead", client sends scan request to the primary meta replica region first,
if response is not back within a configured amount of time, it will send scan requests to all meta replica regions and
take the first response. On top of the existing mode, a new mode "LoadBalance" is introduced. In this mode, client first
choose a meta replica region to send scan request. If the response is stale, it may send the request to another meta replica region or
the primary region. In this mode, meta scan requests are load balanced across all replica regions with the primary mode as
the ultimate source of truth.

Two new config knobs are added:

1. hbase.locator.meta.replicas.mode
   Valid options are "None", "HedgedRead" and "LoadBalance", they are case insensitive. The default mode is "None".

2. hbase.locator.meta.replicas.mode.loadbalance.selector
   The load balance alogrithm to select a meta replica to send the requests.
   Only org.apache.hadoop.hbase.client.CatalogReplicaLoadBalanceReplicaSimpleSelector.class
   is supported for now, which is the default as well. The algorithm works as follows:
      a. Clients select a randome meta replica region to send the requests if there is no entry for the location in the stale
         location cache.
      b. If the location from one meta replica region is stale, a stale entry will be created in the statle location cache
         for the region.
      c. Clients select the primary meta region if the location is in the stale location cache.
      d. The stale location cache entries time out in 3 seconds.

If there is no "hbase.locator.meta.replicas.mode" configured, it will check the config knob "hbase.meta.replicas.use".
If "hbase.meta.replicas.use" is configured, the mode will be set to "HedgedRead".
2020-11-20 00:04:48 -08:00
stack c07f27e025 Revert "HBASE-25280 [meta replicas] ArrayIndexOutOfBoundsException in ZKConnectionRegistry (#2652)"
This reverts commit 6210dafc47.

Applied to master when should have been applied to branch. Revert.
2020-11-16 08:59:12 -08:00
Michael Stack 6210dafc47
HBASE-25280 [meta replicas] ArrayIndexOutOfBoundsException in ZKConnectionRegistry (#2652)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.com>
2020-11-16 08:58:05 -08:00
stack 1c85c14994 Revert "HBASE-25280 [meta replicas] ArrayIndexOutOfBoundsException in ZKConnectionRegistry"
This reverts commit adbf81c010a5fbfebfcc4aae68e35dbd12da1601.

Premature. Still some comments to address.
2020-11-16 08:45:20 -08:00
stack 0aff1759a8 HBASE-25280 [meta replicas] ArrayIndexOutOfBoundsException in ZKConnectionRegistry
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.com>
2020-11-16 08:45:20 -08:00
Mate Szalay-Beko 6a5c928539
HBASE-25181 Add options for disabling column family encryption and choosing hash algorithm for wrapped encryption keys.
Prior to this patch hbase always used the MD5 hash algorithm to store a hash for encryption keys.
This hash is needed to verify the secret key of the subject. (e.g. making
sure that the same secrey key is used during encrypted HFile read and write).
The MD5 algorithm is considered weak, and can not be used in some
(e.g. FIPS compliant) clusters.

In this patch we:
- add a config parameter to globally enable/disable column family encryption (def enabled)
- introduce a backward compatible way of specifying the hash algorithm.
  This enable us to use newer and more secure hash algorithms like SHA-384
  or SHA-512 (which are FIPS compliant).
- add a config parameter to fail if an hfile is encountered that uses a
  different hash algorithm than the one currently configured to ease validation after
  migrating key hash algorithms (def disabled)

Closes #2539

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2020-11-09 13:53:50 -06:00
Michael Stack 23e656712b HBASE-25238 Upgrading HBase from 2.2.0 to 2.3.x fails because of “Message missing required fields: state” (#2625)
Make protobuf fields add post-2.0.0 release marked 'required' instead
be 'optional' so migrations from 2.0.x to 2.1+ or 2.2+ succeeds.

Signed-off-by: Viraj Jasani vjasani@apache.org
2020-11-05 08:49:47 -08:00
Duo Zhang f37cd05c32
HBASE-25235 Cleanup the deprecated methods in TimeRange (#2616)
Signed-off-by: Jan Hentschel <janh@apache.org>
Signed-off-by: stack <stack@apache.org>
2020-11-04 11:02:28 +08:00
niuyulin 1eceab69b5
HBASE-25210 RegionInfo.isOffline is now a duplication with RegionInfo.isSplit (#2580)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: stack <stack@apache.org>
2020-11-03 09:49:38 -08:00
niuyulin 17f9aded2c
HBASE-25201 YouAreDeadException should be moved to hbase-server module (#2581)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-10-28 14:58:28 +08:00
niuyulin 485da758bb
HBASE-25176 MasterStoppedException should be moved to hbase-client module (#2538)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-10-28 14:52:27 +08:00
WenFeiYi 4bbc772ffc
HBASE-25173 Remove owner related methods in TableDescriptor/TableDescriptorBuilder (#2541)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-10-27 22:01:57 +08:00
XinSun b815207096
HBASE-25171 Remove ZNodePaths.namespaceZNode (#2526)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-10-10 16:09:12 +08:00
Duo Zhang 9ba90e1679
HBASE-25121 Refactor MetaTableAccessor.addRegionsToMeta and its usage places (#2476)
Signed-off-by: stack <stack@apache.org>
2020-10-05 21:29:55 +08:00
Sanjeet Nishad e9de7d9e7e
HBASE-24981 Enable table replication fails from 1.x to 2.x if table already exist at peer
Closes #2353

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
2020-10-01 13:33:18 +05:30
Duo Zhang b268b1f621
HBASE-25103 Remove ZNodePaths.metaReplicaZNodes (#2464)
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.com>
2020-09-29 15:48:57 +08:00
bsglz 5d926627ae
HBASE-24967 The table.jsp cost long time to load if the table include… (#2326)
* HBASE-24967 The table.jsp cost long time to load if the table include closed regions

* fix it  by another way

* fix review issue

* fix checkstyle warnings

* fix checkstyle warning
2020-09-29 15:36:03 +08:00
Viraj Jasani 80ffac29c1
HBASE-25070 : With new generic API getLogEntries, cleaning up unused RPC APIs
Closes #2426

Signed-off-by: Guanghao Zhang <zghao@apache.org>
2020-09-28 12:54:35 +05:30
Joseph295 1093e34967
HBASE-25088 CatalogFamilyFormat/MetaTableAccessor.parseRegionInfoFromRegionName incorrectly setEndKey to regionId (#2448)
Signed-off-by: Jan Hentschel <janh@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-09-26 16:55:54 +08:00
王伟 dca0b593cf HBASE-25073 Should not use XXXService.Interface.class.getSimpleName as stub key prefix in AsyncConnectionImpl (#2443)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-09-23 14:37:35 +08:00
Duo Zhang 3ed41a0e45 Revert "Should not use XXXService.Interface.class.getSimpleName as stub key prefix in AsyncConnectionImpl (#2443)"
This reverts commit 98225ff1a3.
2020-09-23 14:37:27 +08:00
王伟 98225ff1a3
Should not use XXXService.Interface.class.getSimpleName as stub key prefix in AsyncConnectionImpl (#2443)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-09-23 14:36:00 +08:00
niuyulin b5adfe1031
HBASE-25072 Remove the unnecessary System.out.println in MasterRegistry (#2429)
Co-authored-by: niuyulin <niuyulin@xiaomi.com>
Signed-off-by: Jan Hentschel <janh@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-09-20 20:08:43 +02:00
Viraj Jasani d41eb4f0f4
HBASE-24896 : Jira number correction in comment (ADDENDUM) 2020-09-20 14:33:09 +05:30
stack 3e13b3f059
HBASE-24896 'Stuck' in static initialization creating RegionInfo instance
Closes #2422

Untangle RegionInfo, RegionInfoBuilder, and MutableRegionInfo static
initializations some. Move MutableRegionInfo from inner-class of
RegionInfoBuilder to be (package private) standalone. Undo static
initializing references from RI to RIB.

Co-authored-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-09-20 14:18:32 +05:30
Duo Zhang 0956c34658
HBASE-25066 Use FutureUtils.rethrow in AsyncTableResultScanner to better catch the stack trace (#2420)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2020-09-20 11:25:22 +08:00
Viraj Jasani 35d59dc570
HBASE-24528 : BalancerDecision queue implementation in HMaster with Admin API
* Admin API getLogEntries() for ring buffer use-cases: so far, provides balancerDecision and slowLogResponse
* Refactor RPC call for similar use-cases
* Single RPC API getLogEntries() for both Master.proto and Admin.proto

Closes #2261

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2020-09-16 20:56:54 +05:30
Duo Zhang 1bb19e0cdd
HBASE-25037 Lots of thread pool are changed to non daemon after HBASE-24750 which causes trouble when shutting down (#2407)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-09-16 21:11:47 +08:00
bsglz c5ca191921
HBASE-24875 Remove the force param for unassign since it dose not take effect any more (#2254)
Signed-off-by: Sean Busbey <busbey@apache.org>
2020-09-15 22:05:03 -05:00
ankitjain64 9c5dbb29c0
HBASE-24764: Add support of adding default peer configs via hbase-site.xml for all replication peers. (#2284)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2020-09-10 10:08:44 -07:00
Duo Zhang 23713f4693
HBASE-25005 Refactor CatalogJanitor (#2373)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2020-09-10 11:59:15 +08:00
Toshihiro Suzuki d48c732851
HBASE-24602 Add Increment and Append support to CheckAndMutate (#2228) 2020-09-08 15:05:47 +09:00
Duo Zhang be984cc8d4
HBASE-24986 Move ReplicationBarrier related methods to a separated class (#2354)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2020-09-07 20:35:27 +08:00
Mohammad Arshad a352706700
HBASE-24940: runCatalogJanitor() API should return -1 to indicate already running status
Closes #2331

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-09-03 15:52:18 +05:30
Bharath Vissapragada 01cf60067c
HBASE-24765: Dynamic master discovery (#2130)
This patch adds the ability to discover newly added masters
dynamically on the master registry side. The trigger for the
re-fetch is either periodic (5 mins) or any registry RPC failure.
Master server information is cached in masters to avoid repeated
ZK lookups.

Updates the client side connection metrics to maintain a counter
per RPC type so that clients have visibility into counts grouped
by RPC method name.

I didn't add the method to ZK registry interface since there
is a design discussion going on in splittable meta doc. We can
add it later if needed.

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-08-25 15:09:03 -07:00
Michael Stack 5af9852397 HBASE-24918 Make RegionInfo#UNDEFINED IA.Private (#2289)
Mark RegionInfo#UNDEFINED IA.Private and deprecated;
it is for internal use only and likely to be removed in hbase4.

Move MutableRegionInfo out of RegionInfoBuilder and have it as a
stanadlone task; a nice-to-have.

Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-08-21 09:26:47 -07:00
mokai 72be041d1c
HBASE-24686 [LOG] Log improvement in Connection#close (#2219)
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Sean Busbey <busbey@apache.org>
2020-08-21 18:49:02 +05:30
Guanghao Zhang 54fe81eb56
HBASE-24912 Enlarge MemstoreFlusherChore/CompactionChecker period for unit test (#2285)
Signed-off-by: stack <stack@apache.org>
2020-08-21 12:41:20 +08:00
niuyulin 7a4d7c8607
HBASE-24886 Remove deprecated methods in RowMutations (#2267)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-08-19 10:31:09 +08:00
Elliot 6789aca9a0
HBASE-24874 Fix hbase-shell access to ModifiableTableDescriptor methods (#2268)
* HBASE-24874 Fix hbase-shell access to ModifiableTableDescriptor methods

- Fix hbase-shell access in JDK 11 for calls to
  TableDescriptorBuilder.toCoprocessorDescriptor and
  ModifiableTableDescriptor.toStringTableAttributes.
- Allow coprocessors to be specified using a Ruby hash in the hbase-shell alter
  command and replace usage in the help text. The previous String overload of
  the alter command will continue to work and is still covered by a unit test,
  but will no longer be suggested in the alter command help.

* Update patch

- Add warning over toCoprocessorDescriptor noting the usage by hbase-shell
- Add constants to hbase_constants for coprocessor specification
- Document usage of ModifiableTableDescriptor.toStringTableAttributes

* Convert comment over toCoprocessorDescriptor into docstring

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: stack <stack@apache.org>
2020-08-18 12:58:40 -07:00
Nick Dimiduk ecc0c67077 HBASE-24627 Normalize one table at a time
Introduce an additional method to our Admin interface that allow an
operator to selectivly run the normalizer. The IPC protocol supports
general table name select via compound filter.

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-08-18 09:46:29 -07:00
niuyulin 998ee77133
HBASE-24872 refactor valueOf PoolType (#2250)
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.com>
2020-08-18 09:35:18 -07:00
Joseph295 c8c20160da
HBASE-24887 Remove Row.compareTo
Closes #2262

Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
2020-08-17 17:26:21 +05:30
Jonathan M Hsieh 8646ac139d HBASE-24827 BackPort HBASE-11554 Remove Reusable poolmap Rpc client type. (#2208)
Co-authored-by: niuyulin <niuyulin@xiaomi.com>
Signed-off-by: stack <stack@apache.org>
2020-08-11 22:11:05 -05:00
Sean Busbey b9c415ac61 Revert "BackPort HBASE-11554 Remove Reusable poolmap Rpc client type. (#2208)"
incorrect commit message and author

This reverts commit c645cb54e6.
2020-08-11 22:09:44 -05:00
Viraj Jasani ea130249ae
HBASE-24750 : Adding default UncaughtExceptionHandler for Thread factories (ADDENDUM)
Closes #2231
2020-08-11 17:18:47 +05:30
Viraj Jasani 0b604d921a
HBASE-24750 : All ExecutorService should use guava ThreadFactoryBuilder
Closes #2196

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Ted Yu <tyu@apache.org>
2020-08-07 20:24:36 +05:30
bsglz 485e0d2fa4
HBASE-24694 Support flush a single column family of table (#2179)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2020-08-07 11:28:53 +01:00
niuyulin c645cb54e6
BackPort HBASE-11554 Remove Reusable poolmap Rpc client type. (#2208)
Co-authored-by: niuyulin <niuyulin@xiaomi.com>
Signed-off-by: stack <stack@apache.org>
2020-08-06 09:01:51 -07:00
Duo Zhang d2f5a5f27b
HBAE-24507 Remove HTableDescriptor and HColumnDescriptor (#2186)
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: tedyu <yuzhihong@gmail.com>
2020-08-04 10:31:42 +08:00
Toshihiro Suzuki e22a2d2700
HBASE-24680 Refactor the checkAndMutate code on the server side (#2094)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Josh Elser <elserj@apache.org>
2020-08-01 21:02:17 +09:00
Duo Zhang 7e6e7a7051
HBASE-24770 Reimplement the Constraints API and revisit the IA annotations on related classes (#2140)
Signed-off-by: stack <stack@apache.org>
2020-07-28 09:24:55 +08:00
Duo Zhang 0b85729da4
HBASE-24762 Purge protobuf java 2.5.0 dependency (#2128)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: stack <stack@apache.org>
2020-07-24 11:48:35 +08:00
surbhi 8191fbdd7d HBASE-22146 Removing a namespace-level space quota does not remove policies against contained tables
Closes #1935

Signed-off-by: Josh Elser <elserj@apache.org>
2020-07-21 20:12:46 -04:00
Viraj Jasani f35c5eaadd
HBASE-24718 : Generic NamedQueue framework for multiple use-cases (Refactor SlowLog responses) (#2109)
Closes #2052

Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2020-07-21 20:24:13 +05:30
Viraj Jasani f2c087caeb
Revert "HBASE-24718 : Generic NamedQueue framework for multiple use-cases (Refactor SlowLog responses)"
This reverts commit 16f306b4a1.

TestAdminShell and TestThriftHBaseServiceHandler are failing consistently
2020-07-21 13:50:27 +05:30
Viraj Jasani 16f306b4a1
HBASE-24718 : Generic NamedQueue framework for multiple use-cases (Refactor SlowLog responses)
Closes #2052

Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2020-07-17 19:16:22 +05:30
huaxiangsun 1360bee7f9
HBASE-24705 MetaFixer#fixHoles() does not include the case for read replicas (i.e, replica regions are not created) (#2062)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-07-14 15:48:19 -07:00
Bo Cui d132c4b53d
HBASE-24693 regioninfo#isLast() should point to EMPTY_END_ROW (readability improvement)
Closes #2051

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-07-14 15:41:44 +05:30
bsglz 724f0478ed
HBASE-24404 Support flush a single column family of region (#2032)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2020-07-10 18:13:50 +01:00
Zheng Wang b2321b3583
HBASE-24586 Add table level locality in table.jsp
Closes #1926

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-07-10 21:59:59 +05:30
Toshihiro Suzuki 34e807a8b5
HBASE-24650 Change the return types of the new CheckAndMutate methods introduced in HBASE-8458 (#1991)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-07-07 12:49:20 +09:00
Viraj Jasani a1d7e6e253
HBASE-24685 : Removing MultiAction and FailureInfo (#2027)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2020-07-06 17:20:20 +05:30
Elliot 83f27b5287
HBASE-20819 Use TableDescriptor to replace HTableDescriptor in hbase-shell module (#1959)
* HBASE-20819 Use TableDescriptor to replace HTableDescriptor in hbase-shell module

* Resolve whitespace issues

* Use removeValue rather than setValue where possible in hbase-shell

* Add String removeValue overload to TableDescriptorBuilder

* Convert remaining usages of HTableDescriptor in security.rb

* Rename hcd (HColumnDescriptor) to cfd (ColumnFamilyDescriptor)

* Add back 3 constants to HBaseConstants in hbase-shell

* Fix bad constant reference

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-06-26 12:39:34 -07:00