hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jing Zhao (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-9494) Parallel optimization of DFSStripedOutputStream#flushAllInternals( )
Date Thu, 28 Jan 2016 02:42:39 GMT

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

Jing Zhao commented on HDFS-9494:
---------------------------------

I think we can still keep flushAllExecutorCompletionService as a class level field. In this
way we can avoid shutting down the thread pool at the end of each flush and reuse threads.

For data fields order, I remember we should place static fields/class definitions before non-static
class fields. Also that change is not related to this jira.

> 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
>             Fix For: 3.0.0
>
>         Attachments: HDFS-9494-origin-trunk.00.patch, HDFS-9494-origin-trunk.01.patch,
HDFS-9494-origin-trunk.02.patch, HDFS-9494-origin-trunk.03.patch, HDFS-9494-origin-trunk.04.patch,
HDFS-9494-origin-trunk.05.patch, HDFS-9494-origin-trunk.06.patch, HDFS-9494-origin-trunk.07.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