Commit Graph

1586 Commits

Author SHA1 Message Date
Nick Dimiduk 71bd62da41 Revert "HBASE-26856:BufferedDataBlockEncoder.OnheapDecodedCell value can get corrupted (#4394)"
This reverts commit de9a17e75c.
2022-05-18 13:03:16 +02:00
Mohammad Arshad de9a17e75c HBASE-26856:BufferedDataBlockEncoder.OnheapDecodedCell value can get corrupted (#4394)
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>
(cherry picked from commit c198f23e5e)
2022-05-17 10:58:06 +05:30
Tak Lon (Stephen) Wu 43e8c11989 HBASE-27013 Introduce read all bytes when using pread for prefetch (#4414)
- introduce optional flag `hfile.pread.all.bytes.enabled` for pread that must read full bytes with the next block header

Signed-off-by: Josh Elser <elserj@apache.org>
2022-05-13 13:14:17 -07:00
Duo Zhang 1a5b1b266c HBASE-26899 Run spotless:apply 2022-05-01 22:41:49 +08:00
d-c-manning fd2e7205ac HBASE-22349 slop in StochasticLoadBalancer (#4371)
Signed-off-by: Andrew Purtell <apurtell@apache.org>

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/BalancerTestBase.java
2022-04-28 12:38:50 -07:00
Andrew Purtell 0f9f6f2cde HBASE-26959 Brotli compression support (#4353)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-04-22 16:48:04 -07: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
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 3ae0d9012c)
2022-04-09 23:13:49 +08:00
Duo Zhang 197b8d48ec HBASE-26928 Fix several indentation problems (#4323)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
(cherry picked from commit e68c61dd54)
2022-04-06 15:14:03 +08:00
chenglei 5affa20359
HBASE-26869 RSRpcServices.scan should deep clone cells when RpcCallContext is null (#4264) 2022-03-23 18:31:47 +08:00
chenglei c55c289e99
Revert "HBASE-26869 RSRpcServices.scan should deep clone cells when RpcCallContext is null (#4262)" (#4263)
This reverts commit d889746bc6.
2022-03-23 17:52:11 +08:00
chenglei d889746bc6
HBASE-26869 RSRpcServices.scan should deep clone cells when RpcCallContext is null (#4262) 2022-03-23 17:48:20 +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
Andrew Purtell 0b879f2054 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:54:49 +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
Istvan Toth eb1c57d12e HBASE-26777 BufferedDataBlockEncoder$OffheapDecodedExtendedCell.deepC… (#4139)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-04 13:50:03 -08:00
Duo Zhang 4644efb9f3
HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2022-03-04 12:06:34 -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
Mike Drob 8a9e083994 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-03 11:51:51 +01: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
Duo Zhang d747da6985 HBASE-26709 Ban the usage of junit 3 TestCase (#4065)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2022-02-10 01:06:06 +08:00
Tak Lon (Stephen) Wu f637a60bdd
HBASE-26729 Backport "HBASE-26714 Introduce path configuration for system coprocessors" to branch-2 (#4093)
- rename from HBaseCommonTestingUtil to HBaseCommonTestingUtility

Signed-off-by: Ankit Singhal <ankit@apache.org>
2022-02-04 05:56:23 -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 836f9be0cf Revert "HBASE-26473 Introduce `db.hbase.container_operations` span attribute"
This reverts commit 4748707499.
2022-01-28 21:33:13 +08:00
Nick Dimiduk 4748707499 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-27 08:15:20 -08:00
Nick Dimiduk c2b4ccdc1d 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-19 10:20:02 -08:00
Nick Dimiduk d4f2b66a43
HBASE-26474 Implement connection-level attributes (#4014)
Add support for `db.system`, `db.connection_string`, `db.user`.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
Co-authored-by: Josh Elser <josh.elser@gmail.com>
2022-01-18 12:29:35 -08:00
Wellington Ramos Chevreuil e3e42df7f2 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:35:14 +00:00
Duo Zhang cd87e10081
HBASE-26638 Cherry-pick the ReflectionUtils improvements in HBASE-21515 to branch-2 (#3993)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2022-01-02 17:32:45 +08:00
Yutong Xiao 523848e033 HBASE-26635 Optimize decodeNumeric in OrderedBytes (#3986)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-01-01 20:51:05 +08:00
Yutong Xiao c28a266613 HBASE-26566 Optimize encodeNumeric in OrderedBytes (#3940)
Signed-off-by: Reid Chan <reidchan@apache.org>
2021-12-27 23:59:38 +08:00
Yutong Xiao c6aac613a0 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:09:19 +08:00
Nick Dimiduk c7a8e428df
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:55:53 -08:00
Andrew Purtell b1bc5f3a5c Renumber to 2.6.0-SNAPSHOT after branching branch-2.5
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2021-12-08 16:54:32 -08:00
Istvan Toth a5a8cd8a63 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:58:10 +08:00
Bryan Beaudreault d504504875
HBASE-26304 Reflect out of band locality improvements in metrics and balancer (#3895)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-12-04 12:23:09 +08:00
Nick Dimiduk d1c68a2d5c 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 13:24:08 -08:00
Istvan Toth 061ccffb9e 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 10:12:10 -05:00
Rushabh Shah 6fc5bbc19a
HBASE-26468 Region Server doesn't exit cleanly incase it crashes. (#3865) (#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:06:07 +05:30
Nick Dimiduk f90882aa86
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 12:53:36 +08:00
Yutong Xiao 9db7630d23 HBASE-26410 Fix HBase TestCanaryTool for Java17 (#3809)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-09 22:21:01 +08:00
Rushabh Shah 19433ba677
HBASE-26404 Update javadoc for CellUtil#createCell with tags methods. (#3801)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-01 15:58:31 +08:00
Andrew Purtell 60f01153f7 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:24:54 -07:00
Andrew Purtell f2c58fcf68 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>

Conflicts:
	hbase-compression/hbase-compression-zstd/src/main/java/org/apache/hadoop/hbase/io/compress/zstd/ZstdCodec.java
2021-10-27 07:57:16 -07:00
Yutong Xiao 82fe021b5f HBASE-26392 Update ClassSize.BYTE_BUFFER for JDK17 (#3784)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-10-27 22:04:39 +08:00
NishthaShah 73e5e03c04
HBASE-26369 Fix checkstyle issues for KeyValue and ByteBufferUtils (#3785) (#3765)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-10-22 19:51:20 +05:30
Andrew Purtell 644f820c6c Revert "HBASE-26353 Support loadable dictionaries in hbase-compression-zstd (#3748)"
This reverts commit 8ac0b5ed7f.

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:41:59 -07:00
Andrew Purtell 8ac0b5ed7f 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 14:12:28 -07:00
Andrew Purtell b6bb18022f 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>

Conflicts:
	hbase-compression/hbase-compression-zstd/src/main/java/org/apache/hadoop/hbase/io/compress/zstd/ZstdDecompressor.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/io/compress/HFileTestBase.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestSeekToBlockWithEncoders.java
2021-10-19 13:59:04 -07:00