Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API: Adds DeletePrefixes #37

Merged
merged 1 commit into from
Sep 5, 2024

Conversation

JoshVanL
Copy link
Collaborator

@JoshVanL JoshVanL commented Sep 2, 2024

Adds a new DeletePrefixes API which deletes all jobs (as well as counters) whose names match the given prefixes. Note the given strings to this API are prefixes of the job names, not the underlying ETCD keys. Prefixes will be serialized into the actual ETCD keys.

This is useful for Dapr to add a feature whereby jobs (of all of types) in a particular namespace (some job prefix) are deleted when a Kubernetes Namespace is deleted.

Moves /internal/tests to /tests to expose cron ETCD helper funcs for library consumers. Expands package with a cron sub-package to introduce single and clustered cron server setup helpers.

Exposes the CounterGarbageCollectionInterval time duration pointer option to enable testing time interval triggered counter garbage collection. This is set to a low value during some tests, which has a side effect of soft testing this doesn't prematurely delete counters.

Slight refactor of api_test.go to reside in a different package to prevent a circular import from /tests.

Adds /fake for exposing a fake cron that library consumers can use for testing.

Copy link
Contributor

@artursouza artursouza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, target main branch.

@artursouza
Copy link
Contributor

This change is too big for a patch. We can release 0.3

@JoshVanL JoshVanL changed the base branch from release-0.2 to master September 4, 2024 14:38
@JoshVanL
Copy link
Collaborator Author

JoshVanL commented Sep 4, 2024

@artursouza makes sense- I have opened this PR to fast forward master to keep up with release-0.2

Adds a new DeletePrefixes API which deletes all jobs (as well as
counters) whose names match the given prefixes. Note the given strings
to this API are prefixes of the _job names_, not the underlying ETCD
keys. Prefixes will be serialized into the actual ETCD keys.

This is useful for Dapr to add a feature whereby jobs (of all of types)
in a particular namespace (some job prefix) are deleted when a
Kubernetes Namespace is deleted.

Moves `/internal/tests` to `/tests` to expose cron ETCD helper funcs for
library consumers. Expands package with a `cron` sub-package to introduce
single and clustered cron server setup helpers.

Exposes the `CounterGarbageCollectionInterval` time duration pointer
option to enable testing time interval triggered counter garbage
collection. This is set to a low value during some tests, which has a
side effect of soft testing this doesn't prematurely delete counters.

Slight refactor of `api_test.go` to reside in a different package to
prevent a circular import from `/tests`.

Adds `/fake` for exposing a fake cron that library consumers can use for
testing.

Signed-off-by: joshvanl <me@joshvanl.dev>
@artursouza artursouza merged commit 2a1c674 into diagridio:master Sep 5, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants