hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-2709) HA: Appropriately handle error conditions in EditLogTailer
Date Wed, 04 Jan 2012 23:25:40 GMT

    [ https://issues.apache.org/jira/browse/HDFS-2709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179983#comment-13179983

Todd Lipcon commented on HDFS-2709:

+  public void skipTransactions(long transactionsToSkip) throws IOException {
+    if (firstTxId != HdfsConstants.INVALID_TXID &&
+        lastTxId != HdfsConstants.INVALID_TXID) {
+      for (long i = 0; i < transactionsToSkip; i++) {
+        reader.readOp();
+      }
+    }
What's the if condition for? If those are pre-requisites for the function, shouldn't it be
a Preconditions.checkState or something?

What's the expected behavior if there are fewer than {{transactionsToSkip}} txns left in the
file? Should specify in the javadoc.

Also should add a checkArgument that transactionsToSkip >= 0 I think.


+public class EditLogInputException extends IOException {
needs an audience annotation (or can it be made package-protected?)


- In TestFileJournalManager, can we add a test which calls getInputStream() in the middle
of a file and verifies that the first txn is the one we expect?
- The modified TestHASafeMode never sets mockRuntime to override the actual Runtime object,
so the verification is a no-op

Otherwise looks good
> HA: Appropriately handle error conditions in EditLogTailer
> ----------------------------------------------------------
>                 Key: HDFS-2709
>                 URL: https://issues.apache.org/jira/browse/HDFS-2709
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ha, name-node
>    Affects Versions: HA branch (HDFS-1623)
>            Reporter: Todd Lipcon
>            Assignee: Aaron T. Myers
>            Priority: Critical
>         Attachments: HDFS-2709-HDFS-1623.patch, HDFS-2709-HDFS-1623.patch, HDFS-2709-HDFS-1623.patch,
HDFS-2709-HDFS-1623.patch, HDFS-2709-HDFS-1623.patch
> Currently if the edit log tailer experiences an error replaying edits in the middle of
a file, it will go back to retrying from the beginning of the file on the next tailing iteration.
This is incorrect since many of the edits will have already been replayed, and not all edits
are idempotent.
> Instead, we either need to (a) support reading from the middle of a finalized file (ie
skip those edits already applied), or (b) abort the standby if it hits an error while tailing.
If "a" isn't simple, let's do "b" for now and come back to 'a' later since this is a rare
circumstance and better to abort than be incorrect.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message