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

Support optional Close() method in grpc plugin writer #3120

Closed
slon opened this issue Jul 1, 2021 · 1 comment · Fixed by #3249
Closed

Support optional Close() method in grpc plugin writer #3120

slon opened this issue Jul 1, 2021 · 1 comment · Fixed by #3249
Labels
help wanted Features that maintainers are willing to accept but do not have cycles to implement

Comments

@slon
Copy link
Contributor

slon commented Jul 1, 2021

Requirement - what kind of business use case are you trying to solve?

I would like to support graceful shutdown for grpc plugin.

Problem - what in Jaeger blocks you from solving the requirement?

Writer in storage plugin might buffer spans in internal queue. AFAIK, kafka writer works that way. Even more, because Writer interface does not support batching, internal buffering is the only viable option for achieving high write throughput.

During graceful restart, collector should flush that internal queue before shutting down. Bundled storage plugins can implement optional Close() method, that is invoked during collector shutdown.

But grpc_plugin storage does not support that method.

Proposal - what do you suggest to solve the problem or improve the existing situation?

Extend plugin protocol with Close method. Plugin would advertise Close support in plugin capabilities.
That way, new collector should stay compatible with old plugins. And new plugins should stay compatible with old collector.

@yurishkuro
Copy link
Member

+1

@yurishkuro yurishkuro added the help wanted Features that maintainers are willing to accept but do not have cycles to implement label Jul 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Features that maintainers are willing to accept but do not have cycles to implement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants