hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luke Lu (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-4379) In HDFS, sync() not yet guarantees data available to the new readers
Date Mon, 19 Jan 2009 19:15:59 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-4379?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12665196#action_12665196

Luke Lu commented on HADOOP-4379:

On the design of the TC3: I think that client informing namenode on each sync is too expensive
and not scalable. Hypertable can easily generate 1M transactions/s from a small cluster, which
the namenode cannot possibly handle. Since restarting HDFS incurs no data loss, I think the
basic logic is probably already fine. For most cases, I think that making new readers a bit
more expensive to create is probably the right trade-off:

1. We could append and sync a file and only inform the namenode on the first sync, hinting
that we need to do something special for the new readers of the file.
2. Upon creating a new reader for the file, namenode would request a block report (an incremental
one, if we try to be clever) from the involved data nodes and return the right info the reader.

I think that this would cover most of the use cases for append and sync reasonably.

> In HDFS, sync() not yet guarantees data available to the new readers
> --------------------------------------------------------------------
>                 Key: HADOOP-4379
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4379
>             Project: Hadoop Core
>          Issue Type: New Feature
>          Components: dfs
>            Reporter: Tsz Wo (Nicholas), SZE
>            Assignee: dhruba borthakur
>             Fix For: 0.19.1
>         Attachments: 4379_20081010TC3.java, fsyncConcurrentReaders.txt
> In the append design doc (https://issues.apache.org/jira/secure/attachment/12370562/Appends.doc),
it says
> * A reader is guaranteed to be able to read data that was 'flushed' before the reader
opened the file
> However, this feature is not yet implemented.  Note that the operation 'flushed' is now
called "sync".

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message