hadoop-zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Traverso (JIRA)" <j...@apache.org>
Subject [jira] Created: (ZOOKEEPER-666) Unsafe publication in client API
Date Wed, 10 Feb 2010 23:54:36 GMT
Unsafe publication in client API

                 Key: ZOOKEEPER-666
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-666
             Project: Zookeeper
          Issue Type: Bug
          Components: java client
    Affects Versions: 3.2.2
            Reporter: Martin Traverso

The following code may result in a data race due to unsafe publication of a reference to "this".
The call to cnxn.start() spawns threads that have access to the partially-constructed reference
to the ZooKeeper object. 

See http://www.ibm.com/developerworks/java/library/j-jtp0618.html for some background info.

   public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher)
        throws IOException
        cnxn = new ClientCnxn(connectString, sessionTimeout, this, watchManager);

The obvious fix is to move the call to cnxn.start() into a separate start() method.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message