Go to file
Nicolas Spiegelberg b44e09085c HBASE-2312 [jira] Possible data loss when RS goes into GC pause while rolling
HLog

Summary:
There is a very corner case when bad things could happen(ie data loss):

1)	RS #1 is going to roll its HLog - not yet created the new one, old one will
get no more writes
2)	RS #1 enters GC Pause of Death
3)	Master lists HLog files of RS#1 that is has to split as RS#1 is dead, starts
splitting
4)	RS #1 wakes up, created the new HLog (previous one was rolled) and appends an
edit - which is lost

The following seems like a possible solution:

1)	Master detects RS#1 is dead
2)	The master renames the /hbase/.logs/<regionserver name>  directory to
something else (say /hbase/.logs/<regionserver name>-dead)
3)	Add mkdir support (as opposed to mkdirs) to HDFS - so that a file create
fails if the directory doesn't exist. Dhruba tells me this is very doable.
4)	RS#1 comes back up and is not able create the new hlog. It restarts itself.

Test Plan: EMPTY
Reviewers: JIRA, stack, khemani
Reviewed By: khemani
CC: tedyu, nspiegelberg, stack, Kannan, khemani, jgray
Differential Revision: 99

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1196773 13f79535-47bb-0310-9956-ffa450edef68
2011-11-02 19:24:23 +00:00
bin HBASE-1744 Thrift server to match the new java api (Tim Sell) 2011-11-02 04:26:26 +00:00
conf HBASE-4714 Don't ship w/ icms enabled by default; REDO 2011-11-01 16:46:33 +00:00
dev-support HBASE-4629 enable automated patch testing for hbase 2011-10-24 20:07:11 +00:00
src HBASE-2312 [jira] Possible data loss when RS goes into GC pause while rolling 2011-11-02 19:24:23 +00:00
.arcconfig HBASE-4611 Add support for Phabricator/Differential as an alternative code review tool 2011-11-01 20:23:50 +00:00
.gitignore HBASE-4611 Add support for Phabricator/Differential as an alternative code review tool 2011-11-01 20:23:50 +00:00
CHANGES.txt HBASE-4716 Improve locking for single column family bulk load 2011-11-02 16:28:09 +00:00
LICENSE.txt HBASE-561 HBase package does not include LICENSE.txt nor build.xml 2008-04-03 22:39:46 +00:00
NOTICE.txt HBASE-4513 NOTICES.txt refers to Facebook for Thrift 2011-09-29 18:14:20 +00:00
README.txt HBASE-2672 README.txt should contain basic information like how to run or build HBase 2010-10-30 22:30:54 +00:00
pom.xml HBASE-4611 Add support for Phabricator/Differential as an alternative code review tool 2011-11-01 20:23:50 +00: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 docs/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].

1. http://hbase.apache.org
2. http://labs.google.com/papers/bigtable.html
3. http://hadoop.apache.org
4. http://www.apache.org/dyn/closer.cgi/hbase/
5. http://hbase.apache.org/docs/current/source-repository.html
6. http://hbase.apache.org/docs/current/issue-tracking.html
7. http://hbase.apache.org/docs/current/license.html
8. http://hbase.apache.org/docs/current/mail-lists.html