[
https://issues.apache.org/jira/browse/HDFS-5676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13851485#comment-13851485
]
Colin Patrick McCabe commented on HDFS-5676:
--------------------------------------------
actually, looking at this again, I'm not sure {{synchronized}} would work here.
I don't think it would be good for the worker thread to block on the
DFSOutputStream lock. I think either an atomic reference or another lock
protecting just the cachingstrategy is the way to go here.
> fix inconsistent synchronization of CachingStrategy
> ---------------------------------------------------
>
> Key: HDFS-5676
> URL: https://issues.apache.org/jira/browse/HDFS-5676
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: hdfs-client
> Affects Versions: 2.4.0
> Reporter: Colin Patrick McCabe
> Assignee: Colin Patrick McCabe
> Priority: Minor
> Attachments: HDFS-5676.001.patch, HDFS-5676.002.patch
>
>
> Currently, the synchronization for {{CachingStrategy}} is a little
> inconsistent. DFSOutputStream#setDropBehind modifies the strategy object,
> but there's nothing protecting that object against concurrent use in
> {{createBlockOutputStream}}. Similarly, {{DFSInputStream#setDropBehind}} is
> synchronized, but not all the uses of {{cachingStrategy}} are.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)