Skip to content

Introduce separate Akka dispatchers for CouchDB and Kafka Clients#2956

Closed
bwmcadams wants to merge 4 commits into
apache:masterfrom
projectodd:wip-bwm-dispatcher-cleanup
Closed

Introduce separate Akka dispatchers for CouchDB and Kafka Clients#2956
bwmcadams wants to merge 4 commits into
apache:masterfrom
projectodd:wip-bwm-dispatcher-cleanup

Conversation

@bwmcadams

@bwmcadams bwmcadams commented Nov 10, 2017

Copy link
Copy Markdown
Contributor
  • Rest of system continues to use the default system dispatcher
  • Kafka and CouchDB clients each get their own dispatchers
    • This should prevent all of the akka based stuff from competing constantly for threads
    • Kafka and Couch can be tuned now based on individual needs
  • Dispatchers are defined in common reference.conf, so config can be overridden by dependents

Closes #2954

- Rest of system continues to use the default system dispatcher
- Kafka and CouchDB clients each get their own dispatchers
  * This should prevent all of the akka based stuff from competing constantly for threads
  * Kafka and Couch can be tuned now based on individual needs
- Dispatchers are defined in common `reference.conf`, so config can be overridden by dependents

Refs apache#2954
@markusthoemmes markusthoemmes self-assigned this Nov 10, 2017
@markusthoemmes markusthoemmes self-requested a review November 10, 2017 07:20
@markusthoemmes

markusthoemmes commented Nov 21, 2017

Copy link
Copy Markdown
Contributor

PG3 1378 🔵

- Rest of system continues to use the default system dispatcher
- Kafka and CouchDB clients each get their own dispatchers
  * This should prevent all of the akka based stuff from competing constantly for threads
  * Kafka and Couch can be tuned now based on individual needs
- Dispatchers are defined in common `reference.conf`, so config can be overridden by dependents

Refs apache#2954
@markusthoemmes markusthoemmes force-pushed the wip-bwm-dispatcher-cleanup branch from 1b231ab to cf3fa50 Compare November 21, 2017 06:51
@markusthoemmes

Copy link
Copy Markdown
Contributor

I took the liberty to rebase this, you'll need to override your local branch.

# Max number of threads to cap factor-based parallelism number to
parallelism-max = 10
}
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Are we at risk to starve this one? Kafka producing can be blocking and polling for sure is blocking although there should never be more than a couple of polls active.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

er, yeah. I think I copied this from docs; it looks like the default for Akka's default dispatchers is 64. I'll move it to that and we can always tweak specifically later.

Brendan McAdams added 2 commits November 29, 2017 14:29
- At some point we should investigate best default choices for OpenWhisk and fix

Refs apache#2954
@bwmcadams

Copy link
Copy Markdown
Contributor Author

@markusthoemmes Changed to leave fork-join-executor configs at the Akka default, until we can choose better default tuning for the separated dispatchers.

@dubee

dubee commented Jan 5, 2018

Copy link
Copy Markdown
Member

@bwmcadams, is this PR still valid?

@bwmcadams

Copy link
Copy Markdown
Contributor Author

@dubeejw the intent is still there; I have to check the upstream changes though. Will update.

@markusthoemmes markusthoemmes added needs-review awaits-feedback A reviewer has asked a question and/or asked for a change. labels Feb 28, 2018
@markusthoemmes

Copy link
Copy Markdown
Contributor

@bwmcadams I'll close this one for now, please reopen once you get to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaits-feedback A reviewer has asked a question and/or asked for a change.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants