This repository has been archived by the owner on Oct 23, 2023. It is now read-only.
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.
Signed-off-by: Prafulla Mahindrakar [email protected]
TL;DR
Parsing large integers breaks in flytectl since by default json unmarshal converts the number to float64 representation
and when fmt.Sprinf is done for such a value then by default for large floats it uses exponential representation which breaks the parsing
when it tries to do this
strconv.ParseInt("8.888888e+06")
The fix is to check for the type of float64 and compare the truncated integer portion with the actual float64 value and if they are equal then use %.0f formatter to remove the decimal part in the string.
Test with integer within bounds
Test with integer out of bounds
Type
Are all requirements met?
Complete description
How did you fix the bug, make the feature etc. Link to any design docs etc
Tracking Issue
flyteorg/flyte#1282
Follow-up issue
NA