fix: get connection timeout values from config#270
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
Fixed a bug where connection timeout configurations defined in
gateway.yamlwere being ignored during application startup.Previously, even if
connectTimeoutandrequestTimeoutwere provided in the configuration file, they were not being mapped to theAccessorConnectionSettings, resulting in those values remaining null and having no effect on connection requests. This change updatesConnectionBinderto correctly extract those strings from the configuration map, parse them usingDurations.fromCompactString(), and apply them to the underlying connection settings.Additionally, I fixed an issue with
Fields.coerceValueTypewhere it would fail to coerceDurationvalues if the value was already aDurationtype. I added the following code after the null check to handle any values that don't need to be coerced because they are already of the desired type. This also provides a small performance improvement, since no additional processing is required to "coerce" a value unnecessarily.Fixes GCU-1311
Public API Additions/Changes
None
Downstream Consumer Impact
Downstream consumers will now see their configured
connectTimeoutandrequestTimeoutvalues actively applied to connections. Previously, these settings were silently ignored.Additionally, consumers should be aware that if an invalid duration string is provided in the configuration file, the application will now fail-fast during Spring Boot initialization by throwing a
ConfigurationExceptiondetailing the invalid format.How Has This Been Tested?
TBA
Checklist: