Commit Graph

1623 Commits

Author SHA1 Message Date
d-c-manning f848c61e3d
HBASE-22349 slop in StochasticLoadBalancer (#4371)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-04-28 12:28:15 -07:00
Andrew Purtell f5b10e0115
HBASE-26959 Brotli compression support (#4353)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-04-22 16:42:12 -07: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
Duo Zhang e68c61dd54
HBASE-26928 Fix several indentation problems (#4323)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2022-04-06 15:09:00 +08:00
chenglei ab4351a155
HBASE-26869 RSRpcServices.scan should deep clone cells when RpcCallCo… (#4249) 2022-03-23 17:14:07 +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 f3faa26047
HBASE-26824 TestHBaseTestingUtil.testResolvePortConflict failing after HBASE-26582 (#4203)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2022-03-11 14:43:00 +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
Istvan Toth 7d2457e075
HBASE-26777 BufferedDataBlockEncoder$OffheapDecodedExtendedCell.deepC… (#4139)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-04 13:49:19 -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
Mike Drob 06f06cbd86 HBASE-26622 Update error-prone to 2.10
Author:    Mike Drob <mdrob@apache.org>
Co-authored-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-02 16:07:23 +01: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
Tak Lon (Stephen) Wu e848d3b9d9
HBASE-26714 Introduce path configuration for system coprocessors (#4069)
Signed-off-by: Ankit Singhal <ankit@apache.org>
Signed-off-by: Wellington Ramos Chevreuil <wchevreuil@apache.org>
2022-02-03 20:19:38 -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
Duo Zhang 056e8fb88b Revert "HBASE-26473 Introduce `db.hbase.container_operations` span attribute"
This reverts commit 7d8dc35249.
2022-01-28 21:30:54 +08:00
Duo Zhang f6348d4100
HBASE-26709 Ban the usage of junit 3 TestCase (#4065)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-01-27 13:41:48 +08:00
Nick Dimiduk 7d8dc35249 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-26 13:54:41 -08:00
Wellington Ramos Chevreuil 4a94cfccc9
HBASE-26662 User.createUserForTesting should not reset UserProvider.groups every time if hbase.group.service.for.test.only is true (#4029)
Signed-off-by: Josh Elser <elserj@apache.org>
Signrd-off-by: Duo Zhang <zhangduo@apache.org>
2022-01-18 12:32:27 +00:00
Nick Dimiduk 9f47ab568a
HBASE-26520 Remove use of `db.hbase.namespance` tracing attribute (#4015)
The HBase-specific attribute `db.hbase.namespace` has been deprecated in favor of the generic
`db.name`. See also https://github.com/open-telemetry/opentelemetry-specification/issues/1760

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Tak Lon (Stephen) Wu <taklwu@apache.org>
2022-01-10 17:02:50 -08:00
Nick Dimiduk 5cb7ed8005
HBASE-26474 Implement connection-level attributes (#3952)
Add support for `db.system`, `db.connection_string`, `db.user`.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-01-05 15:32:12 -08:00
Yutong Xiao 96be585324
HBASE-26635 Optimize decodeNumeric in OrderedBytes (#3986)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-01-01 20:42:57 +08:00
Duo Zhang 5ac76c1c00 HBASE-26539 The default rpc timeout 200ms is too small for replicating meta edits (#3919)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2021-12-31 12:29:48 +08:00
Duo Zhang 529c36e7ad HBASE-26416 Implement a new method for region replication instead of using replay (#3864)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2021-12-31 12:29:48 +08:00
Yutong Xiao 543582e7eb
HBASE-26566 Optimize encodeNumeric in OrderedBytes (#3940)
Signed-off-by: Reid Chan <reidchan@apache.org>
2021-12-27 23:57:30 +08:00
Duo Zhang 3f59f21be0
HBASE-26621 Set version as 3.0.0-alpha-3-SNAPSHOT in master (#3978)
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-12-24 14:20:32 +08:00
Yutong Xiao 6818ec23b8
HBASE-26613 The logic of the method incrementIV in Encryption class has problem (#3968)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-12-23 00:00:12 +08:00
Nick Dimiduk 8f5a12f794
HBASE-26472 Adhere to semantic conventions regarding table data operations
Follows the guidance outlined in https://github.com/open-telemetry/opentelemetry-specification/blob/3e380e2/specification/trace/semantic_conventions/database.dm

* all table data operations are assumed to be of type CLIENT
* populate `db.name` and `db.operation` attributes
* name table data operation spans as `db.operation` `db.name`:`db.hbase.table`
  note: this implementation deviates from the recommended `db.name`.`db.sql.table` and instead
  uses HBase's native String representation of namespace:tablename.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Tak Lon (Stephen) Wu <taklwu@apache.org>
2021-12-14 15:23:16 -08:00
Duo Zhang 8bca21b47d
HBASE-26558 Set version as 3.0.0-alpha-2 in master in prep for first RC of 3.0.0-alpha-2 (#3935)
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
2021-12-11 20:52:35 +08:00
Istvan Toth d9315fa043
HBASE-26527 ArrayIndexOutOfBoundsException in KeyValueUtil.copyToNewKeyValue() (#3904)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-12-06 23:56:00 +08:00
Istvan Toth 7845d006e6 HBASE-26512 Make timestamp format configurable in HBase shell scan output
Signed-off-by: Josh Elser <elserj@apache.org
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-12-01 14:15:46 -05:00
Nick Dimiduk ea824df571
HBASE-26471 Move tracing semantic attributes to their own class (#3896)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Tak Lon (Stephen) Wu <taklwu@apache.org>
2021-12-01 09:21:20 -08:00
Rushabh Shah d1762f5209
HBASE-26468 Region Server doesn't exit cleanly incase it crashes. (#3862)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-12-01 11:04:35 +05:30
Bryan Beaudreault 1b27124c61
HBASE-26304 Reflect out of band locality improvements in metrics and balancer (#3803)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-27 12:01:46 +08:00
Nick Dimiduk 76ceda3b58 HBASE-26414 Tracing INSTRUMENTATION_NAME is incorrect (#3810)
Signed-off-by: Tak Lon (Stephen) Wu <taklwu@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-10 13:54:26 +08:00
Yutong Xiao e1ca056676
HBASE-26410 Fix HBase TestCanaryTool for Java17 (#3809)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-09 22:11:21 +08:00
Andrew Purtell ff11f1115f Amend HBASE-26353 Support loadable dictionaries in hbase-compression-zstd (#3787)
Resolve a new spotbugs warning in DictionaryCache

Signed-off-by: Andrew Purtell <apache.org>
2021-10-29 09:20:08 -07:00
Andrew Purtell 45f76a4104
HBASE-26353 Support loadable dictionaries in hbase-compression-zstd (#3787)
ZStandard supports initialization of compressors and decompressors with a
precomputed dictionary, which can dramatically improve and speed up compression
of tables with small values. For more details, please see

  The Case For Small Data Compression
  https://github.com/facebook/zstd#the-case-for-small-data-compression

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-10-27 07:39:55 -07:00
Yutong Xiao a5a349f289
HBASE-26392 Update ClassSize.BYTE_BUFFER for JDK17 (#3784)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-10-27 22:02:59 +08:00
NishthaShah 9e47358ecb
HBASE-26369 Fix checkstyle issues for KeyValue and ByteBufferUtils (#3765)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-10-22 19:50:06 +05:30
Andrew Purtell e0813e5402 Revert "HBASE-26353 Support loadable dictionaries in hbase-compression-zstd (#3748)"
This reverts commit bfa4584125.

This is not ready yet. There are some code paths remaining where store
configuration (CompoundConfiguration) is not passed into the block decoding
context. Found with additional integration tests.
2021-10-21 18:42:05 -07:00
Andrew Purtell bfa4584125
HBASE-26353 Support loadable dictionaries in hbase-compression-zstd (#3748)
ZStandard supports initialization of compressors and decompressors with a
precomputed dictionary, which can dramatically improve and speed up compression
of tables with small values. For more details, please see

  The Case For Small Data Compression
  https://github.com/facebook/zstd#the-case-for-small-data-compression

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-10-19 13:37:24 -07:00
Andrew Purtell 8a6fed7b19
HBASE-26316 Per-table or per-CF compression codec setting overrides (#3730)
We get and retain Compressor instances in HFileBlockDefaultEncodingContext,
and could in theory call Compressor#reinit when setting up the context,
to update compression parameters like level and buffer size, but we do
not plumb through the CompoundConfiguration from the Store into the
encoding context. As a consequence we can only update codec parameters
globally in system site conf files.

Fine grained configurability is important for algorithms like ZStandard
(ZSTD), which offers more than 20 compression levels, where at level 1
it is almost as fast as LZ4, and where at higher levels it utilizes
computationally expensive techniques to rival LZMA at compression ratio
but trades off significantly for reduced compresson throughput. The ZSTD
level that should be set for a given column family or table will vary by
use case.

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-10-19 12:04:25 -07:00
chenglei b898661ad0
HBASE-26344 Fix Bug for MultiByteBuff.put(int, byte) (#3741)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-10-14 22:53:09 +08:00
Andrew Purtell 42fe5e5baa
HBASE-26259 Fallback support to pure Java compression (#3691)
This change introduces provided compression codecs to HBase as
new Maven modules. Each module provides compression codec support
that formerly required Hadoop native codecs, which in turn relies
on native code integration, which may or may not be available on
a given hardware platform or in an operational environment. We
now provide codecs in the HBase distribution for users whom for
whatever reason cannot or do not wish to deploy the Hadoop native
codecs.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-10-06 13:17:18 -07:00
Duo Zhang 113cc2a591
HBASE-26293 Use reservoir sampling when selecting bootstrap nodes (#3702)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2021-09-28 23:27:47 +08:00
Tak Lon (Stephen) Wu d956828aac HBASE-26274 Create an option to reintroduce BlockCache to mapreduce job (#3684)
Introduce `hfile.onheap.block.cache.fixed.size`
and default to disable. when using ClientSideRegionScanner
it will be enabled with a fixed size for caching
INDEX/LEAF_INDEX block when a client, e.g.
snapshot scanner, scans the entire HFile
and does not need to seek/reseek to index
block multiple times.

Signed-off-by: Josh Elser <elserj@apache.org>
2021-09-22 09:26:57 -07:00
Tak Lon (Stephen) Wu ecd35f77ae
Revert "HBASE-26274 Create an option to reintroduce BlockCache to mapreduce job (#3684)" (#3695)
This reverts commit 6556a5ee91.
2021-09-22 09:19:05 -07:00
Tak Lon (Stephen) Wu 6556a5ee91
HBASE-26274 Create an option to reintroduce BlockCache to mapreduce job (#3684)
Introduce `hfile.onheap.block.cache.fixed.size`
and default to disable. when using ClientSideRegionScanner
it will be enabled with a fixed size for caching 
INDEX/LEAF_INDEX block when a client, e.g. 
snapshot scanner, scans the entire HFile
and does not need to seek/reseek to index
block multiple times.
2021-09-22 09:17:18 -07:00
chenglei fae6261d96
HBASE-26197 Fix some obvious bugs in MultiByteBuff.put (#3586)
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-09-07 22:25:04 +08:00