gortiz opened a new pull request, #8999:
URL: https://github.com/apache/pinot/pull/8999

   This PR tries to fix #8776.
   
   What the test does is to modify the state in helix and then verify that the 
result is correct. IICU Helix, there is no read-after-write guarantee in Helix, 
so there is a race condition between the update and the read. In normal cases, 
Helix will change the state faster and therefore the test doesn't fail. But 
that is not guaranteed and in some executions it may happen that the change is 
not applied when the validate is done.
   
   Sequence diagram when everything works as expected:
   ```mermaid
   
   sequenceDiagram
       Test->>+Controller: update table config (0 */20 * ? * * *)
       Controller->>+Helix: update table config (0 */20 * ? * * *)
       Helix->>Helix: Change ideal state to (0 */20 * ? * * *)
       Helix->>-Controller: Ok
       Controller->>-Test: Ok
       
       Test->>+Controller: get job info
       Controller->>+Helix: get job info
       Helix->>-Controller: updated job info (0 */20 * ? * * *)
       Controller->>-Test: updated job info (0 */20 * ? * * *)
       
   ```
   
   Sequence diagram when the change is not seen:
   
   ```mermaid
   
   sequenceDiagram
       Test->>+Controller: update table config (0 */20 * ? * * *)
       Controller->>+Helix: update table config (0 */20 * ? * * *)
       Helix->>Controller: Ok
       Controller->>-Test: Ok
       
       Test->>+Controller: get job info
       Controller->>+Helix: get job info
       Helix->>-Controller: updated job info (0 */10 * ? * * *)
       
       Helix->>-Helix: Change ideal state (0 */20 * ? * * *)
       
       Controller->>-Test: updated job info (0 */10 * ? * * *)
       
   ```
   
   The only solution know is to retry the validation with some timeout.


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

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to