Go to file
stack 496fd9837a HBASE-16176 Bug fixes/improvements on HBASE-15650 Remove
TimeRangeTracker as point of contention when many threads reading a StoreFile
 Fixes HBASE-16074 ITBLL fails, reports lost big or tiny families broken
 scanning because of a side effect of a clean up in  HBASE-15650 to make
 TimeRange construction consistent exposed a latent issue in
 TimeRange#compare. See HBASE-16074 for more detail.

Also change HFile Writer constructor so we pass in the TimeRangeTracker, if one,
on construction rather than set later (the flag and reference were not volatile
so could have made for issues in concurrent case). And make sure the construction
of a TimeRange from a TimeRangeTracer on open of an HFile Reader never makes a
bad minimum value, one that would preclude us reading any values from a file
(set min to 0)

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/TimeRange.java
 Call through to next constructor (if minStamp was 0, we'd skip setting
 allTime=true). Add asserts that timestamps are not < 0 cos it messes
 us up if they are (we already were checking for < 0 on construction but
 assert passed in timestamps are not < 0).

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
 Add constructor override that takes a TimeRangeTracker (set when flushing
 but not when compacting)

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
 Add override creating an HFile in tmp that takes a TimeRangeTracker

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
 Add override for HFile Writer that takes a TimeRangeTracker Take it on
 construction instead of having it passed by a setter later (flags and
 reference set by the setter were not volatile... could have been prob
 in concurrent case)

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
 Log WARN if bad initial TimeRange value (and then 'fix' it)

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestTimeRangeTracker.java
 A few tests to prove serialization works as expected and that we'll get a bad min if not constructed properly.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
 Handle OLDEST_TIMESTAMP explictly. Don't expect TimeRange to do it.

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
 Refactor from junit3 to junit4 and add test for this weird case.
2016-07-08 18:20:31 -07:00
bin HBASE-16021 graceful_stop.sh: Wrap variables in double quote to avoid "[: too many arguments" error (Samir Ahmic) 2016-06-14 15:36:11 -07:00
conf HBASE-16061 Allow logging to a buffered console 2016-06-17 17:06:12 -07:00
dev-support HBASE-16124 Make check_compatibility.sh less verbose when building HBase 2016-06-30 10:21:16 -05:00
hbase-annotations HBASE-15889. String case conversions are locale-sensitive, used without locale 2016-05-28 10:41:31 -07:00
hbase-archetypes HBASE-15768 fix capitalization of ZooKeeper usage 2016-05-05 15:35:44 -05:00
hbase-assembly HBASE-16177 In dev mode thrift server can't be run 2016-07-05 12:15:21 -07:00
hbase-checkstyle HBASE-15693 Reconsider the ImportOrder rule of checkstyle 2016-04-24 11:05:46 +08:00
hbase-client HBASE-16176 Bug fixes/improvements on HBASE-15650 Remove 2016-07-08 18:20:31 -07:00
hbase-common HBASE-16176 Bug fixes/improvements on HBASE-15650 Remove 2016-07-08 18:20:31 -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-14983 Create metrics for per block type hit/miss ratios 2016-03-30 11:41:11 -07:00
hbase-hadoop-compat HBASE-15353 Add metric for number of CallQueueTooBigException's 2016-06-24 13:00:06 +08:00
hbase-hadoop2-compat HBASE-15353 Add metric for number of CallQueueTooBigException's 2016-06-24 13:00:06 +08:00
hbase-it HBASE-15935 Set up a concurrent walker that walks flushed circular linked lists as a Loop Mode 2016-07-08 09:09:02 -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-16130 Add comments to ProcedureStoreTracker. 2016-06-29 12:29:48 -07:00
hbase-protocol Revert "HBASE-16092 Procedure v2 - complete child procedure support" 2016-06-24 14:35:29 -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-15870 Specify columns in REST multi gets (Matt Warhaftig) 2016-06-20 14:11:11 -07:00
hbase-rsgroup HBASE-16133 RSGroupBasedLoadBalancer.retainAssignment() might miss a region 2016-07-01 09:28:41 -07:00
hbase-server HBASE-16176 Bug fixes/improvements on HBASE-15650 Remove 2016-07-08 18:20:31 -07:00
hbase-shaded HBASE-14534 Bump yammer/coda/dropwizard metrics dependency version 2015-12-15 12:11:27 -08:00
hbase-shell HBASE-16147 Add ruby wrapper for getting compaction state 2016-06-30 11:01:54 -07:00
hbase-spark HBASE-15944 Spark test flooding mvn output. Redirect test logs to file. This doesn't fix the problem fully as I still see few logs being dumped in stdout. But it cleans up majority of the earlier dump. (Apekshit) 2016-06-02 08:44:08 -07:00
hbase-testing-util HBASE-14085 Update LICENSE and NOTICE files. 2015-08-04 17:16:56 -05:00
hbase-thrift HBASE-15875 Remove HTable references and HTableInterface 2016-05-30 19:56:54 -07:00
src/main HBASE-15985 clarify promises about edits from replication in ref guide 2016-07-05 13:03:18 -05: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 add Francis Liu to dev list 2016-07-07 14:15:47 -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