-
Sujatha Sivakumar authored
(WHEN WORKER THREADS ARE SLOW) Analysis: ======== STOP SLAVE waits workers to catch up the queue, which may take a lot of time for the command to finish. STOP SLAVE must be executed quickly, even if workers are slow. Fix: === Once receiving STOP instruction the coordinator will notify all workers to STOP by setting their running_status=STOP. Upon receiving the STOP command, the workers will identify a maximum group index already executed (or under execution). All groups whose index are below or equal to the maximum group index will be applied by the workers before stopping. The workers with groups above the maximum group index will exit without applying these groups by setting their running status to "STOP_ACCEPTED". The coordinator will then wait for workers to exit in the nearest state where GAPs are only possible if some worker fail to apply a pending group.
Sujatha Sivakumar authored(WHEN WORKER THREADS ARE SLOW) Analysis: ======== STOP SLAVE waits workers to catch up the queue, which may take a lot of time for the command to finish. STOP SLAVE must be executed quickly, even if workers are slow. Fix: === Once receiving STOP instruction the coordinator will notify all workers to STOP by setting their running_status=STOP. Upon receiving the STOP command, the workers will identify a maximum group index already executed (or under execution). All groups whose index are below or equal to the maximum group index will be applied by the workers before stopping. The workers with groups above the maximum group index will exit without applying these groups by setting their running status to "STOP_ACCEPTED". The coordinator will then wait for workers to exit in the nearest state where GAPs are only possible if some worker fail to apply a pending group.
Loading