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
Open API spec nullability inconsistencies with Airbyte API responses #10774
Comments
@alafanechere can I bug you to take a look at this as you approved my last semi-related PR |
Hi @azhard I exactly encountered the same problem using an Open API generated client for the octavia-cli project.
|
If it's a blocker for you I'd suggest you to open a PR to set the nullable fields on the endpoint you need to work with. I agree that it could be better to not return non-required objects but I need to escalate this to the rest of the team to understand the impact. |
Thanks for getting back to me @alafanechere, for reference we've implemented our own version of Right now we're getting around the inconsistencies by making some manual changes to the generated open api client which is enough for now. Would be great if it could be fixed upstream (server side) or in the spec across the board though! |
Closing this as no longer planned, since we deprecated Custom dbt transformations (#34860). |
Enviroment
Current Behavior
As a follow up to #7466, I've noticed that there are further inconsistencies with the OpenAPI spec and a few different object schemas where an object should be marked as nullable because the upstream requests to the Airbyte API that return those schemas pass
null
in for those objects.Specific example looking at
OperatorDbt
andOperatorRead
schemas.Definition from the open API spec:
Note that
OperatorDbt
is not marked as nullable anddbt
isn't required forOperatorConfiguration
.When I make a request to the
v1/operations/list
endpoint I get back a list of operations for a connection that only has one operation with basic normalization enabled, I get this response JSON:So
dbt
is being returned here and its value isnull
. Pulling this into anOperatorConfiguration
object from the generated client library causes an exception to be thrown because dbt is included but set to null even though it was never marked as non-nullable.An example of a fix is the work I did in #10107 to fix nullable connection schedules in the Open API spec. However an alternative would be in the Airbyte API itself, don't return non-required objects when their value is null.
Logs
N/A
Steps to Reproduce
Are you willing to submit a PR?
Sure but would like some guidance about how to approach as I imagine this is an issue for most if not all of the schemas in the spec.
The text was updated successfully, but these errors were encountered: