Enis Soztutar created HBASE-13877:
-------------------------------------

             Summary: Interrupt to flush from TableFlushProcedure causes 
dataloss in ITBLL
                 Key: HBASE-13877
                 URL: https://issues.apache.org/jira/browse/HBASE-13877
             Project: HBase
          Issue Type: Bug
            Reporter: Enis Soztutar
            Assignee: Enis Soztutar
            Priority: Blocker
             Fix For: 2.0.0, 1.2.0, 1.1.1


ITBLL with 1.25B rows failed for me (and Stack as reported in 
https://issues.apache.org/jira/browse/HBASE-13811?focusedCommentId=14577834&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14577834)
 

HBASE-13811 and HBASE-13853 fixed an issue with WAL edit filtering. 

The root cause this time seems to be different. It is due to procedure based 
flush interrupting the flush request in case the procedure is cancelled from an 
exception elsewhere. This leaves the memstore snapshot intact without aborting 
the server. The next flush, then flushes the previous memstore with the current 
seqId (as opposed to seqId from the memstore snapshot). This creates an hfile 
with larger seqId than what its contents are. Previous behavior in 0.98 and 1.0 
(I believe) is that after flush prepare and interruption / exception will cause 
RS abort.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to