-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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: inconsistent metric types in mysql #9403
Conversation
Fixes influxdata#8319, influxdata#5711, influxdata#5055, influxdata#7421 See influxdata#5529, influxdata#6624 This could be easily extended to fix influxdata#6671 as well
Thanks so much for the pull request! |
!signed-cla |
Looks like new artifacts were built from this PR. Get them here!Artifact URLs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good codewise, but I have no way of testing this...
@eraac @bluebob @bolek2000 This pull request might resolve the issues you opened, if you are still having the issues would you mind testing this fix? #9403 (comment) |
Hi @fxedel I took a quick look at the changes here. I'm a little concerned about backward compatibility. If someone was using "transaction_write_set_extraction" or any of the other ~20 variables which change type because of this PR, they may run into issues. Do you think these fixes would require a new metric_version=3? |
Hi @reimda, the issues that could be introduced by this PR are actually the same issues that we're facing today. For example As this is merely a bug fix, I wouldn't introduce a new metric version, as all users of v2 would benefit in the long-term. A typical shard duration is one week, so InfluxDB users would see no issues after at most seven days. Of course, a new metric version v3 would also be acceptable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the explanation, I see what you mean that issues that could be introduced by this PR are actually already happening. I think this change will fix a lot of the existing mysql conversion problems.
I have a couple more questions after looking a little more closely at the code.
(cherry picked from commit 4194e54)
Fixed two issues with inconsistent metric types in mysql:
The fix included uint parsing (if int fails) and a mapping for some MySQL statuses/variables, pinning them to a specific type.
Note that InfluxDB 1.x doesn't support uint, so outputted values will be capped to max int, but that's a problem with the InfluxDB plugin and not MySQL. (Possible fix: add influxdb option to output uints as floats).
Fixes #8319, #5711, #5055, #7421
See #5529, #6624
This could be easily extended to fix #6671 as well.