Skip to content

safer handling of pre-existing config.tags on sources/tables #11854

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

Merged
merged 2 commits into from
Jul 24, 2025

Conversation

MichelleArk
Copy link
Contributor

@MichelleArk MichelleArk commented Jul 24, 2025

Resolves #11855

Problem

The following invalid syntax:

sources:
  - name: ecom
    schema: raw
    description: E-commerce data for the Jaffle Shop
    config:
      tags:
        my_tag: "my_value". # invalid!
    tables:
      - name: raw_customers
        config:
          tags:
            my_tag: "my_value". # invalid!

Used to be valid before we started parsing config.tags/meta in sources and tables, and now leads to a unhashable type: 'dict' error

Solution

  • Clean config.tags on sources/tables prior to merging with top-level (ensure list of strings). Raise a warning when a tag is not a string.

🎩
14:35:09 [WARNING]: Field config.tags: {'my_tag': 'my_value'} is not valid for source (ecom)

Checklist

  • I have read the contributing guide and understand what's expected of me.
  • I have run this code in development, and it appears to resolve the stated issue.
  • This PR includes tests, or tests are not required or relevant for this PR.
  • This PR has no interface changes (e.g., macros, CLI, logs, JSON artifacts, config files, adapter interface, etc.) or this PR has already received feedback and approval from Product or DX.
  • This PR includes type annotations for new and modified functions.

@cla-bot cla-bot bot added the cla:yes label Jul 24, 2025
Copy link
Contributor

Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide.

Copy link

codecov bot commented Jul 24, 2025

Codecov Report

Attention: Patch coverage is 91.66667% with 1 line in your changes missing coverage. Please review.

Project coverage is 91.84%. Comparing base (9010537) to head (ae0b138).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #11854      +/-   ##
==========================================
- Coverage   91.90%   91.84%   -0.06%     
==========================================
  Files         199      199              
  Lines       24348    24354       +6     
==========================================
- Hits        22376    22367       -9     
- Misses       1972     1987      +15     
Flag Coverage Δ
integration 88.70% <83.33%> (-0.13%) ⬇️
unit 65.31% <75.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
Unit Tests 65.31% <75.00%> (-0.01%) ⬇️
Integration Tests 88.70% <83.33%> (-0.13%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MichelleArk MichelleArk marked this pull request as ready for review July 24, 2025 14:45
@MichelleArk MichelleArk requested a review from a team as a code owner July 24, 2025 14:45
Copy link
Member

@emmyoop emmyoop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢

@MichelleArk MichelleArk merged commit f8b1a6d into main Jul 24, 2025
62 of 64 checks passed
@MichelleArk MichelleArk deleted the safer-tags-handling branch July 24, 2025 15:05
@MichelleArk MichelleArk added the backport 1.10.latest Tag for PR to be backported to the 1.10.latest branch label Jul 24, 2025
github-actions bot pushed a commit that referenced this pull request Jul 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 1.10.latest Tag for PR to be backported to the 1.10.latest branch cla:yes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Safer handling of pre-existing config.tags on sources/tables
2 participants