Hooks run concurrently instead of in the listed order
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 75/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- go
- Domain
- infrastructure, operating-systems
Research direction
Locate the stage hook execution path and compare the existing sequential path behind the toggle with the concurrent path. Read the linked config.md and runtime.md requirements first; done means hooks run in listed order and a failing createRuntime, createContainer, or startContainer hook prevents later hooks and stops the container, with the concurrent path removed.
Written by the indexing model from the issue text.
Description
We currently run each stage's hooks concurrently, one goroutine per hook. So when a stage has more than one hook they don't run in listed order, and a failing hook doesn't stop the ones after it. The spec requires both: hooks "MUST be called in the listed order" (config.md), and a failing createRuntime/createContainer/startContainer hook MUST stop the container (runtime.md).
The sequential path already exists in the tree behind a toggle. Since the concurrency only matters when a stage has 2+ hooks, exactly the case it gets wrong, we can just run them sequentially and drop the concurrent path, which also retires the panic #445 fixed inside it.
- Dominant language
- Go
- Stars
- 298
- Forks
- 205
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 25
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from urunc-dev/urunc
-
dev
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
urunc-dev/urunc#1021 · 4 comments ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
urunc-dev/urunc#964 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
DataDog/dd-trace-go#5469 ·
Maintainers usually reply within 1 day
-
bug tests
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
l3montree-dev/devguard#3101 ·
Maintainers usually reply within 1 day
-
area:*of bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oapi-codegen/oapi-codegen#2593 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 85/100
DaoCloud/DaoCloud-docs#7432 ·
Maintainers usually reply within 1 day