You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@giraph.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2016/06/08 22:10:20 UTC

[jira] [Commented] (GIRAPH-1069) Race condition in all *ConfOption classes

    [ 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)