fivetran / dbt_ad_reporting

Fivetran's ad reporting dbt package. Combine your Facebook, Google, Pinterest, LinkedIn, Twitter, Snapchat, Microsoft, TikTok, Reddit, Amazon, and Apple Search advertising metrics using this package.
https://fivetran.github.io/dbt_ad_reporting/#!/overview
Apache License 2.0
142 stars 56 forks source link

[Bug] Manifest generation failure #111

Closed leandrocentr closed 3 months ago

leandrocentr commented 3 months ago

Is there an existing issue for this?

Describe the issue

DBT compilation error when run in Fivetran dbt Core transformation. Code is executed successfully in local machine

Relevant error log or model output

21:06:55  Encountered an error:
'<' not supported between instances of 'NoneType' and 'int'
21:06:55  Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/dbt/cli/requires.py", line 91, in wrapper
    result, success = func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/dbt/cli/requires.py", line 76, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/dbt/cli/requires.py", line 169, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/dbt/cli/requires.py", line 198, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/dbt/cli/requires.py", line 245, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/dbt/cli/requires.py", line 271, in wrapper
    ctx.obj["manifest"] = parse_manifest(
  File "/usr/local/lib/python3.8/dist-packages/dbt/parser/manifest.py", line 1790, in parse_manifest
    manifest = ManifestLoader.get_full_manifest(
  File "/usr/local/lib/python3.8/dist-packages/dbt/parser/manifest.py", line 318, in get_full_manifest
    manifest = loader.load()
  File "/usr/local/lib/python3.8/dist-packages/dbt/parser/manifest.py", line 478, in load
    self.parse_project(
  File "/usr/local/lib/python3.8/dist-packages/dbt/parser/manifest.py", line 674, in parse_project
    parser.parse_file(block)
  File "/usr/local/lib/python3.8/dist-packages/dbt/parser/base.py", line 483, in parse_file
    self.parse_node(file_block)
  File "/usr/local/lib/python3.8/dist-packages/dbt/parser/base.py", line 436, in parse_node
    config: ContextConfig = self.initial_config(fqn)
  File "/usr/local/lib/python3.8/dist-packages/dbt/parser/base.py", line 397, in initial_config
    config_version = min([self.project.config_version, self.root_project.config_version])
TypeError: '<' not supported between instances of 'NoneType' and 'int'

Expected behavior

Run without compilation erros

dbt Project configurations


# Name your project! Project names should contain only lowercase characters
# and underscores. A good package name should reflect your organization's
# name or the intended use of these models
name: 'fivetran_dbt'
version: "1.0"

# This setting configures which "profile" dbt uses for this project.
profile: 'fivetran_dbt'

# These configurations specify where dbt should look for different types of files.
# The `model-paths` config, for example, states that models in this project can be
# found in the "models/" directory. You probably won't need to change these!
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]

clean-targets:         # directories to be removed by `dbt clean`
  - "target"
  - "dbt_packages"

# Configuring models
# Full documentation: https://docs.getdbt.com/docs/configuring-models
vars:
  ad_reporting__amazon_ads_enabled: False # by default this is assumed to be True
  ad_reporting__apple_search_ads_enabled: False # by default this is assumed to be True
  ad_reporting__facebook_ads_enabled: True # by default this is assumed to be True
  ad_reporting__google_ads_enabled: True # by default this is assumed to be True
  ad_reporting__linkedin_ads_enabled: False # by default this is assumed to be True
  ad_reporting__microsoft_ads_enabled: False # by default this is assumed to be True
  ad_reporting__pinterest_ads_enabled: False # by default this is assumed to be True
  ad_reporting__reddit_ads_enabled: False # by default this is assumed to be True
  ad_reporting__snapchat_ads_enabled: False # by default this is assumed to be True
  ad_reporting__tiktok_ads_enabled: False # by default this is assumed to be True
  ad_reporting__twitter_ads_enabled: False # by default this is assumed to be True

Package versions

packages:

What database are you using dbt with?

databricks

dbt Version

1.8.1

Additional Context

No response

Are you willing to open a PR to help address this issue?

fivetran-joemarkiewicz commented 3 months ago

Hi @leandrocentr thanks for opening this issue. If the code is running successfully locally, but failing when deployed to Fivetran Transformations, then I assume this error is similar (albeit not exactly the same) to Issue #108 and needs to be addressed by the Fivetran Transformations orchestration team.

Unfortunately, our team managing the open source data models does not have full visibility into the orchestration component. I would recommend opening a Support Ticket to have the Fivetran Transformations team take a look at this to see why the manifest is failing when deployed to orchestration.

Let me know if you have any questions. Thanks!

fivetran-joemarkiewicz commented 3 months ago

@leandrocentr I saw you were able to create the support ticket! I will close this issue so all future correspondence may be consolidated in the new support ticket you created. Thanks!