internal/beater/config: fix 32-bit arch overflow #15216
Merged
+5
−1
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.
Motivation/summary
Rather than converting from float64 to int and back, which may overflow on 32-bit architectures, check if the duration has a sub-second component through an integer modulo operation.
Checklist
- [ ] Documentation has been updatedHow to test these changes
Run apm-server with the largest possible whole second duration for
apm-server.agent.config.cache.expiration
:2562047h47m16s
. Prior to this PR, that should fail on 32-bit architectures.Related issues
None