Commit Graph

2575 Commits

Author SHA1 Message Date
Andor Molnár f8dcf07055
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>
2022-08-06 19:09:54 -04:00
Duo Zhang 2ac5578730 HBASE-27271 Addendum use NettyFutureUtils 2022-08-04 23:14:04 +08:00
Duo Zhang fb529e2352
HBASE-27271 BufferCallBeforeInitHandler should ignore the flush request (#4676)
Signed-off-by: Balazs Meszaros <meszibalu@apache.org>
2022-08-04 22:31:58 +08:00
Nick Dimiduk d734acc00e HBASE-27153 Improvements to read-path tracing
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-08-02 14:09:09 +02:00
Duo Zhang 811f0e7d2a HBASE-27185 Addendum fix TestShadeSaslAuthenticationProvider 2022-07-28 17:20:13 +08:00
chenglei a3eeab8c56
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 20:48:54 +08:00
Duo Zhang 80b366817e HBASE-27185 Addendum fix a nit problem which is found when cherry-picking to branch-2 2022-07-27 09:21:24 +08:00
Duo Zhang 0c4263a18b
HBASE-27185 Rewrite NettyRpcServer to decode rpc request with netty handler (#4624)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
2022-07-27 09:00:42 +08:00
Andrew Purtell 9573466112
HBASE-27203 Clean up error-prone findings in hbase-client (#4644)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-07-26 15:08:24 -07:00
Duo Zhang 8b091c4061
HBASE-27222 Purge FutureReturnValueIgnored warnings from error prone (#4634)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-26 23:42:37 +08:00
Andrew Purtell b1706a8a12
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:31 -07:00
Minwoo Kang 075b3053cf
HBASE-27219 Change JONI encoding in RegexStringComparator (#4632)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-19 09:10:38 -07:00
Duo Zhang acf144717b 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:43 +08:00
chenglei 02f26368e2
HBASE-27207 ConnectionUtils.allOf should be moved to FutureUtils (#4627)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-07-15 17:04:03 +08:00
Bryan Beaudreault 6886d02a91
HBASE-27078 Allow configuring a separate timeout for meta scans (#4557)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-07 10:02:14 -04:00
Duo Zhang 816e919e95
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>
2022-07-07 15:55:26 +08:00
Duo Zhang 9bcb7493e0
HBASE-27165 Set version as 3.0.0-alpha-4-SNAPSHOT in master (#4582)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
2022-06-29 11:04:21 +08:00
Bryan Beaudreault 50f11151fd
HBASE-26790 getAllRegionLocations can cache locations with null hostname (#4565)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-06-23 08:24:49 -04:00
Duo Zhang 02990894ab
HBASE-27121 Set version as 3.0.0-alpha-3 in master in prep for first RC of 3.0.0-alpha-3 (#4535)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
2022-06-15 10:51:31 +08:00
LiangJun He 002c92cd7a
HBASE-27028 Add a shell command for flushing master local region (#4457)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-13 11:09:05 +08:00
Nick Dimiduk ed7e15dc91
HBASE-26366 Provide meaningful parent spans to ZK interactions
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-06-10 16:25:55 +02:00
wangzhi 176c43c5ad
HBASE-27093 AsyncNonMetaRegionLocator:put Complete CompletableFuture outside lock block (#4496)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-07 12:17:52 +08:00
litao ac8b51718f
HBASE-27036 Displays the number of decommissioned region server for status command (#4431)
add decommissionedServers to cluster metric

Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org
2022-06-02 23:51:39 +08:00
huaxiangsun 623f8affe2
HBASE-26649 Support meta replica LoadBalance mode for RegionLocator#getAllRegionLocations() (#4442)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-05-23 08:54:00 -07:00
Nick Dimiduk ad64a9baae 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-16 11:39:21 +02:00
Bryan Beaudreault 64a6ba3647
HBASE-26990 Add default implementation for BufferedMutator interface setters (#4387)
Signed-off-by: Josh Elser <elserj@apache.org>
2022-05-03 14:57:49 -04:00
Duo Zhang 9c8c9e7fbf HBASE-26899 Run spotless:apply
Closes #4312
2022-05-01 22:15:09 +08:00
Nick Dimiduk ebfac2164a HBASE-26648 Improve fidelity of RegionLocator spans
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-04-29 10:53:06 +02:00
Bryan Beaudreault 9a88092817
HBASE-26891 Make MetricsConnection scope configurable (#4285)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-04-22 09:07:47 -04:00
Ruanhui f2f2a89592
HBASE-26942 cache region locations when getAllRegionLocations (#4335)
HBASE-26942 cache region locations when getAllRegionLocations

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 07:48:27 -04:00
Duo Zhang 3ae0d9012c
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
2022-04-09 21:38:41 +08:00
Bryan Beaudreault eb4c2ae4b4
HBASE-26807 Unify CallQueueTooBigException special pause with CallDroppedException (#4180)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-04-07 08:01:44 -07:00
huaxiangsun 0b4ff98614
HBASE-26618 Involving primary meta region in meta scan with CatalogRe… (#4321)
HBASE-26618 Involving primary meta region in meta scan with CatalogReplicaLoadBalanceSimpleSelector

Signed-off-by: Michael Stack <stack@apache.org>
2022-04-06 12:11:10 -07:00
chenglei 805c346e54
HBASE-26811 Secondary replica may be disabled for read forever (#4182) 2022-03-31 21:46:20 +08:00
Nick Dimiduk 620e5c6d0a 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-28 12:46:59 +02:00
Nick Dimiduk 36a5f86c50 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-14 11:27:30 +01:00
Ruanhui fd301ad55f
HBASE-26323 Introduce a Snapshot Procedure (#4115)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-12 23:21:22 +08:00
Duo Zhang c2485215de
HBASE-25465 Use javac --release option for supporting cross version compilation (#4164)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-12 16:51:49 +08:00
Andrew Purtell 10471944bd
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 13:49:02 -08:00
Bryan Beaudreault 39ecaa1975
HBASE-26784 Use HIGH_QOS for ResultScanner.close requests (#4146)
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:48:57 +08:00
Nick Dimiduk 2b9ab90a03
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:23:25 -08:00
Nick Dimiduk 9c037b1be7 HBASE-26764 Implement generic exception support for TraceUtil methods over Callables and Runnables
For the `TraceUtil` methods that accept `Callable` and `Runnable` types, make them generic over a
child of `Throwable`. This allows us to consolidate the two method signatures into a single more
flexible definition.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-03 12:18:33 +01:00
Niels Basjes f6b74b3083
HBASE-26762 Un-Deprecate and improve documentation for Scan#setRowPrefixFilter (#4119)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-02 20:19:13 +08:00
Nick Dimiduk 5dc663ea38
HBASE-26765 Minor refactor of async scanning code (#4121)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-02-24 17:20:57 +01:00
Andrew Purtell 407c6e7b22
HBASE-26730 Extend hbase shell 'status' command to support an option 'tasks' (#4095)
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-02-15 18:38:18 -08:00
Yutong Xiao 1af22625e9
HBASE-26688 Threads shared EMPTY_RESULT may lead to unexpected client job down (#4073)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-02-15 20:28:00 +08:00
Nick Dimiduk 6c3c53a81c
HBASE-26521 Name RPC spans as `$package.$service/$method` (#4024)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-02-09 15:22:31 +01:00
Nick Dimiduk a9d63e8623 HBASE-26472 Adhere to semantic conventions regarding table data operations (addendum)
Ensure table data operations emit one and only one span.
2022-02-01 13:52:59 -08:00
Huaxiang Sun 351caa5bcc Revert "HBASE-26649 Support meta replica LoadBalance mode for RegionLocator#getAllRegionLocations() (#4044)"
This reverts commit 8c607397c1.
2022-01-31 09:48:46 -08:00
Nick Dimiduk d132bd008a
HBASE-26473 Introduce `db.hbase.container_operations` span attribute (#4079)
For batch operations, collect and annotate the associated span with the set of all operations
contained in the batch.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-01-31 09:25:18 -08:00