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

Version error for package dbt-labs/dbt_utils: Could not find a satisfactory version from options #657

Closed
1 of 5 tasks
sambradbury opened this issue Aug 29, 2022 · 5 comments
Labels
bug Something isn't working

Comments

@sambradbury
Copy link

sambradbury commented Aug 29, 2022

Describe the bug

At ~ 4pm CT our scheduled dbt builds started failing with the following error:
Version error for package dbt-labs/dbt_utils: Could not find a satisfactory version from options: ['>=0.7.0', '>=0.9.0', '<1.0.0', '>=0.8.0', '<0.9.0', '>=0.8.0', '<0.9.0']

I have confirmed that this error pops up with dbt version 1.0.0 (used by our pipeline) and with dbt version 1.1.1 (which I am using locally)

I've also tried to update our packages.yml file to include the exact syntax recommended by the dbt package hub here which generates the same class of error.

Steps to reproduce

Edit packages.yml to include the following:

packages:
  - package: "dbt-labs/dbt_utils"
    version: [">=0.7.0"]

Then run dbt deps

Note that this error seems to pop up regardless of version declaration.

Expected results

I expect dbt to install the packages specified in packages.yml

Actual results

01:14:02  Running with dbt=1.0.0
01:14:03  Encountered an error:
Version error for package dbt-labs/dbt_utils: Could not find a satisfactory version from options: ['>=0.7.0', '>=0.9.0', '<1.0.0', '>=0.8.0', '<0.9.0', '>=0.8.0', '<0.9.0']
Trying again...
01:14:13  Running with dbt=1.0.0
01:14:14  Encountered an error:
Version error for package dbt-labs/dbt_utils: Could not find a satisfactory version from options: ['>=0.7.0', '>=0.9.0', '<1.0.0', '>=0.8.0', '<0.9.0', '>=0.8.0', '<0.9.0']

System information

The contents of your packages.yml file:

packages:
  - package: "dbt-labs/dbt_utils"
    version: [">=0.7.0"]
  - package: calogica/dbt_expectations
    version: [">=0.4.0"]
  - package: calogica/dbt_date
    version: [">=0.4.0"]
  - package: dbt-labs/codegen
    version: [">=0.4.0"]
  - package: dbt-labs/audit_helper
    version: [">=0.4.0"]
  - package: fivetran/hubspot
    version: [">=0.5.0", "<0.6.0"]
  - package: fivetran/hubspot_source
    version: [">=0.5.0", "<0.6.0"]

Which database are you using dbt with?

  • postgres
  • redshift
  • bigquery
  • snowflake
  • other (specify: ____________)

The output of dbt --version:

1.0.0

Additional context

Our dbt jobs started failing around the same time as the latest release of this package: https://github.com/dbt-labs/dbt-utils/releases/tag/0.9.1

Are you interested in contributing the fix?

Happy to help in any way I can. Just tag me directly in github

@sambradbury sambradbury added bug Something isn't working triage labels Aug 29, 2022
@joellabes
Copy link
Contributor

@sambradbury It looks like this is a consequence of the dbt_date release earlier today, which requires dbt-utils >= 0.9.0, whereas the fivetran packages have a restriction of "<0.9.0".

Honestly, I'm surprised that the package resolver didn't just pick a slightly older version of dbt_date - you may want to open an issue against the Core repo for that?

In the meantime though, this will see you right:

packages:
  - package: "dbt-labs/dbt_utils"
    version: [">=0.7.0"]
  - package: calogica/dbt_expectations
    version: [">=0.4.0"]
  - package: calogica/dbt_date
    version: [">=0.4.0", "<0.6.0"] #changed
  - package: dbt-labs/codegen
    version: [">=0.4.0"]
  - package: dbt-labs/audit_helper
    version: [">=0.4.0"]
  - package: fivetran/hubspot
    version: [">=0.5.0", "<0.6.0"]
  - package: fivetran/hubspot_source
    version: [">=0.5.0", "<0.6.0"]

You may want to consider adding defensive upper bounds on some of your other packages as well, as I suspect you may hit a similar problem if/when dbt_expectations is bumped too.

@joellabes
Copy link
Contributor

(Thanks for posting your full packages.yml file! It made debugging a lot easier 🙏)

@sambradbury
Copy link
Author

Thanks for the quick response! @joellabes

I definitely will open a dbt-core issue and good idea to add upper version limits to avoid this in the future.

@sambradbury
Copy link
Author

@joellabes For future troubleshooting, where did you find this information related to restrictions. I didn't find anything regarding dbt-utils in each packages respective packages.yml file.

whereas the fivetran packages have a restriction of "<0.9.0"

@joellabes
Copy link
Contributor

Oh and while I'm sending you off to other GitHub issues @sambradbury, if we'd implemented dbt-labs/dbt-core#4775 then I think this would have made this less painful for you. Feel free to add some more colour over there too.

For future troubleshooting, where did you find this information related to restrictions. I didn't find anything regarding dbt-utils in each packages respective packages.yml file.

For historical compatibility reasons, the https://github.com/fivetran/dbt_fivetran_utils package doesn't declare its dependency on dbt utils in its main branch, so it is very hidden. Here's where it's defined: https://github.com/fivetran/dbt_fivetran_utils/blob/v0.3.9/packages.yml (via https://github.com/fivetran/dbt_hubspot_source/blob/main/packages.yml)

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