Skip to content

[Bug] Since dbt-core~=1.8.0, dbt emits 'selection criterion ... does not match any nodes' warning multiple times #11627

@jeremyyeo

Description

@jeremyyeo

Is this a new bug in dbt-core?

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

Current Behavior

As per title, it looks like since 1.8 onwards, we've begun to emit the 'selection criterion ... does not match any nodes' warning multiple times.

Expected Behavior

Behaviour as per 1.7 - emit warning only once.

Steps To Reproduce

  1. Project code used (not really that important):
# dbt_project.yml
name: my_dbt_project
profile: all
version: "1.0.0"

models:
  my_dbt_project:
    +materialized: table
-- models/foo.sql
select 1 id
  1. In a brand new virtual env, install dbt 1.7.
$ python -m venv venv_dbt_1.7 && source venv_dbt_1.7/bin/activate && pip install dbt-core~=1.7.0 dbt-postgres~=1.7.0
...

$ pip freeze | grep dbt
dbt-core==1.7.19
dbt-extractor==0.5.1
dbt-postgres==1.7.19
dbt-semantic-interfaces==0.4.4

$ dbt build --select tag:fake --no-partial-pars
00:23:08  Running with dbt=1.7.19
00:23:08  Registered adapter: postgres=1.7.19
00:23:09  Found 1 model, 0 sources, 0 exposures, 0 metrics, 401 macros, 0 groups, 0 semantic models
00:23:09  The selection criterion 'tag:fake' does not match any nodes
00:23:09  
00:23:09  Nothing to do. Try checking your model configs and model specification args
  1. In a new virtual env, install dbt 1.8:
$ python -m venv venv_dbt_1.8 && source venv_dbt_1.8/bin/activate && pip install dbt-core~=1.8.0 dbt-postgres~=1.8.0
...

$ pip freeze | grep dbt
dbt-adapters==1.14.8
dbt-common==1.24.0
dbt-core==1.8.9
dbt-extractor==0.6.0
dbt-postgres==1.8.2
dbt-semantic-interfaces==0.5.1

$ dbt build --select tag:fake --no-partial-pars
00:22:33  Running with dbt=1.8.9
00:22:33  Registered adapter: postgres=1.8.2
00:22:34  Found 1 model, 432 macros
00:22:34  The selection criterion 'tag:fake' does not match any enabled nodes
00:22:34  The selection criterion 'tag:fake' does not match any enabled nodes
00:22:34  The selection criterion 'tag:fake' does not match any enabled nodes
00:22:34  
00:22:34  Nothing to do. Try checking your model configs and model specification args

$ dbt build --select bar --no-partial-parse
00:27:43  Running with dbt=1.8.7
00:27:43  Registered adapter: postgres=1.8.2
00:27:43  Found 1 model, 417 macros
00:27:43  The selection criterion 'bar' does not match any enabled nodes
00:27:43  The selection criterion 'bar' does not match any enabled nodes
00:27:43  The selection criterion 'bar' does not match any enabled nodes
00:27:43  
00:27:43  Nothing to do. Try checking your model configs and model specification args

^ Notice that we logged "The selection criterion ... does not match any enabled nodes" 3 times.

We've carried over this 1.8 behaviour even up to the most recent (pre)releases (1.9, 1.10 b, etc).

Relevant log output

Environment

- OS: macOS
- Python: 3.11.9
- dbt: 1.7 + >=1.8

Which database adapter are you using with dbt?

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions