chenboat edited a comment on issue #4525: Pinot server replacement in Cloud 
where we have no control over hostname
URL: 
https://github.com/apache/incubator-pinot/issues/4525#issuecomment-529774810
 
 
   Currently when a Pinot server starts and joins the Helix cluster, it calls 
HelixManager's connect() method:
   
https://github.com/apache/incubator-pinot/blob/3236e40c2f8d3d603c82e706db41bf2c0c2eaf68/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/HelixServerStarter.java#L160
   
   The above method in its turn call ParticipantManager.joinCluster()
   
   
https://github.com/apache/helix/blob/7ac3a6a1762bc74869a8f7ea0a9c7feed8b3ba0a/helix-core/src/main/java/org/apache/helix/manager/zk/ParticipantManager.java#L144-L156
   
   Notice that in the above code snippet, Helix parses the instanceName (i.e.,) 
into HOST and PORT field and then stores in Zk. Basically Helix couples 
instanceName with HELIX_HOST and HELIX_PORT.
   
   Helix further does not allow change of Helix Host and Port via zkHelixAdmin: 
https://github.com/apache/helix/blob/cfd270f2ab377126c36fd71151d414aee55baf66/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixAdmin.java#L215-L221
   
   One potential solution here is to obtain a HelixDataAccessor directly and 
overwrite the PORT and HOST name right after the above connect() in 
HelixServerStarter.
   
   @icefury71 @faiyaz
   
   

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to