Description
Describe the bug
The Checkpointer
interface was updated in v1.3.0 to include the following two methods:
ListActiveWorkers(map[string]*par.ShardStatus) (map[string][]*par.ShardStatus, error)
ClaimShard(*par.ShardStatus, string) error
We have a custom Postgres Checkpointer implementation and the minor version bump broke our build. We believe this change should either have been an optional interface, i.e. ShardStealingCheckpointer
with only the two new methods, or a major version bump. If the optional interface would be an acceptable solution, we are happy to contribute a PR.
As far as I can tell, it's sufficient for now for us to simply return a "not implemented" error as stealShard
will never be true unless EnableLeaseStealing
is also true, and we are not currently using this feature, but I just wanted to confirm that this was something we could expect.
As an aside, I notice there is already a DynamoDB implementation in the repo. We would be happy to flesh out the missing methods and contribute our Postgres Checkpointer in a PR at some point if that would be something you'd see value in.
Reproduction steps
Implement the Checkpointer interface prior to v1.3.0, update to v1.3.0.
Expected behavior
Minor version bumps should not break APIs.
Additional context
No response