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

Add unstable on_thread_park_id() to runtime Builder (for stuck task watchdog) #6370

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Commits on Feb 28, 2024

  1. Add worker id to on_thread_park callback

    It's possible to find out from WorkerMetrics which workers are not
    actively polling for tasks.  However it's not possible to tell if
    non-polling workers are merely idle (parked) or if they are stuck.
    By adding the worker id (same usize as used in WorkerMetrics calls)
    to the on_thread_park() and on_thread_unpark() callbacks it is
    possible to track which specific workers are parked.  Then any
    worker that is not polling tasks and is not parked is a worker
    that is stuck.
    
    With this information it's possible to create a watchdog that alerts
    or kills the process if a worker is stuck for too long.
    theron-eg committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    11dff31 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Configuration menu
    Copy the full SHA
    dde346f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4d4b823 View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2024

  1. Configuration menu
    Copy the full SHA
    dab40f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2301515 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    451410f View commit details
    Browse the repository at this point in the history