mcvsubbu commented on a change in pull request #4323: [Controller Separation] 
Add logic for lead controller resource
URL: https://github.com/apache/incubator-pinot/pull/4323#discussion_r304137578
 
 

 ##########
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/helix/HelixHelper.java
 ##########
 @@ -500,4 +503,55 @@ public IdealState apply(IdealState idealState) {
   public static Set<String> getBrokerInstancesForTenant(List<InstanceConfig> 
instanceConfigs, String tenant) {
     return new HashSet<>(HelixHelper.getInstancesWithTag(instanceConfigs, 
TagNameUtils.getBrokerTagForTenant(tenant)));
   }
+
+  /**
+   * Gets hash code for table.
+   * Note: This method CANNOT be changed when lead controller resource has 
been enabled.
+   * Otherwise it will assign different controller for the same table, which 
will mess up the controller periodic tasks and realtime segment completion.
+   * @param rawTableName table name
+   * @return hash code
+   */
+  private static int getHashCodeForTable(String rawTableName) {
+    return rawTableName.hashCode();
 
 Review comment:
   We need to make sure that the hashcode remains the same across multiple 
releases of JVM that we may rol independently to servers/controllers/brokers 
etc. Or, copy the hashcode method here for any hash we use (coudl be murmur, or 
other).
   

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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to