lablup / lablup/backend.ai

Reconciler-Based Idle Checker (BEP-1054)

Open
#12,334 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
17h 7m
Merged PRs (30d)
358

Description

BEP-1054: Reconciler-Based Idle Checker.

Re-home manager idle checking onto a sokovan reconciler stage (Source -> Handler -> Applier) and promote the idle checker to a first-class, scope-agnostic DB object (idle_checkers), with scope application held entirely in an association table (idle_checker_bindings). Utilization decisions are driven from agent-emitted Prometheus metrics.

Proposal: proposals/BEP-1054-reconciler-based-idle-checker.md

Scope note: cutover (rewiring the GQL idle_checks report) and removal of the legacy IdleCheckerHost / GlobalTimer / DoIdleCheckEvent path are intentionally deferred to a later phase; the new mechanism is built alongside the existing one. Supersedes design epic BA-6197.

JIRA Issue: BA-6577

Contributor guide

Open the contributing guide

Research direction

Start with proposals/BEP-1054-reconciler-based-idle-checker.md, then trace the existing IdleCheckerHost, GlobalTimer, and DoIdleCheckEvent path. The scope describes adding the Source–Handler–Applier mechanism, idle_checkers and idle_checker_bindings, and Prometheus-driven decisions while leaving GQL report cutover and legacy removal deferred; completion should match those boundaries.

Written by the indexing model from the issue text.

Assessment

Tech stack
prometheus, python
Domain
backend, databases, distributed-systems, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.