Go to file
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
.idea HBASE-23707 Add IntelliJ check style plugin configuration (#1064) (#1092) 2020-01-27 10:45:27 -08:00
bin HBASE-26361 Enable OpenTelemetry to be used from developer sandbox 2021-10-18 15:51:38 -07:00
conf HBASE-26361 Enable OpenTelemetry to be used from developer sandbox 2021-10-18 15:51:38 -07:00
dev-support HBASE-26360 Use gen_redirect_html for linking test logs (#3755) 2021-10-17 23:24:31 +08:00
hbase-annotations HBASE-25474 : Bump HBase version on branch-2 (#2871) 2021-01-12 10:20:22 +05:30
hbase-archetypes HBASE-25696 Need to initialize SLF4JBridgeHandler in jul-to-slf4j for redirecting jul to slf4j (#3093) (#3112) 2021-04-02 17:30:43 +08:00
hbase-assembly HBASE-26259 Fallback support to pure Java compression (#3691) 2021-10-06 13:48:33 -07:00
hbase-asyncfs HBASE-26124 Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2 (#3529) 2021-09-01 15:29:09 -07:00
hbase-build-configuration HBASE-25474 : Bump HBase version on branch-2 (#2871) 2021-01-12 10:20:22 +05:30
hbase-checkstyle HBASE-25474 : Bump HBase version on branch-2 (#2871) 2021-01-12 10:20:22 +05:30
hbase-client HBASE-26306 Backport "HBASE-26220 Use P2P communicate between region servers to sync the list for bootstrap node" to branch-2 (#3727) 2021-10-10 22:56:12 +08:00
hbase-common HBASE-26316 Per-table or per-CF compression codec setting overrides (#3730) 2021-10-19 13:59:04 -07:00
hbase-compression HBASE-26316 Per-table or per-CF compression codec setting overrides (#3730) 2021-10-19 13:59:04 -07:00
hbase-endpoint HBASE-25911 Replace calls to System.currentTimeMillis with EnvironmentEdgeManager.currentTime (#3302) 2021-06-01 12:41:15 -07:00
hbase-examples HBASE-26284 Add HBase Thrift API to get all table names along with wh… (#3693) (#3745) 2021-10-18 10:06:32 +01:00
hbase-external-blockcache HBASE-26124 Backport HBASE-25373 "Remove HTrace completely in code base and try to make use of OpenTelemetry" to branch-2 (#3529) 2021-09-01 15:29:09 -07:00
hbase-hadoop-compat HBASE-26154: Adds exception metrics for QuotaExceededException and RpcThrottlingException (#3544) 2021-08-02 09:51:34 +05:30
hbase-hadoop2-compat HBASE-26154: Adds exception metrics for QuotaExceededException and RpcThrottlingException (#3544) 2021-08-02 09:51:34 +05:30
hbase-hbtop HBASE-25911 Replace calls to System.currentTimeMillis with EnvironmentEdgeManager.currentTime (#3302) 2021-06-01 12:41:15 -07:00
hbase-http HBASE-26160: Configurable disallowlist for live editing of loglevels (#3559) 2021-08-05 09:49:25 +08:00
hbase-it HBASE-26335 Minor improvements to IntegrationTestLoadCommonCrawl (#3731) 2021-10-08 10:01:58 -07:00
hbase-logging HBASE-25696 Need to initialize SLF4JBridgeHandler in jul-to-slf4j for redirecting jul to slf4j (#3093) (#3112) 2021-04-02 17:30:43 +08:00
hbase-mapreduce HBASE-26316 Per-table or per-CF compression codec setting overrides (#3730) 2021-10-19 13:59:04 -07:00
hbase-metrics HBASE-25474 : Bump HBase version on branch-2 (#2871) 2021-01-12 10:20:22 +05:30
hbase-metrics-api HBASE-25474 : Bump HBase version on branch-2 (#2871) 2021-01-12 10:20:22 +05:30
hbase-procedure HBASE-26012 Improve logging and dequeue logic in DelayQueue (#3397) 2021-06-24 15:28:36 +05:30
hbase-protocol HBASE-26002 MultiRowMutationEndpoint should return the result of the conditional update (#3386) 2021-06-15 13:55:21 +09:00
hbase-protocol-shaded HBASE-26306 Backport "HBASE-26220 Use P2P communicate between region servers to sync the list for bootstrap node" to branch-2 (#3727) 2021-10-10 22:56:12 +08:00
hbase-replication HBASE-26029 It is not reliable to use nodeDeleted event to track region server's death (#3430) 2021-06-30 11:46:09 +08:00
hbase-resource-bundle HBASE-26259 Fallback support to pure Java compression (#3691) 2021-10-06 13:48:33 -07:00
hbase-rest HBASE-25911 Replace calls to System.currentTimeMillis with EnvironmentEdgeManager.currentTime (#3302) 2021-06-01 12:41:15 -07:00
hbase-rsgroup HBASE-26251 StochasticLoadBalancer metrics should update even if balancer doesn't run (#3706) 2021-09-29 21:25:39 +08:00
hbase-server HBASE-26316 Per-table or per-CF compression codec setting overrides (#3730) 2021-10-19 13:59:04 -07:00
hbase-shaded HBASE-26178 Improve data structure and algorithm for BalanceClusterState to improve computation speed for large cluster (#3682) 2021-09-25 21:48:51 +08:00
hbase-shell HBASE-26312 Shell scan fails with timestamp (#3734) 2021-10-09 10:33:59 +08:00
hbase-testing-util HBASE-26157 Expose some IA.LimitedPrivate interface in TestingHBaseCluster (#3643) 2021-09-02 17:15:54 +08:00
hbase-thrift HBASE-26364 TestThriftServer is failing 100% in our flaky test job (#3759) 2021-10-18 14:46:31 +01:00
hbase-zookeeper HBASE-26306 Backport "HBASE-26220 Use P2P communicate between region servers to sync the list for bootstrap node" to branch-2 (#3727) 2021-10-10 22:56:12 +08:00
src HBASE-26139 Backport HBASE-23762 "Add documentation on how to enable and view tracing with OpenTelemetry" to branch-2 (#3629) 2021-09-01 15:29:09 -07:00
.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 HBASE-24162 Move CHANGES.txt to CHANGES.md. Add RELEASENOTES.md too on branch-2, branch-2.3, and master 2020-04-10 14:41:02 -07:00
LICENSE.txt HBASE-18548 Move sources of website gen and check jobs into source control 2017-12-19 23:40:46 +08:00
NOTICE.txt HBASE-24417 update copyright notices year to 2020 (#1760) 2020-05-25 13:00:27 +08: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 HBASE-25601 Use ASF-official mailing list archives 2021-02-25 11:34:02 -05:00
patch HBASE-25973 Balancer should explain progress in a better way in log -… (#3483) 2021-07-18 13:04:33 -07:00
pom.xml HBASE-26259 Fallback support to pure Java compression (#3691) 2021-10-06 13:48:33 -07: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