Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IMP] runbot: avoid concurrent update when updating build status #692

Open
wants to merge 2 commits into
base: 16.0
Choose a base branch
from

Commits on Apr 11, 2023

  1. Configuration menu
    Copy the full SHA
    aaade72 View commit details
    Browse the repository at this point in the history
  2. [IMP] runbot: global state computation

    One of the most problematic concurrency issue is when multiple children
    tries to write the state/result on the parent concurrently.
    
    Multiple partial solutions are possible here:
    - avoid to write if the state doesn't changes
    - avoid to write on a build belonging to another host
    
    A maybe overkill solution would be to add a message queue for an host,
    signaling that one of the child state changed.
    
    An intermediate solution would be to let the host check the state of the
    children while there are some of them, and update the local build state
    assynchronously himself.
    
    We can actualy use the 'waiting' global state to now if we need to
    continue to check the build state and result.
    
    While a build is not done or running, we need to check all children
    result and state on case they were updated.
    
    One corner case is when rebuilding a child: a new child is added
    but the parent is maybe not in the 'waiting' global state anymore.
    If this is the case, we need to recusivelly change the state of the
    parents to waiting so that they will update again.
    Xavier-Do committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    bbe3369 View commit details
    Browse the repository at this point in the history