hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-12593) multiple "volatile long" field declarations exist in the Hadoop codebase
Date Tue, 01 Dec 2015 10:00:18 GMT

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

Steve Loughran commented on HADOOP-12593:
-----------------------------------------

I knew some were tagged, and others not. I think my main concern was whether writes to a 64
bit value were atomic at all —but roman corrected me there. Which leaves the issue of: are
there any operations which cause problems, with ++, += and the equivalents being it.

I think we should just review them, and for all that we deem safe, add that in big comments.

Life would be easier if java had an {{atomic}} type alongside {{volatile}}, atomic add/subtract
operations are only a couple of cycles on a modern part, plus the same impact on OoO scheduling
that volatile r/w ops have.

> multiple "volatile long" field declarations exist in the Hadoop codebase
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-12593
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12593
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.8.0
>            Reporter: Steve Loughran
>            Priority: Minor
>
> If you get your IDE to scan for "volatile long", you find 20-30 entries. Volatile operations
on `long` variables are not guaranteed to be atomic, so these usages can be vulnerable to
race conditions generating invalid data.
> they need to be replaced by AtomicLong references, except in the specific case that you
want performance values for statistics, and are prepared to take the risk



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

Mime
View raw message