18374 Commits

Author SHA1 Message Date
Andrew Purtell
0018cbec58 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:09:05 -07:00
Bryan Beaudreault
b2a145661f 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:36:42 -04:00
Bryan Beaudreault
98ec7586b4 HBASE-27188 Report maxStoreFileCount in jmx (#4609)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-11 22:14:01 -04:00
Bryan Beaudreault
9ccb0f96b9 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:01:06 -04:00
Duo Zhang
68f539ef94 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 5bc867032299099822298ede1382e011224c3add)
2022-07-12 09:44:18 +08:00
Nick Dimiduk
7d15871085
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:31 +02: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
Duo Zhang
6dd1b58481
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 41972cb46017f84d39ce85c76121074e0f4b8bbb)
2022-07-08 15:59:25 +08:00
Norman Maurer
92525fb869 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 2197b3806b793594af60bd38e59c898716ee6082)
2022-07-08 08:27:19 +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
1c90b4344d Revert "HBASE-27157 Potential race condition in WorkerAssigner (#4577)"
This reverts commit d79d812dd01e2b5e6b0bc3ba463fcba7280be394.
2022-07-07 08:38:43 +08:00
Ujjawal
fadf48c40f
HBASE-27175 - Failure to cleanup WAL split dir log should be at INFO level (#4593)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-07-06 16:34:21 -07:00
Bryan Beaudreault
f213c52d96 HBASE-27048 Addendum spotless fix 2022-07-06 13:53:35 -04:00
Bryan Beaudreault
8fcb94ae8a HBASE-27048 Server side scanner time limit should account for time in queue (#4562)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-06 13:46:37 -04:00
Nick Dimiduk
a8b253ebb4
HBASE-27172 Upgrade OpenTelemetry dependency to 1.15.0
- the agent jar dropped the `-all` classifier after 1.8.0

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-07-06 13:55:10 +02:00
wenwj0
1b5f32ef4a HBASE-27101 support commons-crypto version 1.1.0 (#4506)
Co-authored-by: wenwj0 <wenweijian2@huawei.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit ad13675db3cb3a63f4690db7a976e6935b07f378)
2022-07-06 19:19:28 +08:00
Ruanhui
d79d812dd0 HBASE-27157 Potential race condition in WorkerAssigner (#4577)
Co-authored-by: huiruan <huiruan@tencent.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Lijin Bin <binlijin@apache.org>
(cherry picked from commit f76d8554ca586f925a1514060e6437fcb0e477d6)
2022-07-06 12:39:48 +08:00
tianhang
b59c8b8dcb HBASE-27171 Fix Annotation Error in HRegionFileSystem (#4588)
Co-authored-by: Tang Tianhang <tianhang.tang@shopee.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 6031a3a8d4729279a27e6271fe847c1ab6a011d7)
2022-07-06 12:39:06 +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
57a3781160 HBASE-27170 ByteBuffAllocator leak when decompressing blocks near minSizeForReservoirUse (#4592)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-07-04 16:37:29 -04:00
Duo Zhang
20f247934a HBASE-27169 TestSeparateClientZKCluster is flaky (#4587)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
(cherry picked from commit 03c23beb57e5927d2244a00b66ce6fa3148aa84b)
2022-07-01 22:13:21 +08:00
BukrosSzabolcs
0727015bf5
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-06-30 20:44:45 +01:00
Ishika
d2509d709b HBASE-26218 Add logs in Canary tool (#4501)
Co-authored-by: Ishika Soni <isoni@isoni-ltmag9r.internal.salesforce.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit acfbc3ff7dacd706fabe1eb586a7c64019d27328)
2022-06-30 23:28:26 +08:00
Andrew Purtell
e4d2895cad HBASE-27166 WAL value compression minor improvements (#4584)
A larger IO buffer for absorbing WALCodec writes can improve the compression
ratio of larger values, because the compressor will be given a larger internal
buffer over which there will be more match opportunities. Does not impact the
ability to read existing written files.

Also, reset the BAOS internal buffer on the way out of compress() so potential
large-ish buffers do not linger on the heap longer than necessary.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-28 12:53:30 -07:00
Duo Zhang
bd08ebb21c HBASE-27160 ClientZKSyncer.deleteDataForClientZkUntilSuccess should break from the loop when deletion is succeeded (#4579)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
(cherry picked from commit d7f6861e8dfc06398455330e25bdac958d0dcb37)
2022-06-26 15:27:28 +08:00
Bryan Beaudreault
c0a8647c53
HBASE-27060 Addendum spotless fix (#4580)
Signed-off-by: Sean Busbey <busbey@apache.org>
2022-06-25 17:28:09 -04:00
Andrew Purtell
a9f9701b72 Revert "HBASE-26856 BufferedDataBlockEncoder.OnheapDecodedCell value can get corrupted"
This reverts commit 96693e8b40744d126c2f97d8704a581a6aa5664e.

See also HBASE-27151 TestMultiRespectsLimits.testBlockMultiLimits repeatable failure
2022-06-25 10:57:47 -07:00
Bryan Beaudreault
3ed78a039b HBASE-27060 Addendum fix HBaseTestingUtility import in test 2022-06-25 01:45:08 -04:00
Bryan Beaudreault
5c273dacd0 HBASE-27060 Allow sharing connections between AggregationClient instances (#4566)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-24 10:50:13 -04:00
Duo Zhang
e8f04a8a7f HBASE-27146 Avoid CellUtil.cloneRow in MetaCellComparator (#4571)
Signed-off-by: Bryan Beaudreault <bbeaudreault@apache.org>
Reviewed-by: SiCheng-Zheng <643463623@qq.com>
(cherry picked from commit b1691a53185efcafc1d2a15767a88825f4d7b625)
2022-06-24 22:37:27 +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
Andrew Purtell
da76941b0e HBASE-27111 Make Netty channel bytebuf allocator configurable. (#4525)
Support site configuration of the bytebuf allocator that Netty will use for
NettyRpcServer channels. Property name is 'hbase.netty.rpcserver.allocator'.
Default is no value, which is equivalent to "pooled". Valid values are:
- "pooled": use PooledByteBufAllocator
- "unpooled": use UnpooledByteBufAllocator
- "heap": use HeapByteBufAllocator, which is a PooledByteBufAllocator that
   preferentially allocates buffers on heap wherever possible
- <class>: If the value is none of the recognized labels, treat it as a class
  name implementing org.apache.hbase.thirdparty.io.netty.buffer.ByteBufAllocator.
  This allows the user to add a custom implementation, perhaps for debugging.

Also updates ReflectionUtils with a new helper method.

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

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/NettyRpcServer.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/TestNettyRpcServer.java
2022-06-23 15:18:32 -07:00
Bryan Beaudreault
409a7a44e8
HBASE-26945 Quotas causes too much load on meta for large clusters (#4576)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2022-06-23 16:47:09 -04:00
Kerasone
d129b56f26 HBASE-27001 The deleted variable cannot be printed out (#4479)
* The deleted variable cannot be printed out, add it

Co-authored-by: selina.yan <selina.yan@huolala.cn>

Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
(cherry picked from commit b8558d30d0027d031ce6dec8b2ba0243c3a58554)
2022-06-23 22:43:05 +05:30
Pankaj
c74bf8b6e2
HBASE-27105 HBaseInterClusterReplicationEndpoint should honor replication adaptive timeout (#4569)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2022-06-23 22:22:57 +05:30
Duo Zhang
b570d2e81d HBASE-27141 Upgrade hbase-thirdparty dependency to 4.1.1 (#4552)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
(cherry picked from commit 9bae50f83c6c300d8952527bece28c3d2c13e179)
2022-06-22 22:42:52 +08:00
litao
ed96746747
HBASE-27098 Fix link for field comments (#4499)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-06-21 18:30:50 -07:00
Tak Lon (Stephen) Wu
d28f06a560 HBASE-27143 Add hbase-unsafe as a dependency for a MR job triggered by hbase shell (#4554)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-21 13:39:20 -07: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
XinSun
bdaa4486f3
HBASE-26956 ExportSnapshot tool supports removing TTL (#4538)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-21 09:19:08 +08:00
xiaozhang0319
18400ac3bd HBASE-27099 The log printing fspread/fsread cost time unit should be milliseconds (#4500)
Co-authored-by: xiaozhang <issac.zhang@huolala.cn>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit b498efdbc1f4f51d715edcf6b06456f04f518c7f)
2022-06-21 00:14:23 +08:00
SiCheng-Zheng
e1de804ba1 HBASE-27128 when open archiveRetries totalLogSize calculation mistake (#4546)
Co-authored-by: zhengsicheng <zhengsicheng@jd.com>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 5833756e5e7cdc01d50538e5c9f959a79fcfd7a3)
2022-06-20 23:48:45 +08:00
Xiaolin Ha
f7d2d12ac1 HBASE-27125 The batch size of cleaning expired mob files should have an upper bound (#4541)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-06-18 02:07:38 +08:00
litao
ef0ff2729c
HBASE-27117 Update the method comments for RegionServerAccounting (#4532) 2022-06-16 17:19:38 -07:00
xicm
3b9491b43f HBASE-26167 Allow users to not start zookeeper and dfs cluster when using TestingHBaseCluster (#4534)
Co-authored-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Yu Li <liyu@apache.org>
(cherry picked from commit 7fc167493398436dccc4bc7864f39b278f386119)

Conflicts:
	hbase-testing-util/src/main/java/org/apache/hadoop/hbase/testing/TestingHBaseClusterImpl.java
2022-06-15 13:44:16 +08:00
Mohammad Arshad
96693e8b40 HBASE-26856 BufferedDataBlockEncoder.OnheapDecodedCell value can get corrupted
Created OnheapDecodedCell and OffheapDecodedExtendedCell objects with duplicate copy of
ByteBuffer's underlying array instead of original ByteBuffer

Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
2022-06-13 14:21:03 +02:00
Viraj Jasani
b8f0c61ed7 Revert "HBASE-25709 Close region may stuck when region is compacting and skipped most cells read (#3117)" (#4524)
This reverts commit f3a48d19101a6a485628f71fc4b980fb95b44ad2.

Signed-off-by: Andrew Purtell <apurtell@apache.org>

Conflicts:
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
2022-06-12 10:24:02 -07:00
Andrew Purtell
18a1a4bdac HBASE-27097 SimpleRpcServer is broken (#4521)
Apply https://issues.apache.org/jira/secure/attachment/13044874/MultiByteBuff.patch
from Lijin Bin on JIRA.

Co-authored-by: Lijin Bin <binlijin@apache.org>
Signed-off-by: Lijin Bin <binlijin@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2022-06-11 10:41:38 -07:00
Duo Zhang
b21377f76b Revert "HBASE-27084 Add spotless:check in mvn verify stage (#4482)"
This reverts commit eca7c6056ca211a57fa3d09aef2321121d611b84.
2022-06-12 00:12:32 +08:00