-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Automatically check "invariants" #13652
Comments
take |
Possible tasks
|
For the physical optimization invariants, we have that the output physical plan schema cannot change; meaning the output results cannot change, but how we get the results can. What else should be included as a responsibility/check? Maintain input ordering if required? (The idea is to have a check, perhaps run in debug mode, that would error if a user-defined physical plan or optimization pass fails to maintain the invariant. Throw error closer to the source when debugging.) |
Here are some ideas based on bugs we have hit / my memory of what has changed and caused us pain:
|
Is your feature request related to a problem or challenge?
I extracted this from #13651 so it was more visible
During upgrade, downstream systems often experience issues due to implicit changes (not explicit API changes) of LogicalPlans that DataFusion code begins relying on, and which result in unintended consequences when upgrading to a new version of DataFusion (see #13525).
Describe the solution you'd like
The idea is to make the current implicit assumptions ("Invariants" in more formal language)( explict and automatically check them.
Examples of implicit assumptions:
UnionExec
must have the same schemaDescribe alternatives you've considered
I like the approach @wiedld took in #13651 :
Additional context
No response
The text was updated successfully, but these errors were encountered: