jiajunwang opened a new issue #1257:
URL: https://github.com/apache/helix/issues/1257


   **Describe the bug**
   When a resource is removed, the WAGED rebalancer will clean up the persisted 
assignment state. However, it does not remove the cached IS/ResourceConfig in 
the Resource Change Detector. If the resource deleting is the only event 
happens in the cluster, then the change detector will never be refreshed. As a 
result, if the resource is re-created with the same name, the change detector 
will keep using the previous cached state to compare the configuration delta.
   
   In the worst scenario, the new config matches the older one and the change 
detector thinks there is nothing changed in the cluster. As a result, the 
baseline won't be calculated. And the resource won't be assigned.
   
   **To Reproduce**
   (TO be confirmed, the following steps are derived from logs. Will need to 
add test cases to prove)
   1. Create Resource A.
   2. After rebalance, remove resource A.
   3. Re-create resource A with the same configuration.
   4. Resource A won't be assigned since the baseline calculation won't happen 
if no other changes happen in this cluster.
   
   **Expected behavior**
   The recreated resource A is treated as a new resource and being assigned 
automatically.
   
   **Additional context**
   Impacted Version: 1.0.1
   
   This bug only impacts WAGED managed resources.
   
   As a workaround, manually trigger rebalance (for example, touching the 
IdealState by changing the NUM_PARTITIONS and then changing it back), or reset 
the helix controller to trigger a refresh baseline rebalance.
   


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



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

Reply via email to