Go to file
stack ef94b55239 HBASE-15477 Purge 'next block header' from cached blocks
When we read from HDFS, we overread to pick up the next blocks header.
Doing this saves a seek as we move through the hfile; we save having to
do an explicit seek just to read the block header every time we need to
read the body.  We used to read in the next header as part of the
current blocks buffer. This buffer was then what got persisted to
blockcache; so we were over-persisting: our block plus the next blocks'
header (33 bytes).

This patch undoes this over-persisting.

Removes support for version 1 blocks (0.2 was added in hbase-0.92.0).
Not needed any more.

There is an open question on whether checksums should be persisted
when caching. The code seems to say no but if cache is SSD backed or
backed by anything that does not do error correction, we'll want
checksums.

Adds loads of documentation.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockType.java
  (write) Add writing from a ByteBuff.

M hbase-common/src/main/java/org/apache/hadoop/hbase/nio/ByteBuff.java
  (toString) Add one so ByteBuff looks like ByteBuffer when you click on
  it in IDE

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
  Remove support for version 1 blocks.

  Cleaned up handling of metadata added when we serialize a block to
  caches. Metadata is smaller now.

  When we serialize (used when caching), do not persist the next blocks
  header if present.

  Removed a bunch of methods, a few of which had overlapping
  functionality and others that exposed too much of our internals.
  Also removed a bunch of constructors and unified the constructors we
  had left over making them share a common init method.
  Shutdown access to defines that should only be used internally here.

  Renamed all to do w/ 'EXTRA' and 'extraSerialization' to instead talk
  about metadata saved to caches; was unclear previously what EXTRA was
  about.

  Renamed static final declarations as all uppercase.

  (readBlockDataInternal): Redid. Couldn't make sense of it previously.
  Undid heavy-duty parse of header by constructing HFileBlock. Other
  cleanups. Its 1/3rd the length it used to be. More to do in here.
2016-03-22 13:34:51 -07:00
bin HBASE-15145 HBCK and Replication should authenticate to zookepeer using server principal 2016-01-26 14:43:24 -08:00
conf HBASE-14481 Deprecate HBase Wiki 2015-11-04 09:09:02 +10:00
dev-support HBASE-15434 [findbugs] Exclude scala generated source and protobuf generated code in hbase-spark module 2016-03-10 11:42:25 -08:00
hbase-annotations HBASE-14516 categorize hadoop-compat tests 2015-10-03 01:08:53 -05:00
hbase-archetypes HBASE-14878 Add hbase-shaded-client archetype to hbase-archetypes 2016-02-29 09:09:37 -08:00
hbase-assembly HBASE-15201 Add hbase-spark to hbase assembly 2016-02-08 14:13:46 -08:00
hbase-checkstyle Revert "HBASE-14902 Revert some of the stringency recently introduced by checkstyle tightening" 2016-01-20 08:40:02 -08:00
hbase-client HBASE-15447 Improve javadocs description for Delete methods <Wellington Chevreuil> 2016-03-22 12:56:30 -07:00
hbase-common HBASE-15392 Single Cell Get reads two HFileBlocks M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java moreRowsMayExistAfterCell Exploit the fact a Scan is a Get Scan. Also save compares if no non-default stopRow. 2016-03-22 13:00:41 -07:00
hbase-examples HBASE-15158 HBASE-15158 Preamble 1 of 2: fix findbugs, add javadoc, change Region#getReadpoint to #getReadPoint, and some util 2016-01-31 20:21:48 -08:00
hbase-external-blockcache HBASE-14984 Allow memcached block cache to set optimze to false 2015-12-16 10:35:42 -08:00
hbase-hadoop-compat HBASE-15464 Flush / Compaction metrics revisited 2016-03-21 17:50:02 -07:00
hbase-hadoop2-compat HBASE-15464 Flush / Compaction metrics revisited 2016-03-21 17:50:02 -07:00
hbase-it HBASE-6721 RegionServer Group based Assignment (Francis Liu) 2016-03-14 18:28:50 -07:00
hbase-native-client HBASE-14087 Ensure correct ASF headers for docs/code 2015-07-29 14:25:43 -05:00
hbase-prefix-tree HBASE-15356 Remove unused imports (Youngjoon Kim) 2016-03-03 11:42:38 -08:00
hbase-procedure HBASE-15113 Procedure v2 - Speedup eviction of sys operation results 2016-03-08 19:47:15 -08:00
hbase-protocol HBASE-6721 RegionServer Group based Assignment (Francis Liu) 2016-03-14 18:28:50 -07:00
hbase-resource-bundle HBASE-15122 Servlets generate XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER findbugs warnings (Samir Ahmic) 2016-02-15 13:53:47 +08:00
hbase-rest HBASE-15356 Remove unused imports (Youngjoon Kim) 2016-03-03 11:42:38 -08:00
hbase-rsgroup HBASE-15488 Add ACL for setting split merge switch 2016-03-22 10:38:13 -07:00
hbase-server HBASE-15477 Purge 'next block header' from cached blocks 2016-03-22 13:34:51 -07:00
hbase-shaded HBASE-14534 Bump yammer/coda/dropwizard metrics dependency version 2015-12-15 12:11:27 -08:00
hbase-shell HBASE-12940 Expose listPeerConfigs and getPeerConfig to the HBase shell (Geoffrey Jacoby) 2016-03-16 18:42:52 -07:00
hbase-spark HBASE-15334 Add avro support for spark hbase connector (Zhan Zhang) 2016-03-17 09:11:38 -07:00
hbase-testing-util HBASE-14085 Update LICENSE and NOTICE files. 2015-08-04 17:16:56 -05:00
hbase-thrift HBASE-15456 CreateTableProcedure/ModifyTableProcedure needs to fail when there is no family in table descriptor (huaxiang sun) 2016-03-18 10:21:43 -07:00
src/main HBASE-15502 Skeleton unit test to copy/paste 2016-03-21 11:27:18 -07:00
.arcconfig HBASE-12139 StochasticLoadBalancer doesn't work on large lightly loaded clusters 2014-10-01 13:01:09 -07:00
.gitattributes HBASE-6816. [WINDOWS] line endings on checkout for .sh files 2013-01-23 19:30:14 +00:00
.gitignore HBASE-13517 Publish a client artifact with shaded dependencies 2015-04-28 09:41:52 -07:00
CHANGES.txt HBASE-5466 Opening a table also opens the metatable and never closes it 2012-02-24 00:55:58 +00:00
LICENSE.txt HBASE-14338 License notification misspells 'Asciidoctor' (Lars Francke) 2015-09-22 09:53:53 -07:00
NOTICE.txt HBASE-14085 Update LICENSE and NOTICE files. 2015-08-04 17:16:56 -05:00
README.txt Updated links in README 2014-09-18 11:58:14 -07:00
pom.xml HBASE-15349 Update surefire version to 2.19.1; Trying a REVERT to see if this responsible for plethora of test timeouts on hadoopqa 2016-03-20 11:22:22 -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