-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Serialize Undefined values to JSON for rpc requests #3687
Conversation
is 0.21.0 the right place for this in the changelog? And more generally... how would I know which release a given commit merged to |
Yes, 0.21.0 is good. Since we've cut the first v0.21 prerelease (0.21.0-b1), thereby creating the Generally, you put your changelog entry under the release where that PR's changes are going out. If your change were for v0.20.1 instead of v0.21, you'd add a changelog entry under v0.20.1, and then also backport to @leahwicz Does that sound right to you? |
Yes that is correct |
Huh - is that what we ask external contributors to do too? That feels... onerous... to me! |
Sorry - I hope I'm not being dense here - I just want to make sure I'm doing the right thing. I should squash+merge this into |
We ask all external contributors to open PRs targeting
That's right! I'm also happy to merge this PR and take it from there, let me know :) |
@jtcohen6 if you don't mind helping me out with that, it would be supremely helpful! |
* (#3464) Serialize Undefined values to JSON for rpc requests * Update changelog, fix typo
resolves #3464
Description
The rpc server uses a custom JSON encoder that doesn't know how to encode Undefined variables. As a result, the rpc server returns a 500 error w/ a
RecursionError
if an rpc response contains an Undefined object. See #3464 (comment) for a full diagnosis of the issue.This PR addresses the issue by teaching the dbt JSON Encoder how to serialize an Undefined object to JSON - specifically by serializing it out as an empty string.
Note: need to update the changelog on this one still...
Checklist
CHANGELOG.md
and added information about my change to the "dbt next" section.