Skip to content

Does job reset drop commands if sent in quick succession? #548

Description

@SimonHeybrock

Jonas reports:

If i sent two restart commands for two different job IDs directly after eachother, then only one seemed to be restarted. If I added a sleep of 0.1s or so both seemed to restart fine.

Investigate if this can be reproduced.

Activity

  1. added a commit that references this issue on Nov 25, 2025
  2. SimonHeybrock commented on Nov 25, 2025

    @SimonHeybrock
    MemberAuthor

    Investigation Summary

    I investigated this issue but could not reproduce the bug. The code correctly handles multiple job reset commands sent in rapid succession.

    What was checked

    1. ConfigProcessor deduplication logic (config_handler.py): Groups messages by (config_key, source_name). Since each job has a unique source_name (derived from str(job_id)), different jobs are NOT deduplicated against each other.

    2. JobManager.reset_job: Correctly handles resetting individual jobs without shared state issues.

    3. KafkaSink.publish_messages: Uses unique Kafka keys for each job command and calls flush() after publishing.

    Tests added

    Branch: issue-548-investigation

    • Unit tests verifying ConfigProcessor correctly processes multiple job commands for different jobs
    • Unit test for JobManager resetting multiple jobs in succession
    • Integration tests (with Kafka, 10 iterations each):
      • test_rapid_reset_same_job_multiple_times - Sends 3 resets to same job rapidly
      • test_reset_two_different_sources - Resets jobs for monitor1 and monitor2 rapidly

    All tests pass consistently.

    Questions

    • How was "only one restarted" observed? (UI status? Logs? Data output?)
    • Is it still reproducible?
  3. SimonHeybrock commented on Mar 2, 2026

    @SimonHeybrock
    MemberAuthor

    Closing unless reported again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions