hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "GAO Rui (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-9494) Parallel optimization of DFSStripedOutputStream#flushAllInternals( )
Date Mon, 14 Dec 2015 07:08:47 GMT

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

GAO Rui commented on HDFS-9494:
-------------------------------

Thank you very much [~szetszwo].  I have refactored the code and using {{ExecutorCompletionService.take()}}
to waiting for all the streamer flushing. Because, {{ExecutorCompletionService}} could not
tell us how many Future objects are still there waiting, so I use {{healthyStreamerCount}}
to count how many times we should call take().  And {{Runnable.run()}} can not throw Exception,
so I use {{Callable.call() throws Exception}} and return null.

> Parallel optimization of DFSStripedOutputStream#flushAllInternals( )
> --------------------------------------------------------------------
>
>                 Key: HDFS-9494
>                 URL: https://issues.apache.org/jira/browse/HDFS-9494
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: GAO Rui
>            Assignee: GAO Rui
>            Priority: Minor
>         Attachments: HDFS-9494-origin-trunk.00.patch, HDFS-9494-origin-trunk.01.patch
>
>
> Currently, in DFSStripedOutputStream#flushAllInternals( ), we trigger and 
> wait for flushInternal( ) in sequence. So the runtime flow is like:
> {code}
> Streamer0#flushInternal( )
> Streamer0#waitForAckedSeqno( )
> Streamer1#flushInternal( )
> Streamer1#waitForAckedSeqno( )
> …
> Streamer8#flushInternal( )
> Streamer8#waitForAckedSeqno( )
> {code}
> It could be better to trigger all the streamers to flushInternal( ) and
> wait for all of them to return from waitForAckedSeqno( ),  and then flushAllInternals(
) returns.



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

Mime
View raw message