giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GIRAPH-1069) Race condition in all *ConfOption classes
Date Wed, 08 Jun 2016 22:10:20 GMT

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

Hudson commented on GIRAPH-1069:
--------------------------------

FAILURE: Integrated in Giraph-trunk-Commit #1619 (See [https://builds.apache.org/job/Giraph-trunk-Commit/1619/])
GIRAPH-1069 Race condition in all *ConfOption classes (edunov: [http://git-wip-us.apache.org/repos/asf?p=giraph.git&a=commit&h=fe87b23fbd86d8f978142dc326231ea6bd4a61f0])
* giraph-core/src/main/java/org/apache/giraph/conf/LongConfOption.java
* giraph-core/src/main/java/org/apache/giraph/comm/flow_control/CreditBasedFlowControl.java
* giraph-core/pom.xml
* giraph-core/src/main/java/org/apache/giraph/conf/BooleanConfOption.java
* giraph-core/src/main/java/org/apache/giraph/conf/IntConfOption.java
* giraph-core/src/main/java/org/apache/giraph/conf/AllOptions.java
* giraph-core/src/main/java/org/apache/giraph/conf/EnumConfOption.java
* giraph-core/src/main/java/org/apache/giraph/conf/FloatConfOption.java
* giraph-core/src/main/java/org/apache/giraph/conf/StrConfOption.java
* giraph-core/src/main/java/org/apache/giraph/conf/ClassConfOption.java


> Race condition in all *ConfOption classes
> -----------------------------------------
>
>                 Key: GIRAPH-1069
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-1069
>             Project: Giraph
>          Issue Type: Bug
>            Reporter: Sergey Edunov
>            Assignee: Sergey Edunov
>
> *ConfOption classes, such as ClassConfOption, IntConfOption, FloatConfOption etc, call
AllOtions.add(this) from their constructor. This call updates static list without any synchronization.
Hence, if you create conf option classes in different threads you run into race condition.

> The only reason we have AllOptions is to create documentation. It can be done with reflection
instead. So, let's remove AllOtions.add(this) from all conf classes and implement reflection
based approach in AllOptions



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

Mime
View raw message