Skip to content

Add job executor - BBO

Ref: #578056

What does this MR do and why?

This MR adds the job executor to handle individual operation execution by adding proper job lifecycle tracking and error handling.

The main improvements include:

  1. Better job state management: Jobs can now transition from any state to "running" (not just from "pending"), and the system automatically tracks when jobs start and finish by recording timestamps.

  2. Attempt counting: The system now counts how many times a job has been tried, incrementing the counter each time it runs and resetting metrics for fresh attempts.

  3. Complete job execution logic: Previously, the executor was just a placeholder that did nothing. Now it actually runs jobs by creating the appropriate job instance, executing it, and capturing any performance metrics.

  4. Robust error handling: The system catches all types of errors (including special timeout errors) and properly marks jobs as failed while preserving the original error for debugging.

  5. Comprehensive testing: Added thorough tests that verify jobs are executed correctly, state transitions work properly, metrics are captured, and various error scenarios are handled appropriately.

Edited by Max Orefice

Merge request reports

Loading