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

UNDERTOW-1846 Configurable SSLEngine delegated task executor #1042

Merged
merged 1 commit into from Mar 4, 2021

Conversation

carterkozak
Copy link
Contributor

@carterkozak carterkozak commented Feb 18, 2021

Jira: https://issues.redhat.com/browse/UNDERTOW-1846

This provides a relatively simple mechanism to control concurrency
of the delegated task portion of a handshake. The work done by
these tasks doesn't necessarily match the type of work that the
worker pool is configured for and may be controlled separately.

The connection is immediately closed when a delegated task executor
rejects a task.

This provides a relatively simple mechanism to control concurrency
of the delegated task portion of a handshake. The work done by
these tasks doesn't necessarily match the type of work that the
worker pool is configured for and may be controlled separately.

The connection is immediately closed when a delegated task executor
rejects a task.
@carterkozak carterkozak marked this pull request as ready for review February 22, 2021 20:57
@fl4via
Copy link
Member

fl4via commented Mar 3, 2021

@carterkozak you have my okay, I liked the approach you're proposing

@fl4via fl4via added the waiting PR update Awaiting PR update(s) from contributor before merging label Mar 3, 2021
@fl4via
Copy link
Member

fl4via commented Mar 3, 2021

I'm adding the label "waiting PR update" to indicate that it is not ready to be merged yet.

@carterkozak
Copy link
Contributor Author

Thanks, @fl4via, I ended up writing tests on this branch already, it's the PR description that describes lack of tests that's out of date. Let me know if there's any additional specific test coverage you'd like added.

I tested this out by running a server process with a profiler, and handshaking in a hot loop via new sslsockets from another process (on several threads). I verified that the majority of cpu cycles were spent within delegated tasks. Rejecting delegated tasks reduces system load and avoids blocking awaiting entropy (a bit contrived, rejecting work results in lower utilization than not rejecting work!).

@fl4via fl4via added enhancement Enhances existing behaviour or code next release This PR will be merged before next release or has already been merged (for payload double check) and removed waiting PR update Awaiting PR update(s) from contributor before merging labels Mar 4, 2021
@fl4via fl4via merged commit bb7a7d1 into undertow-io:master Mar 4, 2021
@fl4via fl4via removed the next release This PR will be merged before next release or has already been merged (for payload double check) label Mar 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhances existing behaviour or code
Projects
None yet
2 participants