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

Interfaces: Update all component interfaces to implement io.Closer #3542

Merged
merged 15 commits into from
Sep 19, 2024

Conversation

JoshVanL
Copy link
Contributor

Previously, component interfaces did not mandate the implementation of the io.Closer interface and instead components could optionally implement Close() error or not. This meant that consumers had to manually type check if a component implemented io.Closer or not when attempting to close a component.

This lead to situations whereby components either didn't implement the func signature correctly, like in the case of the mongodb state store, or components had leakage where resources were not being closed properly as there was no close shutdown method.

All components now implement the io.Closer interface.

The configuration components have been updated to correctly respect contexts, and correctly wait for resources to be released on Close.

@JoshVanL JoshVanL requested review from a team as code owners September 16, 2024 15:38
@JoshVanL JoshVanL marked this pull request as draft September 16, 2024 23:35
@JoshVanL JoshVanL marked this pull request as ready for review September 18, 2024 13:04
Previously, component interfaces did not mandate the implementation of
the io.Closer interface and instead components could optionally
implement `Close() error` or not. This meant that consumers had to
manually type check if a component implemented `io.Closer` or not when
attempting to close a component.

This lead to situations whereby components either didn't implement the
func signature correctly, like in the case of the [mongodb state
store](https://github.com/dapr/components-contrib/pull/3537/files), or
components had leakage where resources were not being closed properly as
there was no close shutdown method.

All components now implement the `io.Closer` interface.

The configuration components have been updated to correctly respect
contexts, and correctly wait for resources to be released on Close.

Signed-off-by: joshvanl <[email protected]>
Signed-off-by: joshvanl <[email protected]>
Signed-off-by: joshvanl <[email protected]>
Signed-off-by: joshvanl <[email protected]>
Signed-off-by: joshvanl <[email protected]>
Signed-off-by: joshvanl <[email protected]>
@yaron2 yaron2 merged commit be7c19b into dapr:main Sep 19, 2024
89 checks 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.

2 participants