Commit Graph

1623 Commits

Author SHA1 Message Date
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
chenglei 7ae7d01faa HBASE-26344 Fix Bug for MultiByteBuff.put(int, byte) (#3741)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-10-14 22:55:44 +08:00
Andrew Purtell 18b9fa8a3c 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>

Conflicts:
	hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileEncryption.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestCompressedWAL.java
2021-10-06 13:48:33 -07:00
Duo Zhang 08a2efde16 HBASE-26293 Use reservoir sampling when selecting bootstrap nodes (#3702)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2021-09-28 23:41:28 +08:00
Tak Lon (Stephen) Wu 49ae675275
HBASE-26141 Add tracing support for HTable and sync connection on branch-2 (#3696)
* RPC and IPC tracing supported by HBASE-26125
* WAL tracing supported by HBASE-26131

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-09-25 16:44:34 -07:00
Tak Lon (Stephen) Wu e0325c40f6 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:38:20 -07:00
chenglei 62c58fc11a 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 23:48:58 +08:00
Tak Lon (Stephen) Wu ab431fc8a9 HBASE-26140 Backport HBASE-25778 "The tracinig implementation for AsyncConnectionImpl.getHbck is incorrect" to branch-2 (#3631)
17/17 commits of HBASE-22120, original commit f36e153964

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu d0a53e3f29 HBASE-26133 Backport HBASE-25591 "Upgrade opentelemetry to 0.17.1" to branch-2 (#3608)
10/17 commits of HBASE-22120, original commit f6ff519dd0

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu 8b7450f5d8 HBASE-26132 Backport HBASE-25535 "Set span kind to CLIENT in AbstractRpcClient" to branch-2 (#3607)
9/17 commits of HBASE-22120, original commit bb8c4967f8

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu 9cce94a2d0 HBASE-26131 Backport HBASE-25484 "Add trace support for WAL sync" to branch-2 (#3597)
8/17 commits of HBASE-22120, original commit 2be2c63f0d

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by:  Peter Somogyi <psomogyi@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu 321dcd4e77 HBASE-26130 Backport HBASE-25455 "Add trace support for HRegion read/… (#3594)
7/17 commits of HBASE-22120, original commit 03e12bfa4a

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by:  Duo Zhang <zhangduo@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu 83a27389a0 HBASE-26129 Backport HBASE-25481 "Add host and port attribute when tracing rpc call at client side" to branch-2 (#3589)
6/17 commits of HBASE-22120, original commit ae2c62ffaa

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by:  Peter Somogyi  <psomogyi@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu 58b5c007b9 HBASE-26127 Backport HBASE-23898 "Add trace support for simple apis i… (#3556)
4/17 commits of HBASE-22120, original commit 805b2ae2ad

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu 4dfc59c19e HBASE-26125 Backport HBASE-25401 "Add trace support for async call in rpc client" to branch-2 (#3543)
2/17 commits of HBASE-22120

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-09-01 15:29:09 -07:00
Tak Lon (Stephen) Wu 665305cc3b HBASE-26124 Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2 (#3529)
1/17 commits of HBASE-22120

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-09-01 15:29:09 -07:00
Josh Elser 2728821e62
HBASE-26212 Expose configuration to enable/disable AuthUtil (#3619)
In some situations, a caller may know that it is properly managing the
Kerberos ticket to talk to HBase. In these situations, it's possible
that AuthUtil still tries to do renewals, but just fails repeatedly to
do so. Give a configuration flag for such clients to be able to tell
AuthUtil to simply stop trying.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-08-23 20:23:52 -04:00
Tak Lon (Stephen) Wu c11a3e1b39 Revert "HBASE-26124 Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2 (#3529)"
This reverts commit f049301606.
2021-08-04 15:55:13 -07:00
Tak Lon (Stephen) Wu fffdcba5bb Revert "HBASE-26125 Backport HBASE-25401 "Add trace support for async call in rpc client" to branch-2 (#3543)"
This reverts commit ca096437d7.
2021-08-04 15:55:13 -07:00
Tak Lon (Stephen) Wu ca096437d7
HBASE-26125 Backport HBASE-25401 "Add trace support for async call in rpc client" to branch-2 (#3543)
2/17 commits of HBASE-22120

Co-authored-by: Duo Zhang <zhangduo@apache.org>

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-08-02 11:33:19 -07:00
Tak Lon (Stephen) Wu f049301606
HBASE-26124 Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2 (#3529)
1/17 commits of HBASE-22120

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-07-29 09:15:10 -07:00
Wei-Chiu Chuang 37c3f7b446
HBASE-21946 Use ByteBuffer pread instead of byte[] pread in HFileBlock when applicable (#3434)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
(cherry picked from commit 4a3c7d73b0)
2021-07-26 17:43:10 +08:00
Andrew Purtell 5ce9339972 HBASE-25521 Change ChoreService and ScheduledChore to IA.Private (#3505)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by Reid Chan <reidchan@apache.org>
2021-07-22 09:00:40 -07:00
meiyi 729da5a6d3
HBASE-24734 RegionInfo#containsRange should support check meta table (#3496) (#3517)
Signed-off-by: zhangduo <zhangduo@apache.org>
2021-07-22 18:04:24 +08:00
Aman Poonia cabf0dc51d
HBASE-25986 set default value of normalization enabled from hbase site (#3476) (#3372)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-07-19 15:26:52 +05:30
Xiaolin Ha 692d384ec6
HBASE-26036 DBB released too early in HRegion.get() and dirty data for some operations (#3436) (#3486)
Signed-off-by: Michael Stack <stack@apache.org>
2021-07-14 16:30:46 +08:00
Wei-Chiu Chuang 3d4a0dff6e HBASE-26041 Replace PrintThreadInfoHelper with HBase's own ReflectionUtils.printThreadInfo() (#3442)
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-07-02 11:02:18 +08:00
Duo Zhang 9fe1781037 HBASE-26020 Split TestWALEntryStream.testDifferentCounts out (#3409)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2021-06-23 22:51:23 +08:00
Wei-Chiu Chuang e3eb760864 HBASE-26019 Remove the reflection and call Configuration.getPassword() directly. (#3408)
Reviewed-by: Viraj Jasani <vjasani@apache.org>
Reviewed-by: Wellington Chevreuil <wchevreuil@apache.org>
Reviewed-by: litao <tomleescut@gmail.com>
2021-06-23 13:25:42 +02:00
Peter Somogyi 1978faee0e Revert "Remove the reflection and call Configuration.getPassword() directly. (#3408)"
This reverts commit 669ff7be82.
2021-06-23 13:25:10 +02:00
Wei-Chiu Chuang 669ff7be82
Remove the reflection and call Configuration.getPassword() directly. (#3408)
Reviewed-by: Viraj Jasani <vjasani@apache.org>
Reviewed-by: Wellington Chevreuil <wchevreuil@apache.org>
Reviewed-by: litao <tomleescut@gmail.com>
(cherry picked from commit 9a324bd4d0)
2021-06-23 09:17:22 +08:00
Andrew Purtell a1d59bf1a5 HBASE-25994 Active WAL tailing fails when WAL value compression is enabled (#3377)
Depending on which compression codec is used, a short read of the
compressed bytes can cause catastrophic errors that confuse the WAL reader.
This problem can manifest when the reader is actively tailing the WAL for
replication. To avoid these issues when WAL value compression is enabled,
BoundedDelegatingInputStream should assume enough bytes are available to
supply a reader up to its bound. This behavior is valid per the contract
of available(), which provides an _estimate_ of available bytes, and
equivalent to IOUtils.readFully but without requiring an intermediate
buffer.

Added TestReplicationCompressedWAL and TestReplicationValueCompressedWAL.
Without the WALCellCodec change TestReplicationValueCompressedWAL will
fail.

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2021-06-14 17:18:53 -07:00
Andrew Purtell a4e8ee183e HBASE-25911 Replace calls to System.currentTimeMillis with EnvironmentEdgeManager.currentTime (#3302)
We introduced EnvironmentEdgeManager as a way to inject alternate clocks
for unit tests. In order for this to be effective, all callers that would
otherwise use System.currentTimeMillis() must call
EnvironmentEdgeManager.currentTime() instead, except the implementers of
EnvironmentEdge.

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

Conflicts:
	hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/impl/BackupManager.java
	hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestBackupBase.java
	hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestBackupManager.java
	hbase-backup/src/test/java/org/apache/hadoop/hbase/backup/TestBackupSystemTable.java
	hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncConnectionTracing.java
	hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncRegionLocatorTracing.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBackupRestore.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestManyRegions.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/chaos/actions/MoveRegionsOfTableAction.java
	hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestWALRecordReader.java
	hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/replication/TestVerifyReplicationCrossDiffHdfs.java
	hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/snapshot/TestExportSnapshotV1NoCluster.java
	hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestEnableRSGroups.java
	hbase-rsgroup/src/test/java/org/apache/hadoop/hbase/rsgroup/TestRSGroupsAdmin2.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/SimpleRpcServer.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/wal/AbstractWALRoller.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaTableAccessor.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/TestMetaUpdatesGoToPriorityQueue.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/TestSerialization.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/backup/TestHFileArchiving.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/RestoreSnapshotFromClientSimpleTestBase.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin2.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestConnection.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMobCloneSnapshotFromClientCloneLinksAfterDelete.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMutationGetCellBuilder.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotMetadata.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestActiveMasterManager.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterMetricsWrapper.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMetaAssignmentWithStopMaster.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestRegionStateStore.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestLogsCleaner.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestReplicationHFileCleaner.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/janitor/TestCatalogJanitor.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestCloneSnapshotProcedure.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestRestoreSnapshotProcedure.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStorePerformanceEvaluation.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionInfo.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHStoreFile.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMajorCompaction.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionOpen.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSimpleTimeRangeTracker.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestCloseChecker.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestProtobufLog.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/AbstractTestWALReplay.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestCombinedAsyncWriter.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/master/TestRecoverStandbyProcedure.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestSyncReplicationWALProvider.java
	hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java
	hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java
2021-06-01 12:41:15 -07:00
Michael Stack 1a45b743a0 HBASE-25940 Update Compression/TestCompressionTest: LZ4, SNAPPY, LZO (#3334)
Undo asserts that LZ4 and SNAPPY fails if their native libs are NOT
loaded; as of hadoop 3.3.1, LZ4 and SNAPPY can work w/o native libs.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-29 09:04:08 -07:00
Baiqiang Zhao bbe9558040
HBASE-25745 Deprecate/Rename config `hbase.normalizer.min.region.count` to `hbase.normalizer.merge.min.region.count`
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2021-05-28 13:10:20 -07:00
Baiqiang Zhao a1cac20e95 HBASE-25928 TestHBaseConfiguration#testDeprecatedConfigurations is broken with Hadoop 3.3 (#3320)
Signed-off-by: Wei-Chiu Chuang <weichiu@apache.org>
Signed-off-by: stack <stack@apache.org>
2021-05-28 07:27:39 -07:00
Andrew Purtell 2d591ab3c4 HBASE-25869 WAL value compression (#3244)
WAL storage can be expensive, especially if the cell values
represented in the edits are large, consisting of blobs or
significant lengths of text. Such WALs might need to be kept around
for a fairly long time to satisfy replication constraints on a space
limited (or space-contended) filesystem.

We have a custom dictionary compression scheme for cell metadata that
is engaged when WAL compression is enabled in site configuration.
This is fine for that application, where we can expect the universe
of values and their lengths in the custom dictionaries to be
constrained. For arbitrary cell values it is better to use one of the
available compression codecs, which are suitable for arbitrary albeit
compressible data.

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2021-05-21 11:53:36 -07:00
Baiqiang Zhao cd06870f07
HBASE-25682 Add a new command to update the configuration of all RSs in a RSGroup for branch-2 (#3106)
* HBASE-25682 Add a new command to update the configuration of all RSs in a RSGroup

Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
2021-05-21 22:49:48 +05:30
Nick Dimiduk aab6e1d0ff
HBASE-25861 Correct the usage of Configuration#addDeprecation (#3249)
Co-authored-by: Baiqiang Zhao <zbq.dean@gmail.com>
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2021-05-18 06:53:31 -07:00
GeorryHuang 63d49cb7ed
HBASE-25790 NamedQueue 'BalancerRejection' for recent history of balancer skipping (#3182) (#3245)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-09 00:09:23 +05:30
Duo Zhang c52c091609 HBASE-25819 Fix style issues for StochasticLoadBalancer (#3207)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-04-29 11:26:58 +08:00
ZhiChen 46a106014e HBASE-25762 Improvement for some debug-logging guards (#3145)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-04-13 23:25:03 +08:00
Jan Hentschel 18882d6f9a
HBASE-24305 Prepare deprecations in ServerName (#1666) (#3121)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: stack <stack@apache.org>
2021-04-05 22:10:04 +02:00
Duo Zhang deb6d005f9
HBASE-25696 Need to initialize SLF4JBridgeHandler in jul-to-slf4j for redirecting jul to slf4j (#3093) (#3112)
Signed-off-by: Michael Stack <stack@apache.org>
2021-04-02 17:30:43 +08:00
stack b051ad5594 Revert "HBASE-25713 Make an hbase-wal module"
This reverts commit e58f1b24a6.
2021-03-31 16:15:50 -07:00
stack e58f1b24a6 HBASE-25713 Make an hbase-wal module
First extract an hbase-coprocessor module used by hbase-client, hbase-server.
This is prerequisite to extracting an hbase-wal module.

M hbase-common/src/main/java/org/apache/hadoop/hbase/Abortable.java
M hbase-common/src/main/java/org/apache/hadoop/hbase/DoNotRetryIOException.java
M hbase-common/src/main/java/org/apache/hadoop/hbase/util/SortedList.java
 Move to hbase-common. Its a generic Interface. Need by

M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/Coprocessor.java
M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/CoprocessorEnvironment.java
M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEnvironment.java
M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContext.java
M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ObserverContextImpl.java
M hbase-coprocessor/src/main/java/org/apache/hadoop/hbase/coprocessor/ReadOnlyConfiguration.java
 Move to hbase-coprocessor.

M hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/BigDecimalColumnInterpreter.java
M hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/DoubleColumnInterpreter.java
M hbase-endpoint/src/main/java/org/apache/hadoop/hbase/client/coprocessor/LongColumnInterpreter.java
M hbase-endpoint/src/main/java/org/apache/hadoop/hbase/coprocessor/ColumnInterpreter.java
 Moved to hbase-endpoint where they are used.
M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
 Include region name when toString'd.
M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.java
 Include WAL name when toString'd.
M hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
 Add utility used in testing here from CoprocessorHost.
2021-03-31 16:14:45 -07:00
haxiaolin 566b0512a7 HBASE-25518 Support separate child regions to different region servers (#3001)
Signed-off-by: stack <stack@apache.org>
2021-03-18 12:39:00 -07:00
bitterfox a61e9b963d HBASE-25665 Option to use hostname instead of canonical hostname for secure HBase cluster connection (#3051) 2021-03-16 21:05:23 -07:00
shahrs87 bb4d8b9cf7 HBASE-25622 Result#compareResults should compare tags. (#3026)
Signed-off-by: stack <stack@apache.org>
2021-03-11 21:52:11 -08:00
Mohammad Arshad 0487760829
HBASE-25492: Create table with RSGroup (#2883)
Added new interface in TableDescriptor which allows user to define RSGroup name while creating or modifying a table.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
2021-03-06 10:44:19 +05:30
niuyulin 621edfe1da HBASE-25603 Add switch for compaction after bulkload (#2982)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2021-03-04 10:11:19 +08:00
Peter Somogyi c1cc8469dc HBASE-25611 ExportSnapshot chmod flag uses value as decimal (#3003)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
2021-03-02 11:25:58 +01:00
stack 4c6f0f35bf HBASE-25512 May throw StringIndexOutOfBoundsException when construct illegal tablename error
Revert of a revert -- i.e. a reapply -- that adds in the JIRA # missing
from original commit.
2021-02-08 14:38:03 -08:00
stack 1d281effe6 Revert "fix bug: string out of bounds when construct illegal tablename error message (#2884)"
This reverts commit 9b6c135df6.
2021-02-08 14:37:46 -08:00
zhengzhuobinzzb 9b6c135df6 fix bug: string out of bounds when construct illegal tablename error message (#2884)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: stack <stack@apache.org>
2021-02-08 13:39:21 -08:00
Bharath Vissapragada b930ea1ebb
HBASE-25528: Dedicated merge dispatch threadpool on master (#2910)
Adds "hbase.master.executor.merge.dispatch.threads" and defaults to 2.

Also adds additional logging that includes the number of split plans
and merge plans computed for each normalizer run.

(cherry picked from commit 36b4698cea)

Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2021-01-28 16:09:18 -08:00
Duo Zhang f70229b193 HBASE-25509 ChoreService.cancelChore will not call ScheduledChore.cle… (#2890)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-01-20 23:24:16 +08:00
Baiqiang Zhao c5674e21dd
HBASE-25439 Add BYTE unit in PrettyPrinter.Unit (#2840)
Signed-off-by: stack <stack@apache.org>
2021-01-14 21:47:01 -08:00
申胜利 478c4e8d6a HBASE-25449 'dfs.client.read.shortcircuit' should not be set in hbase-default.xml
Revert of the revert -- re-applying HBASE-25449 with a change
of renaming the test hdfs XML configuration file as it was adversely
affecting tests using MiniDFS

This reverts commit c218e576fe.

Co-authored-by: Josh Elser <elserj@apache.org>

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-01-13 21:06:13 -05:00
Duo Zhang 51e8cf4d34 Revert "HBASE-25449 'dfs.client.read.shortcircuit' should not be set in hbase-default.xml"
This reverts commit 661bea9135.
2021-01-12 16:09:27 +08:00
Viraj Jasani 0788547fea
HBASE-25474 : Bump HBase version on branch-2 (#2871)
Signed-off-by: stack <stack@apache.org>
2021-01-12 10:20:22 +05:30
申胜利 661bea9135 HBASE-25449 'dfs.client.read.shortcircuit' should not be set in hbase-default.xml
Signed-off-by: Josh Elser <elserj@apache.org>
2021-01-08 15:20:27 -05:00
申胜利 d2c1886bf4 Shenshengli hbase-25450 The parameter "hbase.bucketcache.size" is misdescribed (#2821)
Signed-off-by: Anoop Sam John <anoopsamjohn@apache.org>
Signed-off-by: stack <stack@apache.org>
2021-01-03 09:31:10 -08:00
Pankaj 382ebf3f4e HBASE-25379 Make retry pause time configurable for regionserver short operation RPC (reportRegionStateTransition/reportProcedureDone) (#2757)
* HBASE-25379 Make retry pause time configurable for regionserver short operation RPC (reportRegionStateTransition/reportProcedureDone)
* HBASE-25379 RemoteProcedureResultReporter also should retry after the configured pause time
* Addressed the review comments

Signed-off-by: Yulin Niu <niuyulin@apache.org>
(cherry picked from commit c96fbf0407)
2020-12-29 22:33:31 +05:30