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

fix(timeout): remove HTTP timeout handler #737

Merged
merged 2 commits into from
Oct 26, 2021

Conversation

andrewazores
Copy link
Member

Fixes #736

Remove TimeoutHandler - this was initially used as a hack around preventing clients from seeing indefinitely-long request "hangs" when requesting URL paths that didn't exist, such as web-client assets in a minimal build. This is now properly handled by the WebClientAssetsHandler responding with a 404 in a minimal build, or else a 200 with the index.html in a non-minimal build. Other actual assets, like .js bundles, fonts, images, continue to be handled by the StaticAssetsHandler. This leaves no real case where the TimeoutHandler was useful. However, there were cases where the TimeoutHandler could be triggered in undesirable ways - for example, long-running report generation, archive uploads, jfr-datasource uploads, and recording downloads.

Remove TimeoutHandler - this was initially used as a hack around preventing clients from seeing indefinitely-long request "hangs" when requesting URL paths that didn't exist, such as web-client assets in a minimal build. This is now properly handled by the WebClientAssetsHandler responding with a 404 in a minimal build, or else a 200 with the index.html in a non-minimal build. Other actual assets, like .js bundles, fonts, images, continue to be handled by the StaticAssetsHandler. This leaves no real case where the TimeoutHandler was useful. However, there were cases where the TimeoutHandler could be triggered in undesirable ways - for example, long-running report generation, archive uploads, jfr-datasource uploads, and recording downloads.
@andrewazores andrewazores merged commit 3706fe2 into cryostatio:main Oct 26, 2021
@andrewazores andrewazores deleted the remove-timeouthandler branch October 26, 2021 21:57
mergify bot pushed a commit that referenced this pull request Oct 26, 2021
* fix(timeout): remove HTTP timeout handler

Remove TimeoutHandler - this was initially used as a hack around preventing clients from seeing indefinitely-long request "hangs" when requesting URL paths that didn't exist, such as web-client assets in a minimal build. This is now properly handled by the WebClientAssetsHandler responding with a 404 in a minimal build, or else a 200 with the index.html in a non-minimal build. Other actual assets, like .js bundles, fonts, images, continue to be handled by the StaticAssetsHandler. This leaves no real case where the TimeoutHandler was useful. However, there were cases where the TimeoutHandler could be triggered in undesirable ways - for example, long-running report generation, archive uploads, jfr-datasource uploads, and recording downloads.

* test(timeout): correct broken unit tests

(cherry picked from commit 3706fe2)

# Conflicts:
#	src/main/java/io/cryostat/net/reports/SubprocessReportGenerator.java
#	src/main/java/io/cryostat/net/web/http/generic/TimeoutHandler.java
#	src/test/java/io/cryostat/net/reports/SubprocessReportGeneratorTest.java
andrewazores added a commit that referenced this pull request Oct 26, 2021
* fix(timeout): remove HTTP timeout handler

Remove TimeoutHandler - this was initially used as a hack around preventing clients from seeing indefinitely-long request "hangs" when requesting URL paths that didn't exist, such as web-client assets in a minimal build. This is now properly handled by the WebClientAssetsHandler responding with a 404 in a minimal build, or else a 200 with the index.html in a non-minimal build. Other actual assets, like .js bundles, fonts, images, continue to be handled by the StaticAssetsHandler. This leaves no real case where the TimeoutHandler was useful. However, there were cases where the TimeoutHandler could be triggered in undesirable ways - for example, long-running report generation, archive uploads, jfr-datasource uploads, and recording downloads.

* test(timeout): correct broken unit tests

(cherry picked from commit 3706fe2)
andrewazores added a commit that referenced this pull request Oct 28, 2021
* fix(timeout): remove HTTP timeout handler

Remove TimeoutHandler - this was initially used as a hack around preventing clients from seeing indefinitely-long request "hangs" when requesting URL paths that didn't exist, such as web-client assets in a minimal build. This is now properly handled by the WebClientAssetsHandler responding with a 404 in a minimal build, or else a 200 with the index.html in a non-minimal build. Other actual assets, like .js bundles, fonts, images, continue to be handled by the StaticAssetsHandler. This leaves no real case where the TimeoutHandler was useful. However, there were cases where the TimeoutHandler could be triggered in undesirable ways - for example, long-running report generation, archive uploads, jfr-datasource uploads, and recording downloads.

* test(timeout): correct broken unit tests

(cherry picked from commit 3706fe2)

Co-authored-by: Andrew Azores <aazores@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HTTP timeout handler should not apply to all API requests
3 participants