2399 Commits

Author SHA1 Message Date
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 bd79c4065ccb13a5e217d844376b3e7b9489d2fe.

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 816e919e952de72c94543180870a438ff3c53caa)
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 d8b3f55518fcf73df54f67ab1cb2f3920088d70d)

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 176c43c5ad1aab01eb2d2b05c0cb90132e8d19b1)
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 3ae0d9012c6a0132147f2cd1a96337213bbf2b8d)
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
Nick Dimiduk
87ce5755cd
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-04 09:19:03 +01:00
Niels Basjes
c5f63550b7 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 23:34:17 +08:00
Nick Dimiduk
82282a9f95 HBASE-26765 Minor refactor of async scanning code (#4121)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-02-24 19:07:59 +01:00
Andrew Purtell
3e84e50107
HBASE-26730 Extend hbase shell 'status' command to support an option 'tasks' (#4094)
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-02-15 18:38:25 -08:00
Yutong Xiao
1bee6046f0 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:30:55 +08:00
Nick Dimiduk
d242c8fafa HBASE-26521 Name RPC spans as $package.$service/$method (#4024)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-02-10 12:57:45 +01:00
Nick Dimiduk
94e126fecb HBASE-26472 Adhere to semantic conventions regarding table data operations (addendum)
Ensure table data operations emit one and only one span.
2022-02-01 11:45:25 -08:00
Nick Dimiduk
5e01534494
HBASE-26473 Introduce db.hbase.container_operations span attribute
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 16:54:01 -08:00
Duo Zhang
dffeb8e63e
HBASE-26587 Introduce a new Admin API to change SFT implementation (#4030) (#4080)
Signed-off-by: Wellington Ramos Chevreuil <wchevreuil@apache.org>
Reviewed-by: Josh Elser <elserj@apache.org>
2022-01-30 20:43:23 +08:00
Bryan Beaudreault
76eb1b091d
HBASE-26713 Default to LATEST_TIMESTAMP if no timestamp sent along on Increment/Append (#4075)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-01-28 12:55:51 -08:00
Duo Zhang
836f9be0cf Revert "HBASE-26473 Introduce db.hbase.container_operations span attribute"
This reverts commit 47487074990fb76566211386768e47ad2a7efcf3.
2022-01-28 21:33:13 +08:00