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

Allow to specify executor service instances for StreamConfiguration [performance] #322

Open
PetrGlad opened this issue Jan 17, 2018 · 2 comments

Comments

@PetrGlad
Copy link
Contributor

In my observation "compute" threads are idle at least half of the time so sharing executor service with other parts in the system would help to reduce resource usage. This would help to reduce number of required threads when reading multiple streams.
"io" threads seem to busy most of the time waiting on input so in that case shared executor service might be less beneficial but it is still nice to have some means to fine-tune thread factory.

So the suggested improvement is to have means to provide user-defined StreamProcessor#monoIoScheduler, and StreamProcessor#monoComputeScheduler (they won't be necessarily "mono" then :)

A good place for that might be nakadi.StreamConfiguration but probably there are better options.

@ePaul
Copy link

ePaul commented Mar 28, 2019

This would also allow to customize the generated threads, e.g. set a flow-ID.

@ePaul
Copy link

ePaul commented Jun 25, 2019

Also, it would allow to not have the threads all named the same (nakadi-java-compute-0 or nakadi-java-io-0). This makes it really confusing in the logs, if you have several StreamProcessors running in your application.

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

No branches or pull requests

2 participants