lablup / lablup/backend.ai

Async trigger contract: entry returns ack with async executor; remove synchronous create_kernel path

Open
#12,787 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

Async trigger contract (BEP-1061 section 3a): every lifecycle trigger (prepare/create/terminate) validates + enqueues and returns an ack (Accepted) immediately; progress/completion/failure is delivered via events only. Generalize container_lifecycle_queue into the universal entry contract and remove the synchronous create_kernel path.

Composes with BEP-1057 Phase 2 (HTTP entry): the HTTP route returns the ack and the executor runs the work.

Success Criteria:
- [ ] Entry validates then returns an ack immediately; work runs in an async executor
- [ ] Synchronous blocking create_kernel path removed
- [ ] No boundary conflict with the BEP-1057 HTTP entry story
- [ ] pants test passes for affected packages

JIRA Issue: BA-6854

Contributor guide

Open the contributing guide

Research direction

Start by tracing the container_lifecycle_queue and the synchronous create_kernel path across the prepare, create, and terminate lifecycle triggers. Compare those entry points with the HTTP entry described in BEP-1057 Phase 2, then run pants test for the affected packages. Done means validation returns an Accepted ack immediately, execution is asynchronous, and progress, completion, and failure arrive only through events without an HTTP boundary conflict.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.