hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-1108) Log newly allocated blocks
Date Tue, 23 Aug 2011 21:33:29 GMT

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

Todd Lipcon commented on HDFS-1108:
-----------------------------------

Currently there are two proposals for the implementation of passing edits to the standby:
1) RPC based (BackupNode)
2) shared storage based (AvatarNode-like design)

In the RPC-based mechanism, it makes sense to support a "semi-durable flush" - meaning that
it has been ACKed to RAM on the standby. In the shared-storage model, there is no way to ensure
that data has been made durable aside from issuing a full fsync.

In essence what you're proposing is very much like the difference between "hflush" and "hsync"
in the DFS write pipeline -- ie a "flush to another node's memory" API distinct from "flush
to disk".

Given that this API is not currently implemented by the BackupNode, and the shared-storage
approach requires an fsync, I don't think we should block this fix. Do you plan to implement
this new BackupNode feature for trunk in the near future so that we can unblock this work?

> Log newly allocated blocks
> --------------------------
>
>                 Key: HDFS-1108
>                 URL: https://issues.apache.org/jira/browse/HDFS-1108
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: name-node
>            Reporter: dhruba borthakur
>            Assignee: Todd Lipcon
>             Fix For: HA branch (HDFS-1623)
>
>         Attachments: HDFS-1108.patch, hdfs-1108-habranch.txt, hdfs-1108.txt
>
>
> The current HDFS design says that newly allocated blocks for a file are not persisted
in the NN transaction log when the block is allocated. Instead, a hflush() or a close() on
the file persists the blocks into the transaction log. It would be nice if we can immediately
persist newly allocated blocks (as soon as they are allocated) for specific files.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message