[ 
https://issues.apache.org/jira/browse/HBASE-11218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14013246#comment-14013246
 ] 

Hudson commented on HBASE-11218:
--------------------------------

SUCCESS: Integrated in HBase-0.98-on-Hadoop-1.1 #302 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/302/])
HBASE-11272 Backport HBASE-11218 (Data loss in HBase standalone mode) to 0.98 
(apurtell: rev 13c7ff669532e18ebf5261734b98c51a4ad69c6b)
* hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildBase.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildHole.java
* 
hbase-server/src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuildOverlap.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMasterCommandLine.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/fs/HFileSystem.java
* 
hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java


> Data loss in HBase standalone mode
> ----------------------------------
>
>                 Key: HBASE-11218
>                 URL: https://issues.apache.org/jira/browse/HBASE-11218
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Liu Shaohui
>            Assignee: Liu Shaohui
>             Fix For: 0.99.0
>
>         Attachments: 11218v2.098.txt, HBASE-11218-trunk-v1.diff, 
> HBASE-11218-trunk-v2.diff
>
>
> Data loss in HBase standalone mode.
> *How to produce it*
> # Start HBase standalone mode.
> # Create a table using hbase shell.
> # Scan '.META.' and you will find data in meta table
> # Kill the HBase process with -9 option
> # Start the HBase agaion
> # Scan '.META.' and you will find nothing in meta table.
> *There are three main reasons.*
> # FSDataOutputStream.sync should call flush() if the underlying wrapped 
> stream is not Syncable. See HADOOP-8861
> # writeChecksum is ture in  default LocalFileSystem and the 
> ChecksumFSOutputSummer will buffer the data, which make the waledits are not 
> written to os's filesystem with sync method immediately, and those edits will 
> be lost in regionserver's failover.
> #  The MiniZooKeeperCluster deletes the old zk data at startup which maye 
> cause data loss in meta table. The failover procedure is: split pre root 
> regionserver's hlog -> assign root -> split pre meta regionserver's hlog -> 
> assign meta -> split all other regionservers' hlogs -> assign other regions. 
> If there is no data in zookeeper, we will get null for root regionserver and 
> then assign root table. Some data in root table maybe be lost for some root's 
> WalEdits have not been splited and replayed. So does the Meta table.
> I finished the patch for 0.94 and am working on the patch for trunk. 
> Suggestions are welcomed.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to