shayshim commented on a change in pull request #345: [CURATOR-551] Fix Handle 
Holder new connection string
URL: https://github.com/apache/curator/pull/345#discussion_r378533404
 
 

 ##########
 File path: curator-client/src/main/java/org/apache/curator/HandleHolder.java
 ##########
 @@ -70,7 +61,16 @@ String  getConnectionString()
     String getNewConnectionString()
     {
         String helperConnectionString = (helper != null) ? 
helper.getConnectionString() : null;
-        return ((helperConnectionString != null) && 
!ensembleProvider.getConnectionString().equals(helperConnectionString)) ? 
helperConnectionString : null;
+        String ensembleProviderConnectionString = 
ensembleProvider.getConnectionString();
 
 Review comment:
   > `closeAndReset()` will cause `ensembleProvider.getConnectionString()` to 
get called anyway. Does that answer your question? I think the intent of the 
above code is to force-close the connection when there's a new connection 
string.
   
   In short I wanted to make sure  that `closeAndReset()` (create `helper`) is 
called before any new connection string is set . 
   As @cammckenzie said, it is called from `ConnectionState.start()`, which is 
called (eventually) from `CuratorFrameworkImpl.start()`, from line 338 using 
`client.start()` - before `ensembleTracker.start()` in line 353, which allows 
to set new connection strings. 
   So any call to `getNewConnectionString()`, with actual new connection 
string, will meet non `null` `helper`. 
   In addition to that, `helper.getZooKeeper()` is also called eventually from 
338, so `data.connectionString` is set as needed, before 
`getNewConnectionString()` can be called. 
   So I think we have no issue here.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to