[
https://issues.apache.org/jira/browse/HDFS-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15116748#comment-15116748
]
GAO Rui commented on HDFS-9494:
-------------------------------
[~szetszwo],[~rakeshr], thanks a lot for your advice. For
{{executor.shutdownNow()}}, if not all the tasks had been completed, we might
not arrive to the end of {{flushAllInternals()}}. But there is no harmless to
ensure executor shutdown, so I add {{executor.shutdownNow()}} as well.
After checking the related codes, it seems that we haven't set a timeout for
{{waitForAckedSeqno()}}. Maybe we could consider to set a timeout for it in
another new Jira. I have updated the 05 patch. Could you kindly review it?
Thank you very much.
> 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, HDFS-9494-origin-trunk.02.patch,
> HDFS-9494-origin-trunk.03.patch, HDFS-9494-origin-trunk.04.patch,
> HDFS-9494-origin-trunk.05.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)