Skip to content

Move blocking writeResource operation to boundedElastic #30928

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

Conversation

Arooba-git
Copy link

Hi! 🙂

We detected a blocking call in http-codec module with the help of BlockHound:
sf2-blocking

This PR fixes the blocking code so the pipeline remains reactive end to end. :) We re-ran the tests and also compared the performance (CPU usage and latency) before and after the fix:

Before
sf-latency-before
sf2-cpu-bef

After
sf2-cpu-aft
sf2-latency-after

@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged or decided on label Jul 23, 2023
@jhoeller jhoeller added in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement and removed status: waiting-for-triage An issue we've not yet triaged or decided on labels Aug 3, 2023
@jhoeller jhoeller added this to the 6.0.12 milestone Aug 3, 2023
@jhoeller jhoeller changed the title Move blocking writeResource operation to boundedElastic in http-code module Move blocking writeResource operation to boundedElastic Aug 3, 2023
@poutsma poutsma self-assigned this Aug 16, 2023
@poutsma poutsma modified the milestones: 6.0.12, 6.1.0-RC1 Aug 28, 2023
@poutsma
Copy link
Contributor

poutsma commented Aug 28, 2023

As with #30903, this PR uses the bounded elastic scheduler for all writing operations, including zero-copy operations that do not burden the CPU. I will address this by localizing the usage of the bounded elastic scheduler to just the blocking operations. Doing so will require new method signatures for a public method, so rescheduling to 6.1.

@poutsma poutsma closed this in 76c032c Aug 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants