Commit Graph

2477 Commits

Author SHA1 Message Date
Duo Zhang b820188c68 HBASE-27278 Improve TestTlsIPC to reuse existing IPC test code (#4682)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
(cherry picked from commit 3309108ca7)
2022-08-12 13:21:11 +08:00
Peter Somogyi 3f5076dac5 HBASE-27281 Add default implementation for Connection$getClusterId (#4683)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-08-11 17:21:14 +02:00
Duo Zhang beb7c6d490 HBASE-27283 Use readTO instead of hard coded RpcClient.DEFAULT_SOCKET_TIMEOUT_READ when creating ReadTimeoutHandler in NettyRpcConnection (#4685)
Signed-off-by: Xin Sun <ddupgs@gmail.com
Signed-off-by: GeorryHuang <huangzhuoyue@apache.org>
(cherry picked from commit 5919b30b6d)
2022-08-09 16:22:57 +08:00
Andor Molnár 2821cc518a HBASE-26666 Add native TLS encryption support to RPC server/client (#4666)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
(cherry picked from commit f8dcf07055)

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcClient.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcConnection.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java
2022-08-06 19:43:17 -04:00
Duo Zhang 272805c32e HBASE-27271 BufferCallBeforeInitHandler should ignore the flush request (#4676)
Signed-off-by: Balazs Meszaros <meszibalu@apache.org>
(cherry picked from commit fb529e2352)

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcConnection.java
2022-08-04 22:57:13 +08:00
Nick Dimiduk bcec871959 HBASE-27153 Improvements to read-path tracing
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-08-02 14:09:39 +02:00
Duo Zhang 5e4ddad9a9 HBASE-27185 Addendum fix TestShadeSaslAuthenticationProvider 2022-07-28 17:31:28 +08:00
chenglei 7910f7738f HBASE-27247 TestPerTableCFReplication.testParseTableCFsFromConfig is broken because of ReplicationPeerConfigUtil.parseTableCFsFromConfig (#4658)
Co-authored-by: comnetwork <comnetwork@163.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-07-27 17:55:00 -07:00
Andrew Purtell 29f51c05f0
HBASE-27203 Clean up error-prone findings in hbase-client [branch-2] (#4651)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-07-27 15:58:40 -07:00
Duo Zhang 5f231d3fb3 HBASE-27185 Rewrite NettyRpcServer to decode rpc request with netty handler (#4624)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
(cherry picked from commit 0c4263a18b)

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/security/NettyHBaseSaslRpcClientHandler.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/ServerRpcConnection.java
2022-07-27 09:10:32 +08:00
Duo Zhang 84e7cdb2c0 HBASE-27222 Purge FutureReturnValueIgnored warnings from error prone (#4634)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
(cherry picked from commit 8b091c4061)
2022-07-26 23:45:15 +08:00
Andrew Purtell eef5edb403 HBASE-27204 BlockingRpcClient will hang for 20 seconds when SASL is enabled after finishing negotiation (#4642)
Revert "HBASE-24579: Failed SASL authentication does not result in an exception on client side (#1921)"

This reverts commit bd79c4065c.

When Kerberos authentication succeeds, on the server side, after
receiving the final SASL token from the client, we simply wait for
the client to continue by sending the connection header.
After HBASE-24579, on the client side, an additional readStatus()
was added, which mistakenly assumes that after negotiation has
completed a status code will be sent. However when authentication
has succeeded the server will not send one. As a result the client
will hang and only throw an exception when the configured read
timeout is reached, which is 20 seconds by default.

We cannot unilaterally send the expected additional status code
from the server side because older clients will not expect it. The
first call will fail because the client finds unexpected bytes in
the stream ahead of the call response. Fabricating a call response
also does not seem a viable strategy for backwards compatibility.

The HBASE-24579 change needs to be reconsidered given the
difficult backwards compatibility challenges here.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-07-24 23:06:58 -07:00
Minwoo Kang 5cf9a9b4b1 HBASE-27219 Change JONI encoding in RegexStringComparator (#4632)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-19 09:20:55 -07:00
Duo Zhang 99f2ab5aa8 HBASE-27220 Apply the spotless format change in HBASE-27208 to our code base
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-19 10:00:31 +08:00
chenglei e7551c1359
HBASE-26950 Use AsyncConnection in ReplicationSink (#4595)
Signed-off-by: Bryan Beaudreault <bbeaudreault@hubspot.com>
2022-07-09 10:25:17 +08:00
Bryan Beaudreault 11283cac96
HBASE-27078 Allow configuring a separate timeout for meta scans (#4585)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-07 16:33:16 -04:00
Duo Zhang b543da974a HBASE-26708 Netty leak detected and OutOfDirectMemoryError due to direct memory buffering with SASL implementation (#4596)
Co-authored-by: Norman Maurer <norman_maurer@apple.com>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
(cherry picked from commit 816e919e95)
2022-07-07 16:04:21 +08:00
Duo Zhang e047ef8c68
HBASE-23330: Fix delegation token fetch with MasterRegistry (#1084) (#4598)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
(cherry picked from commit d8b3f55518)

Co-authored-by: Bharath Vissapragada <bharathv@apache.org>
2022-07-06 08:10:50 +08:00
Bryan Beaudreault f06ac9192b
HBASE-26790 getAllRegionLocations can cache locations with null hostname (#4575)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-06-24 07:40:42 -04:00
LiangJun He 666aa064e7
HBASE-27028 Add a shell command for flushing master local region (#4539)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-21 13:25:35 +08:00
Nick Dimiduk 9b8bb580b9
HBASE-26366 Provide meaningful parent spans to ZK interactions
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-06-10 16:26:37 +02:00
wangzhi a2dc48a033 HBASE-27093 AsyncNonMetaRegionLocator:put Complete CompletableFuture outside lock block (#4496)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 176c43c5ad)
2022-06-07 12:18:36 +08:00
huaxiangsun 672b0a5f5c
HBASE-26649 Support meta replica LoadBalance mode for RegionLocator#getAllRegionLocations() (#4442) (#4464)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-02 12:35:11 -07:00
Andrew Purtell 6dd1a6bef0 HBASE-27081 Fix disallowed compatibility breaks on branch-2.5 and branch-2
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-05-31 19:56:16 -07:00
Nick Dimiduk 1e6d93a789 HBASE-26986 Trace a one-shot execution of a Master procedure
This one adds a tracing context to the Master's ProcedureV2 execution. This ties all the spans
that result from a procedure execution back to a procedure by name. Maybe in a follow-on issue, we
can serialize span context along with procedures and display procedure start/stop/retry events and
parent-child hierarchy in tracing visualization.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-05-18 13:08:27 +02:00
Bryan Beaudreault a0258441ab HBASE-26990 Add default implementation for BufferedMutator interface setters (#4387)
Signed-off-by: Josh Elser <elserj@apache.org>
2022-05-03 14:59:54 -04:00
Nick Dimiduk a38716ca2a HBASE-26648 Improve fidelity of RegionLocator spans
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-05-03 13:40:42 +02:00
Duo Zhang 1a5b1b266c HBASE-26899 Run spotless:apply 2022-05-01 22:41:49 +08:00
Bryan Beaudreault 2fe5a4fa4b
HBASE-26807 Addendum: adhere to maxAttempts in RawAsyncTableImpl.batch (#4370)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-04-25 13:25:05 -04:00
Ruanhui 8d17241ce0
HBASE-26942 cache region locations when getAllRegionLocations (#4364)
Co-authored-by: huiruan <huiruan@tencent.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
2022-04-22 15:30:26 -04:00
Bryan Beaudreault e5b008418f
HBASE-26891 Make MetricsConnection scope configurable (#4365)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-04-22 11:42:28 -04:00
Bryan Beaudreault 2240025349
HBASE-26807 Unify CallQueueTooBigException special pause with CallDroppedException (#4273)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-04-22 08:56:52 -04:00
huaxiangsun f9abe3d8f1
HBASE-26618 Involving primary meta region in meta scan with CatalogRe… (#4321) (#4326)
Signed-off-by: Michael Stack <stack@apache.org>
2022-04-11 10:27:15 -07:00
Duo Zhang e7eb628025 HBASE-26922 Fix LineLength warnings as much as possible if it can not be fixed by spotless (#4324)
Signed-off-by: Yulin Niu <niuyulin@apache.org
(cherry picked from commit 3ae0d9012c)
2022-04-09 23:13:49 +08:00
chenglei 4311974758
HBASE-26811 Secondary replica may be disabled for read incorrectly forever (#4308) 2022-04-01 11:20:48 +08:00
Nick Dimiduk 489af42792
HBASE-26545 Implement tracing of scan
* on `AsyncTable`, both `scan` and `scanAll` methods should result in `SCAN` table operations.
* the span of the `SCAN` table operation should have children representing all the RPC calls
  involved in servicing the scan.
* when a user provides custom implementation of `AdvancedScanResultConsumer`, any spans emitted
  from the callback methods should also be tied to the span that represents the `SCAN` table
  operation. This is easily done because these callbacks are executed on the RPC thread.
* when a user provides a custom implementation of `ScanResultConsumer`, any spans emitted from the
  callback methods should be also be tied to the span that represents the `SCAN` table
  operation. This accomplished by carefully passing the span instance around after it is created.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-31 17:29:51 +02:00
chenglei 1a85588265
HBASE-26812 ShortCircuitingClusterConnection fails to close RegionSca… (#4243) 2022-03-31 20:04:01 +08:00
Bryan Beaudreault c73ef2c0c8
HBASE-26876 Use toStringBinary for rowkey in RegionServerCallable error string (#4269)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2022-03-26 06:46:33 +08:00
Bryan Beaudreault 51f8c87ab4
HBASE-26875 RpcRetryingCallerImpl translateException ignores return value of recursive call (#4270)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-25 09:05:12 -07:00
Wellington Ramos Chevreuil 66508074cc
HBASE-26881 Backport HBASE-25368 to branch-2 (#4267)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-25 10:04:13 +00:00
Nick Dimiduk 0d968af513 HBASE-26531 Trace coprocessor exec endpoints
Trace table ExecService invocations as table operations. Ensure span relationships for both table
and master invocations.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-21 19:29:37 +01:00
huiruan 4a6ba116bf HBASE-26842 TestSnapshotProcedure fails in branch-2 (#4225)
Closes #4225

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-18 16:21:29 +08:00
Ruanhui 0f93663db5 HBASE-26323 Introduce a Snapshot Procedure (#4115)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-12 23:58:56 +08:00
Duo Zhang 9e1de13d03 HBASE-25465 Use javac --release option for supporting cross version compilation (#4164)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-12 18:30:29 +08:00
Duo Zhang 340cc6c6f1
HBASE-26802 Backport the log4j2 changes to branch-2 (#4166)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-11 11:17:43 -08:00
Bryan Beaudreault 91cb3028c4
HBASE-26783 ScannerCallable doubly clears meta cache on retries (#4147)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-09 12:02:51 -08:00
Andrew Purtell 300f9b9576 HBASE-26582 Prune use of Random and SecureRandom objects (#4118)
Avoid the pattern where a Random object is allocated, used once or twice, and
then left for GC. This pattern triggers warnings from some static analysis tools
because this pattern leads to poor effective randomness. In a few cases we were
legitimately suffering from this issue; in others a change is still good to
reduce noise in analysis results.

Use ThreadLocalRandom where there is no requirement to set the seed to gain
good reuse.

Where useful relax use of SecureRandom to simply Random or ThreadLocalRandom,
which are unlikely to block if the system entropy pool is low, if we don't need
crypographically strong randomness for the use case. The exception to this is
normalization of use of Bytes#random to fill byte arrays with randomness.
Because Bytes#random may be used to generate key material it must be backed by
SecureRandom.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-08 15:22:00 -08:00
Bryan Beaudreault 98836fb2b4
HBASE-26784 Addendum: Close scanner request should properly inherit original timeout and priority (#4183)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-08 11:40:39 -08:00
Bryan Beaudreault 5bae04e20c
HBASE-26784 Use HIGH_QOS for ResultScanner.close requests (#4163)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2022-03-08 10:50:00 +08:00
Nick Dimiduk 01acd870b7 HBASE-26759 Fix trace continuity through CallRunner (#4126)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-04 15:26:48 -08:00