Commit Graph

18396 Commits

Author SHA1 Message Date
SiCheng-Zheng 5a606837fc HBASE-27248 WALPrettyPrinter add print timestamp (#4659)
Co-authored-by: SiCheng-Zheng <zhengsicheng@jd.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 6b2e9d14a7)
2022-08-10 21:31:06 +08:00
Bryan Beaudreault c0717c7383 HBASE-27241 Add metrics for evaluating cost and effectiveness of bloom filters (#4669)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-08-09 15:28:43 -04:00
Duo Zhang 187c084cf2 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:23:08 +08:00
chaijunjie0101 97d87b011f HBASE-27282 CME in AuthManager causes region server crash (#4684)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit d6641626a9)
2022-08-09 09:57:40 +08:00
LiangJun He 45d7562c28 HBASE-27275 graceful_stop.sh unable to restore the balance state (#4680)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit b431652e48)
2022-08-09 09:56:08 +08:00
ryakhovskiy 948b323075 HBASE-26775 - add synchronized modifier to the toString() method of ProcedureEvent.java (#4681)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 74726617b8)
2022-08-08 18:06:23 +08:00
Duo Zhang 0a36504848 HBASE-27273 Should stop autoRead and skip all the bytes when rpc request too big (#4679)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
(cherry picked from commit 486d19e99f)
2022-08-06 20:31:38 +08:00
LiangJun He a7f8dde815 HBASE-27269 The implementation of TestReplicationStatus.waitOnMetricsReport is incorrect (#4678)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 2dc26082be)
2022-08-04 23:17:30 +08:00
Duo Zhang 1720ced4c5 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 23:03:52 +08:00
Nick Dimiduk 472e81098e HBASE-27153 Improvements to read-path tracing
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-08-02 14:10:05 +02:00
Bryan Beaudreault 7aa46f03f4 HBASE-27257 Remove unnecessary usage of CachedBlocksByFile from RS UI (#4667)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2022-07-29 15:33:44 -04:00
chenglei 95a2e59618 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:57:09 -07:00
Andrew Purtell 6a169b5079 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:59:06 -07:00
Andrew Purtell 32cc65ec9d HBASE-27236 Clean up error-prone warnings in hbase-hbtop (#4649)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-07-26 18:05:13 -07:00
Andrew Purtell 15db425ad9 HBASE-27210 Clean up error-prone findings in hbase-endpoint (#4646)
Signed-off-by: Duo Zhang <zhangduo@apache.org>

Conflicts:
	hbase-endpoint/src/test/java/org/apache/hadoop/hbase/client/TestRpcControllerFactory.java
	hbase-endpoint/src/test/java/org/apache/hadoop/hbase/coprocessor/TestSecureExport.java
2022-07-26 17:46:12 -07:00
Andrew Purtell ce1455c365 HBASE-27087 TestQuotaThrottle times out
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-26 14:11:32 -07:00
Bryan Beaudreault 25136c39f9 HBASE-27229 BucketCache statistics should not count evictions by hfile (#4639)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-26 17:10:41 -04:00
Duo Zhang 88f957b323 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:29 +08:00
Bryan Beaudreault 4e4ebe99c5 HBASE-27225 Add BucketAllocator bucket size statistic logging (#4637)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2022-07-25 21:02:23 -04:00
Andrew Purtell f7ffeac554 HBASE-27235 Clean up error-prone warnings in hbase-hadoop-compat (#4648)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-07-25 17:31:05 -07:00
Ramón García Fernández 0ab933f520 HBASE-27179 Issues building with OpenJDK 17 (#4594)
Fix test case failures in org.apache.hadoop.hbase.http.log.TestLogLevel under Openjdk 17 because of a missing export of java.security.jgss/sun.security.krb5.
Removed option --illegal-access=permit ignored since Openjdk 17.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit e10c15d030)
2022-07-25 19:23:55 +08:00
Andrew Purtell 9cec74c503 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:07:01 -07:00
Duo Zhang a6a75ef43d HBASE-27075 TestUpdateRSGroupConfiguration.testCustomOnlineConfigChangeInRSGroup is flaky (#4636)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
(cherry picked from commit 31fc97edee)

Conflicts:
	hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsBase.java
	hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestUpdateRSGroupConfiguration.java
2022-07-21 14:52:59 +08:00
Duo Zhang cf4da36954 Revert "HBASE-27152 Under compaction mark may leak (#4568)"
This reverts commit 3ebb4360b9.
2022-07-21 09:04:37 +08:00
Xiaolin Ha 3ebb4360b9 HBASE-27152 Under compaction mark may leak (#4568)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit da27a67a1e)
2022-07-20 08:52:10 +08:00
Minwoo Kang ee56bcafb4 HBASE-27219 Change JONI encoding in RegexStringComparator (#4632)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-19 09:20:59 -07:00
Nihal Jain 25c375e186 HBASE-20499 Replication/Priority executors can use specific max queue length as default value instead of general maxQueueLength
Signed-off-by: tedyu <yuzhihong@gmail.com>
(cherry picked from commit 6d080762ef)
2022-07-19 13:57:47 +08:00
Duo Zhang 9c3528d730 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:03:26 +08:00
Duo Zhang aae664b7b5 HBASE-27208 Use spotless to purge the missing summary warnings from error prone (#4628)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
(cherry picked from commit 7484a9163a)
2022-07-19 09:49:57 +08:00
Andrew Purtell a321fb2eee HBASE-27195 Clean up netty worker/thread pool configuration (#4619)
The configuration settings "hbase.netty.worker.count" and
"hbase.netty.eventloop.rpcserver.thread.count" appear to duplicate each
other.

Also, formalizes another setting found in NettyEventLoopGroupConfig,
"hbase.netty.nativetransport".

Also, native epoll is not limited to amd64. aarch64 supports it too.

Signed-off-by: Duo Zhang <zhangduo@apache.org>

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java
2022-07-18 17:43:40 -07:00
Andrew Purtell 23462f88f2 HBASE-27202 Clean up error-prone findings in hbase-balancer (#4623)
On branch-2.5, the affected code is in hbase-server.

Signed-off-by: Duo Zhang <zhangduo@apache.org>

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/RegionLocationFinder.java
2022-07-18 16:01:00 -07:00
Andrew Purtell 0cd5d2dcb2 HBASE-27200 Clean up error-prone findings in hbase-archetypes (#4621)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-07-18 15:42:31 -07:00
Duo Zhang 0a659b18d5 HBASE-27211 Data race in MonitoredTaskImpl could cause split wal failure (#4630)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
Signed-off-by: Xin Sun <ddupgs@gmail.com>
(cherry picked from commit 9ab0b1504f)

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
2022-07-18 20:07:25 +08:00
Bryan Beaudreault 8f7801c1f1 HBASE-27053 IOException during caching of uncompressed block to the block cache (#4610)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Reviewed-by: wenwj0 <wenweijian2@huawei.com>
2022-07-16 18:09:27 -04:00
Duo Zhang 4a1872b80c HBASE-27192 The retry number for TestSeparateClientZKCluster is too small (#4614)
Signed-off-by: GeorryHuang <huangzhuoyue@apache.org>
(cherry picked from commit 648bb6d0eb)
2022-07-14 08:52:25 +08:00
Andrew Purtell 74e83c840f HBASE-27194 Add test coverage for SimpleRpcServer (#4616)
Add test coverage for SimpleRpcServer.

Improve the way we test both SimpleRpcServer and NettyRpcServer. Use
LoadTestKVGenerator to generate random values with varying sizes between
1000 bytes and 1M bytes, and also to verify them when reading the values
back.

Add secure test coverage for both SimpleRpcServer and NettyRpcServer.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-07-13 11:22:38 -07:00
Andrew Purtell 55fce40918 HBASE-27088 IntegrationLoadTestCommonCrawl async load improvements (#4488)
* HBASE-27088 IntegrationLoadTestCommonCrawl async load improvements

- Use an async client and work stealing executor for parallelism during loads.
- Remove the verification read retries, these are not that effective during
  replication lag anyway.
- Increase max task attempts because S3 might throttle.
- Implement a side task that exercises Increments by extracting urls from
  content and updating a cf that tracks referrer counts. These are not
  validated at this time. It could be possible to log the increments, sum
  them with a reducer, and then verify the total, but this is left as a
  future exercise.

Signed-off-by: Viraj Jasani <vjasani@apache.org>

* Sum RPC time for writes (loader) and reads (verifier) and mutation bytes submitted. Expose as job counters.

* Fix an issue with completion chaining

* Pause loading if too many operations are in flight
2022-07-13 09:04:28 -07:00
BukrosSzabolcs 02118442fb HBASE-22749 Distributed MOB compactions (#4581)
* HBASE-22749 Distributed MOB compactions

- MOB compaction is now handled in-line with per-region compaction on region
  servers
- regions with mob data store per-hfile metadata about which mob hfiles are
  referenced
- admin requested major compaction will also rewrite MOB files; periodic RS
  initiated major compaction will not
- periodically a chore in the master will initiate a major compaction that
  will rewrite MOB values to ensure it happens. controlled by
  'hbase.mob.compaction.chore.period'. default is weekly
- control how many RS the chore requests major compaction on in parallel
  with 'hbase.mob.major.compaction.region.batch.size'. default is as
  parallel as possible.
- periodic chore in master will scan backing hfiles from regions to get the
  set of referenced mob hfiles and archive those that are no longer
  referenced. control period with 'hbase.master.mob.cleaner.period'
- Optionally, RS that are compacting mob files can limit write
  amplification by not rewriting values from mob hfiles over a certain size
  limit. opt-in by setting 'hbase.mob.compaction.type' to 'optimized'.
  control threshold by 'hbase.mob.compactions.max.file.size'.
  default is 1GiB
- Should smoothly integrate with existing MOB users via rolling upgrade.
  will delay old MOB file cleanup until per-region compaction has managed
  to compact each region at least once so that used mob hfile metadata can
  be gathered.

* HBASE-22749 Distributed MOB compactions

fix RestrictedApi

Co-authored-by: Vladimir Rodionov <vrodionov@apache.org>

Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2022-07-13 09:01:47 -07:00
Duo Zhang 0a72d2215d HBASE-27193 TestZooKeeper is flaky (#4615)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
(cherry picked from commit 2662607b71)
2022-07-13 10:34:26 +08:00
Andrew Purtell fafc7ff478 HBASE-27161 Improve TestMultiRespectsLimits (#4586)
TestMultiRespectLimits submits a put with an empty value. This appears
to not be what was intended. Instead, use a single byte.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-07-12 11:21:01 -07:00
Andrew Purtell 65057abd2e HBASE-27097 SimpleRpcServer is broken (#4613)
Replace BufferChain#write(channel,int) with a simpler #write(channel)
implementation that does not attempt to "chunk" data to be written. This
method was used exclusively by SimpleRpcServer. The code was unnecessarily
complex and caused short writes when values were large, so was corrected
and simplified. Any difference in performance from this change will be
limited to SimpleRpcServer. Testing under load confirms the fix and does
not show significant regression.

SimpleRpcServer and its related code is now also marked as @Deprecated.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcServer.java
2022-07-12 11:10:53 -07:00
Bryan Beaudreault 3d816c0641 HBASE-27149 Server should close scanner if client times out before results are ready (#4604)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-11 22:42:32 -04:00
Bryan Beaudreault 02bc62d73f HBASE-27188 Report maxStoreFileCount in jmx (#4609)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-11 22:19:58 -04:00
Bryan Beaudreault f5500dc495 HBASE-27186 Report block cache size metrics separately for L1 and L2 (#4608)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-11 22:09:30 -04:00
Duo Zhang c39025ff0e HBASE-27189 NettyServerRpcConnection is not properly closed when the netty channel is closed (#4611)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
(cherry picked from commit 5bc8670322)
2022-07-12 09:44:31 +08:00
Nick Dimiduk 79062dbc40
HBASE-27182 Rework tracing configuration
* Take advantage of the fact that OpenTelemetry can read its configuration from environment
  variables and make use of this where possible, only falling back to passing properties into the
  process launch configuration when it's necessary. DRY up tracing configuration and make it
  easier to manage in a container environment.
* Replace `HBASE_TRACE_OPTS`, which used to act as both a feature flag and a baseline for
  configuration shared across processes. Instead, use `HBASE_OTEL_TRACING_ENABLED` as a feature
  flag, and let configuration reuse be handled via the environment variables that otel supports
  naively.
* Add further explanation for how to write your configuration for our different deployment
  modes (standalone, pseudo-distributed, fully distributed) and in different environments.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-11 14:37:56 +02:00
chenglei 8d0776c7b8
HBASE-26950 Use AsyncConnection in ReplicationSink (#4607)
Signed-off-by: Bryan Beaudreault <bbeaudreault@hubspot.com>
2022-07-09 11:29:05 +08:00
Duo Zhang 3ca0f746fc HBASE-27148 Move minimum hadoop 3 support version to 3.2.3 (#4561) (#4599)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
(cherry picked from commit 41972cb460)
2022-07-08 17:28:14 +08:00
Norman Maurer ecf758b9ab HBASE-27180 Fix multiple possible buffer leaks (#4597)
* Fix multiple possible buffer leaks

Motivation:

When using ByteBuf you need to be very careful about releasing it as otherwise you might leak data. There were various places in the code-base where such a leak could happen.

Modifications:

- Fix possible buffer leaks
- Ensure we call touch(...) so its easier to debug buffer leaks

Result:

Fix buffer leaks

* Formatting

* Revert some changes as requested

* revert touch

* Also release checksum and header buffers

Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 2197b3806b)
2022-07-08 08:27:30 +08:00
Bryan Beaudreault 94fc45ef76 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:48:28 -04:00