-
Notifications
You must be signed in to change notification settings - Fork 3.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 bugs and reenable PushDownReadTagValuesRule and PushDownReadTagKeysRule #19561
Comments
Here's an easy reproducer for this. Insert data like this:
And then query it like this (with the rules PushDownReadTagValuesRule and PushDownReadTagKeysRule enabled)
If this bug is present then 4 rows will be returned, even though there should only be 2. |
I find that commenting out only |
Yes, there may not be an issue with (This issue was present in the post-split, pre-Flux-upgrade, but it was not found at that time due to the failing test being added to Flux after algo-w) Rather than just re-enable the rule because no tests fail with it, since you'll have the context, can you have a look at the code and check it, or at the very least, see if there is missing test coverage that should be added for it? |
Yea. I'll make sure some appropriate test cases are present for this. |
@wolffcm just to clarify, you believe this bug has always existed in the 1.x query engine and was only caught because a new test was added and it was fixed in v2 but it was never fixed in v1. Correct? |
Yes, that's my understanding. The tests that started failing were added in this PR: So I don't think this bug was ever present in v2. But it seems to have existed in v1 as long as we've had those rules. I guess it will need to be backported to 1.x too. |
Having looked at this in detail there seems to be a fundamental difference in how we understand I have also opened a PR to add tests that demonstrate the wrong answers: |
Once Flux is updated to 0.83.1, after the split, having this rule turned on makes these end-to-end test fail:
When the rules is turned off, the tests can pass. It seems that the predicate that may accompany the call to
ReadTagKeys
andReadTagValues
is not evaluated properly, especially when there is a predicate on the_field
column.DOD:
ReadTagKeys
andReadTagValues
, in addition to any regression testquery/stdlib/influxdata/influxdb/rules.go
The text was updated successfully, but these errors were encountered: