sillsdev / sillsdev/harmony

Refactor snapshot selection

Open
#36 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
14
Forks
4
Avg merge
3d 21h
Merged PRs (30d)
3

Description

Currently the SnapshotWorker is pretty complicated for several reason.
One reason is that we've embedded snapshot sampling quite deeply inside it.

We want to refactor that to something like this:

  • Just collect all generated snapshots in a dedicated class (e.g. PendingSnapshots)
  • Then determine the mission critical ones (root and latest). It's not entirely obvious where the "mission critical predicate" code should live
  • Then use a dedicated SnapshotSampler class to decide what snapshots will actually be persisted (mission-critical + an intermediate sampling)
  • Later we'd like to #35

Contributor guide

No contributing guide indexed for this repository

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 reading the SnapshotWorker implementation and the related discussion in issue #35. Identify how snapshot collection, mission-critical selection, and sampling are currently intertwined; done means those responsibilities are separated into PendingSnapshots, a mission-critical predicate, and SnapshotSampler as described.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
distributed-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.