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

[ADAP-934] [Bug] Dataproc serverless option submission in dbt fails due to timeout issue #952

Closed
2 tasks done
alimasri opened this issue Oct 5, 2023 · 4 comments
Closed
2 tasks done
Labels
bug Something isn't working

Comments

@alimasri
Copy link

alimasri commented Oct 5, 2023

Is this a new bug in dbt-bigquery?

  • I believe this is a new bug in dbt-bigquery
  • I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior

When using the dataproc serverless option submission in dbt, my dataproc job takes around 30 minutes to complete. However, my dbt runs keep failing with the error message "Operation did not complete within the designated timeout of 900 seconds." The dbt run stops but the dataproc serverless jobs continues running and finishes with no issues.

I have gone through the code: https://github.com/dbt-labs/dbt-bigquery/blob/main/dbt/adapters/bigquery/python_submissions.py#L51 and noticed that there is a possibility to change the timeout value.

I have tried defining the timeout value in my profile, yaml config, and in the model dbt config object in the python model itself, but with no success. I have also changed my job_execution_timeout_seconds value to 6000, but that did not work either. I am looking for a way to override the default timeout value in this scenario.

Expected Behavior

The dbt run should not fail due to a timeout issue and should complete successfully as the dataproc serverless job does.

Steps To Reproduce

  1. Use the dataproc serverless option submission in dbt.
  2. Set your timeout to anything greater than 30 minutes
  3. Run a dataproc job that takes around 30 minutes to complete.
  4. Observe that the dbt run fails with a timeout error, while the dataproc serverless job continues running and finishes successfully.

Relevant log output

Operation did not complete within the designated timeout of 900 seconds.

Environment

- OS: Ubuntu 20.04
- Python: 3.10.11
- dbt-core: 1.5.6
- dbt-bigquery: 1.5.6

Additional Context

No response

@alimasri alimasri added bug Something isn't working triage labels Oct 5, 2023
@github-actions github-actions bot changed the title [Bug] Dataproc serverless option submission in dbt fails due to timeout issue [ADAP-934] [Bug] Dataproc serverless option submission in dbt fails due to timeout issue Oct 5, 2023
@alimasri alimasri closed this as completed Oct 5, 2023
@dbeatty10
Copy link
Contributor

It sounds like you were able to accomplish your goal after all @alimasri ?

@dbeatty10 dbeatty10 closed this as not planned Won't fix, can't repro, duplicate, stale Oct 5, 2023
@alimasri
Copy link
Author

alimasri commented Oct 5, 2023

No I found a similar issue #577. It was closed by #766, but still I do not know where should I reference the timeout variable in my dbt code.

@dbeatty10
Copy link
Contributor

The bugfix in #766 wasn't released until dbt-bigquery 1.6.0 - July 31, 2023.

Could you try something like this with dbt-bigquery 1.6+ and see if it works for you or not?

my-profile:
  target: dev
  outputs:
    dev:
      type: bigquery
      method: oauth
      project: abc-123
      dataset: my_dataset
      job_execution_timeout_seconds: 1800  # 30 minutes

@alimasri
Copy link
Author

alimasri commented Oct 6, 2023

Thank you @dbeatty10 for the information. I upgraded to 1.6.0 and the timeout parameter worked as expected.

@dbeatty10 dbeatty10 removed the triage label Oct 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants