ba8d985000
Summary: in doMiniBatchMutation it is possible to get into an infinite loop when a query has a row that is not in the region. If the batch had an invalid row, the row lock further down the function would fail to acquire because it was an invalid row. However we'd catch the exception and improperly treat it as if we had not acquired the lock and then try acquiring the lock again. Thus once we got into this state we'd be stuck in an infinite loop. Worse yet, this infiite loop would occur with the readLock held. So any other opertaions such as doClose() would be locked out and stuck. The patch is to check whether the row is valid and short circuit the failure when it doesn't work. Test Plan: IntegrationTestReplication would consistently fail when trying to disable large tables before the fix. After the test the tests pass consistently. Reviewers: eclark Subscribers: asameet Differential Revision: https://reviews.facebook.net/D37437 Signed-off-by: Elliott Clark <eclark@apache.org> |
||
---|---|---|
bin | ||
conf | ||
dev-support | ||
hbase-annotations | ||
hbase-assembly | ||
hbase-checkstyle | ||
hbase-client | ||
hbase-common | ||
hbase-examples | ||
hbase-hadoop-compat | ||
hbase-hadoop2-compat | ||
hbase-it | ||
hbase-native-client | ||
hbase-prefix-tree | ||
hbase-procedure | ||
hbase-protocol | ||
hbase-rest | ||
hbase-server | ||
hbase-shell | ||
hbase-testing-util | ||
hbase-thrift | ||
src/main | ||
.arcconfig | ||
.gitattributes | ||
.gitignore | ||
CHANGES.txt | ||
LICENSE.txt | ||
NOTICE.txt | ||
README.txt | ||
pom.xml |
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