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

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

Sergey Edunov created GIRAPH-1069:
-------------------------------------

             Summary: 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)