moby / moby/swarmkit

Consider changing Watch to run a callback function

Open
#2,216 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
3.7k
Forks
676
Avg merge
4d 9h
Merged PRs (30d)
6

Description

Currently, it is the caller's responsibility to call the cancel function returned by Watch. If it is not called, there will be disastrous consequences.

We foresaw a similar problem with the need to release transactions, and designed the transactional methods on the store to run closures instead of requring an explicit release from the caller. A similar approach might make sense with watches. Watch could take a callback, so there's no way to forget to release the watch.

See #2215.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Watch API and reading the transactional store methods that already use callbacks. Review issue #2215 for related context, then determine the callback and cancellation behavior that would prevent callers from forgetting to release watches; completion requires an agreed API design and corresponding coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.