Skip to content
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

source-zendesk-support: ingestion fails with Could not determine airbyte type from JSON schema #212

Open
1 task
jasonhallup opened this issue Apr 25, 2024 · 8 comments

Comments

@jasonhallup
Copy link

Connector Name

source-zendesk-support

Connector Version

2.4.1

What step the error happened?

During the sync

Relevant information

When running the connector to sync data, the following error was returned:

Connection check succeeded for source-zendesk-support.
Started source-zendesk-support read operation at 11:54:30...
Could not determine airbyte type from JSON schema: {'type': ['null', 'object', 'string'], 'properties': {'id': {'type': ['null', 'integer']}, 'assignee_id': {'type':
['null', 'integer']}, 'group_id': {'type': ['null', 'integer']}, 'reason_id': {'type': ['null', 'integer']}, 'requester_id': {'type': ['null', 'integer']},
'ticket_id': {'type': ['null', 'integer']}, 'updated_at': {'type': ['null', 'string'], 'format': 'date-time'}, 'created_at': {'type': ['null', 'string'], 'format':
'date-time'}, 'url': {'type': ['null', 'string']}, 'score': {'type': ['null', 'string']}, 'reason': {'type': ['null', 'string']}, 'comment': {'type': ['null',
'string']}}}
Completed source-zendesk-support read operation at 11:54:33.

Relevant log output

No response

Contribute

  • Yes, I want to contribute
@marcosmarxm
Copy link
Member

Can you test using latest version of Zendesk connector as it fixed some schema issue.
If it doesn't fix the issue, can you share the complete sync log and what streams you're trying to sync?

@jasonhallup
Copy link
Author

jasonhallup commented Apr 30, 2024 via email

@aaronsteers
Copy link
Contributor

aaronsteers commented Apr 30, 2024

Newbie question, but I can't easily find the answer online. How do I update a specific connector in pyAirbyte? Is there a line I can call in my script to make sure it's always pulling down the latest version?

Hi, @jasonhallup!

We don't have a way to check as of today in PyAirbyte. To answer your direct question though, PyAirbyte will automatically attempt to install the latest version if you do not provide a different version perference when calling get_source().

You might be able to get this with source.executor._get_installed_version(). Started a PR here to make this a supported operation:

Short of the above, a fresh install of PyAirbyte should do a fresh install of the source connector, using the latest version. You can check for (and delete) a folder called .venv-source-zendesk-support if you feel you are not getting the latest version.

cc @marcosmarxm

@jasonhallup
Copy link
Author

jasonhallup commented May 1, 2024 via email

@aaronsteers aaronsteers transferred this issue from airbytehq/airbyte May 1, 2024
@aaronsteers
Copy link
Contributor

aaronsteers commented May 1, 2024

(Migrated this to PyAirbyte repo, since it seems like it may be PyAirbyte-specific behavior.)

@jasonhallup - On re-reading the issue description, I'm noticing that the error message may actually be a warning. And the subsequent execution which generated zero rows may be due to the fact that sync operations in PyAirbyte are incremental-by-default.

What do you get if you re-run your existing code and then try something like:

display(cache["tickets"].to_pandas())

if in Jupyter/Colab, or else

print(len(cache["tickets"]))

if in terminal or native python?


Logged this to improve messaging in general:

@jasonhallup
Copy link
Author

jasonhallup commented May 1, 2024 via email

@aaronsteers
Copy link
Contributor

aaronsteers commented May 1, 2024

Thanks for confirming. Is it possible that the dataset is empty or that the tables were inadvertently deleted/truncated?

Just to be sure, can you tell me what happens if you run with the force_full_refresh flag:

source.select_streams(["tickets"])
read_result: ab.ReadResult = source.read(force_full_refresh=True)

print(len(read_result.cache["tickets"]))

@jasonhallup
Copy link
Author

jasonhallup commented May 1, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants