Go to file
Andrew Purtell 210517040b 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 16:12:08 -08:00
.idea HBASE-23707 Add IntelliJ check style plugin configuration (#1064) (#1092) 2020-01-27 10:45:27 -08:00
bin HBASE-26146: Add support for HBASE_HBCK_OPTS (#3537) 2021-07-27 22:06:51 -07:00
conf HBASE-24343 Document how to configure the http request log 2020-05-29 16:59:35 -07:00
dev-support HBASE-26788 Disable Checks API callback from test results in PRs 2022-03-03 12:02:58 +01:00
hbase-annotations Preparing development version 2.4.11-SNAPSHOT 2022-02-28 09:53:11 -08:00
hbase-archetypes HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-assembly Amend HBASE-26691 Replacing log4j with reload4j for branch-2.x 2022-03-04 12:29:01 -08:00
hbase-asyncfs HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-build-configuration Preparing development version 2.4.11-SNAPSHOT 2022-02-28 09:53:11 -08:00
hbase-checkstyle Preparing development version 2.4.11-SNAPSHOT 2022-02-28 09:53:11 -08:00
hbase-client HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-common HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-endpoint HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-examples HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-external-blockcache Preparing development version 2.4.11-SNAPSHOT 2022-02-28 09:53:11 -08:00
hbase-hadoop-compat HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-hadoop2-compat HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-hbtop HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-http HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-it HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-logging HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-mapreduce HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-metrics HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-metrics-api HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-procedure HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-protocol Preparing development version 2.4.11-SNAPSHOT 2022-02-28 09:53:11 -08:00
hbase-protocol-shaded Amend HBASE-26691 Replacing log4j with reload4j for branch-2.x 2022-03-04 12:29:01 -08:00
hbase-replication HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-resource-bundle HBASE-26760 LICENSE handling should not allow non-aggregated apache-2.0 (#4172) 2022-03-07 11:37:44 -06:00
hbase-rest HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-rsgroup HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-server HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
hbase-shaded Amend HBASE-26691 Replacing log4j with reload4j for branch-2.x 2022-03-04 12:29:01 -08:00
hbase-shell HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-testing-util HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-thrift HBASE-26691 Replacing log4j with reload4j for branch-2.x (#4050) 2022-03-04 12:10:43 -08:00
hbase-zookeeper HBASE-26582 Prune use of Random and SecureRandom objects (#4118) 2022-03-08 16:12:08 -08:00
src HBASE-25790 NamedQueue 'BalancerRejection' for recent history of balancer skipping (#3182) (#3245) 2021-05-09 00:26:58 +05:30
.editorconfig HBASE-23767 Add JDK11 compilation and unit test support to Github precommit 2020-03-05 13:59:01 -08:00
.gitattributes HBASE-6816. [WINDOWS] line endings on checkout for .sh files 2013-01-23 19:30:14 +00:00
.gitignore HBASE-24271 Set values in `conf/hbase-site.xml` that enable running on `LocalFileSystem` out of the box 2020-05-14 14:05:40 -07:00
.pylintrc HBASE-21712 : Make submit-patch.py python3 compatible 2019-01-16 09:28:25 +01:00
.rubocop.yml HBASE-23943 Updated Rubocop configuration to current version 2020-03-18 11:48:36 +01:00
CHANGES.md Preparing hbase release 2.4.10RC1; tagging and updates to CHANGES.md and RELEASENOTES.md 2022-02-28 09:53:07 -08:00
LICENSE.txt HBASE-26741 Incorrect exception handling in shell (#4101) 2022-02-10 12:30:27 +01:00
NOTICE.txt HBASE-26741 Incorrect exception handling in shell (#4101) 2022-02-10 12:30:27 +01:00
README.txt HBASE-18548 Move sources of website gen and check jobs into source control 2017-12-19 23:40:46 +08:00
RELEASENOTES.md Preparing hbase release 2.4.10RC1; tagging and updates to CHANGES.md and RELEASENOTES.md 2022-02-28 09:53:07 -08:00
pom.xml Amend HBASE-26691 Replacing log4j with reload4j for branch-2.x 2022-03-04 12:29:01 -08:00

README.txt

Apache HBase [1] is an open-source, distributed, versioned, column-oriented
store modeled after Google' Bigtable: A Distributed Storage System for
Structured Data by Chang et al.[2]  Just as Bigtable leverages the distributed
data storage provided by the Google File System, HBase provides Bigtable-like
capabilities on top of Apache Hadoop [3].

To get started using HBase, the full documentation for this release can be
found under the doc/ directory that accompanies this README.  Using a browser,
open the docs/index.html to view the project home page (or browse to [1]).
The hbase 'book' at http://hbase.apache.org/book.html has a 'quick start'
section and is where you should being your exploration of the hbase project.

The latest HBase can be downloaded from an Apache Mirror [4].

The source code can be found at [5]

The HBase issue tracker is at [6]

Apache HBase is made available under the Apache License, version 2.0 [7]

The HBase mailing lists and archives are listed here [8].

The HBase distribution includes cryptographic software. See the export control
notice here [9].

1. http://hbase.apache.org
2. http://research.google.com/archive/bigtable.html
3. http://hadoop.apache.org
4. http://www.apache.org/dyn/closer.cgi/hbase/
5. https://hbase.apache.org/source-repository.html
6. https://hbase.apache.org/issue-tracking.html
7. http://hbase.apache.org/license.html
8. http://hbase.apache.org/mail-lists.html
9. https://hbase.apache.org/export_control.html