hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-13877) Interrupt to flush from TableFlushProcedure causes dataloss in ITBLL
Date Fri, 12 Jun 2015 04:19:01 GMT

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

stack commented on HBASE-13877:
-------------------------------

On patch, in this section:

	699	            }
700	            if (rows.addAndGet(1) < MISSING_ROWS_TO_LOG) {
701	              context.getCounter(FOUND_GROUP_KEY, keyStr + "_in_"
702	                  + context.getInputSplit().toString()).increment(1);

When YARN dumps result, this nice addition gets cut off. How you looking at it [~enis]?

Patch is great. +1 after you get hadoopqa to pass.

> 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
>
>         Attachments: hbase-13877_v1.patch, hbase-13877_v2-branch-1.1.patch, hbase-13877_v3-branch-1.1.patch
>
>
> 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)

Mime
View raw message