Comments (15)
@brandonlockhart, sorry about that! we're also experiencing this bug with dbt-synapse in dbt-msft/tsql-utils#76. the tests fail with same error message! We hope to find a solution soon, though it likely won't be until after the holidays as most of us will be OOO. hang tight! cc: @jtcohen6
from dbt-synapse.
@swanderz Given the error message, and that #72 moved this macro from macros/adapters.sql
to macros/adapters/relation.sql
... If you install dbt-synapse
pre-v1.0, and then upgrade to v1.0, is it possible that the old file keeps "hanging out" in the source installation?
I quickly tried replicating this locally, and I wasn't able to
from dbt-synapse.
I was able to reproduce the error both on macos as well as Windows (python3.8). When I reviewed the RECORD
file in site-packages/dbt_synapse-1.0.1.dist-info
in my python environment I could verify that indeed during the installation files such as dbt/include/synapse/macros/adapters.sql
and dbt/include/synapse/macros/materializations/seed/seed.sql
were written, which lead to duplications (files that are, curiously, not present in the include
folder of the 1.0.1
version of the repository).
I was seemingly able to hotfix this by adapting the setup.py
by changing packages=find_namespace_packages(include=['dbt', 'dbt.*']),
to packages=find_packages(),
since I was wondering whether this had something to do with mixing native and pkgutil-style namespaces (see docs). But honestly, I am very puzzled where those files come from, and I am aware that the setup.py
seemingly works for the dbt-sqlserver
adapter.
from dbt-synapse.
Looks like the files were left on the machine that created the package, because when you just recreate the wheel, they're not inside the archive. I attached a wheel file created from the current version of the source where it doesn't show that behaviour.
@dataders Maybe we should setup automatic publishing to pypi when a new tag is created to avoid such issues? Anyway, if you create a new release 1.0.2, then make sure you have a clean version of the repo locally and recreate the wheel, then we're good.
dbt_synapse-1.0.1-py3-none-any.whl.zip
from dbt-synapse.
no errors anymore with 1.0.2b1 :)
Thank you @dataders !
from dbt-synapse.
until then stick with v0.21.0
!
from dbt-synapse.
@leahwicz @jtcohen6 have y'all seen this issue before? this is a showstopping bug in the 1.0.0 release I made before the break. there's a link to a CircleCi failure above. there aren't duplicate macros, and the macro that says it's duplicated changes from commit to commit, so I'm rather confused.
also I'd like to get #77 fixed so my name doesn't live in peoples' console and manifest anymore.... 🤒
from dbt-synapse.
@dschoenleber thanks for digging into this! You got farther than I did. @jtcohen6's question is does this behavior happen when upgrading to 1.0.0 and maybe the old adapters.sql
file stays around? asked another way, if you make a fresh python environment and install dbt-synapse 1.0.0 does the error still happen?
I'd also like to fix this in the next few days, sounds like you found a hotfix that I'll try out on my end as well. Cheers!
from dbt-synapse.
@dataders Your're welcome! Yes, the behavior I described occurred with a freshly initialized environment with no prior dbt (or dbt-synapse) installation around, so the behavior is triggered by the installation of dbt-synapse 1.0.1
. This makes it so curious.
from dbt-synapse.
I can replicate this in my devcontainer with a clean install. Also, the name of the duplicate macro is not constant. It's almost always a different one each time you run dbt compile
.
from dbt-synapse.
@sdebruyn This would also explain my observations. (If you install via pip install git+https://github.com/dbt-msft/dbt-synapse.git
the additional files are also not included.)
Thanks so much for digging into it!
from dbt-synapse.
@sdebruyn is the real MVP for discovering that I made a faulty wheel. I've fixed the wheel and released it as 1.0.2b1
(pypi page). Please let me know if this resolves the issue. If so, I'll release the official release and we can celebrate the release of dbt-synapse 1.0.0!
from dbt-synapse.
No more errors for me either with 1.0.2b1. Thanks @dataders !
from dbt-synapse.
When can we look forward to the official release of 1.0.2? :)
from dbt-synapse.
1.0.2 has been released :)
from dbt-synapse.
Related Issues (20)
- upgrade to support dbt-core v1.2.0 HOT 1
- upgrade to support dbt-core v1.2.0
- upgrade to support dbt-core v1.2.0
- upgrade to support dbt-core v1.2.0
- Error when using incremental models on Synapse REPLICATE table distribution HOT 4
- Incorrect syntax near 'column' error adding a New Column with on_schema_change='sync_all_columns' HOT 1
- Incorrect syntax near 'column' error renaming a Column with on_schema_change='sync_all_columns' HOT 1
- upgrade to support dbt-core v1.3.0 HOT 1
- sam, are you there?
- sam, are you there?
- Changing the distribution and index types in existing snapshots don't have any effect HOT 1
- upgrade to support dbt-core v1.4.0 HOT 2
- Stand up new CI-testing pool HOT 1
- upgrade to support dbt-core v1.5.0
- This repo is missing important files
- Compilation Error HOT 5
- Encountered an error: dbt_sqlserver://macros/adapters.sql HOT 2
- dbt found two macros named "synapse__snapshot_merge_sql" in the project "dbt_synapse". HOT 1
- How to load parquet files from Azure Data Lake Gen2 to dedicated pool using dbt? HOT 1
- create_nonclustered_index macro ends up in endless recursion HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dbt-synapse.