Semian equates semaphores not being available with fully disabling
Nobody has claimed this yet.
- Dominant language
- Ruby
- Stars
- 1.5k
- Forks
- 88
- Avg merge
- 3d 19h
- Merged PRs (30d)
- 5
Description
Semian has a mixed identity where it started solely as a bulkheading library (which requires sysv_semaphores) but then had circuit breakers added (which are per-process).
This ended up leading to some confusing segments in the codebase where we fully disable semians if sysv_semphores are not enabled.
We should go over the code and clean things up to distinguish clearly between Semian being disabled and semaphores being unavailable.
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start by reviewing the code paths that fully disable Semians when sysv_semaphores are unavailable. Trace how bulkheads and per-process circuit breakers are handled, then distinguish Semian being disabled from semaphore availability throughout the affected code. Done means those two conditions are represented clearly and consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- distributed-systems
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100