-
Notifications
You must be signed in to change notification settings - Fork 1k
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: preserve the rest of a struct when one field has a processing error #7373
Conversation
I think this should be considered a breaking change. Users would expect to lose the entire struct when a field has an error to null, but now it's being kept. If you ran some CSAS/CTAS on a server without this change, process some records that cause a field processing error, stopped server, "upgraded" server to one with this change, and then processed the same records that ran into field errors, would the query still output null, or would we get this new behavior? @jzaralim could you check what the behavior is here? |
@stevenpyzhang Tested it out, the old records remained as null, and new records follow the new behavior. It doesn't change the old records, but it's still a change in behaviour so I'm not sure if this is a breaking change or not.
|
Sorry, breaking change isn't the right term here (the query didn't break, it ran but with different behavior), I meant this change is backwards incompatible since the behavior changed. Query behavior change is something we should try to avoid as users may have some logic expecting this "bugged behavior". Ideally we keep the old behavior for now and trigger the new behavior with a config, see #5769 for an example of this. We'd eventually completely get rid of the old behavior and config when we reach some major release. |
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.
lgtm, can you verify one more time in the example above that queries issued on servers before this fix keep the old behavior of dropping the entire record even after upgrading to a server with the fix?
Sure, here's an example:
|
Description
Fixes #5980. This also applies to items in arrays and keys/values in maps.
Testing done
Added QTT tests
Reviewer checklist