Hey everyone! I'm super new to Meltano, and trying...
# troubleshooting
t
Hey everyone! I'm super new to Meltano, and trying to set up my first tap. I tried to run
tap-maestroqa
with
target-snowflake
, but keep getting a
CRITICAL 'bookmarks'
error.
Copy code
meltano run tap-maestroqa target-snowflake

...
INFO MaestroQA: export completed
INFO Retrieved
INFO Syncing CSV file
CRITICAL 'bookmarks'
Does anyone have any idea what this means? Is this a Meltano error, or a tap specific error?
v
tap specefic
A common theme in a lot of taps (non sdk normally) is to wrap exceptions and throw errors like what you're seeing
p
@timothy_ng I only see a reference to bookmarks in a few places in the tap for handling incremental state like this. I wonder if you run
meltano run tap-maestroqa target-snowflake --full-refresh
to exclude any previous state, if that will help
If that works we can see if theres an issue with the bookmarks that are being saved between runs
t
full refresh didn't do the trick, it's still throwing the
CRITICAL 'bookmarks'
error.
p
@timothy_ng I have one more hunch! In your meltano.yml file can you add this list of capabilities to your config? I think its not advertising the ability to track incremental state
Copy code
pip_url: git+<https://github.com/Pathlight/tap-maestroqa.git>    
capabilities:
    - catalog
    - state
    - discover
It also looks like it needs a
start_date
config if you don't have any state i.e. on the first run. That could be it too. I created a PR to update the settings/docs for this tap on MeltanoHub
t
this is what I currently have in my meltano.yml:
Copy code
- name: tap-maestroqa
    variant: pathlight
    pip_url: git+<https://github.com/Pathlight/tap-maestroqa.git>
    config:
      api_token: **********************
      start_date: '2022-01-01T00:00:00Z'
    capabilities:
        - catalog
        - state
        - discover
I'm still running into the same error with a full refresh 🙁
p
Unfortunately I dont have access to maestroqa to test but I made one change in my fork that I suspect might be causing the issue. If you update your pip_url to
Copy code
pip_url: git+<https://github.com/pnadolny13/tap-maestroqa.git>
and run
meltano install extractor tap-maestroqa --clean
to reinstall, I'd be curious if that works.
The only thing I could track down that could be happening is that in sync.py on line 114 a null state variable is attempted to be updated. I set the state to an empty dict in my fork when its null so that exception should be avoided. Its worth a shot 🤷
@timothy_ng still no luck?
t
I changed my meltano.yml to:
Copy code
- name: tap-maestroqa
    variant: pathlight
    # pip_url: git+<https://github.com/Pathlight/tap-maestroqa.git>
    pip_url: git+<https://github.com/pnadolny13/tap-maestroqa.git>
    config:
      api_token: uyxrqci2vwjfyll58girbni2uolrkhrjbwki83pv
      start_date: '2022-01-01T00:00:00Z'
    capabilities:
        - catalog
        - state
        - discover
then ran:
Copy code
meltano install extractor tap-maestroqa --clean
then:
Copy code
meltano run tap-maestroqa target-snowflake
and still no luck );
p
@timothy_ng I gave it one more shot at a couple changes to my fork that might fix it but again I dont have an account to test against. There should be no direct references to
bookmarks
anymore, I suspect that will fix it. If it fails again, would you try running it with invoke like
meltano invoke tap-maestroqa
. And posting the actual error message you see so its easier to debug
t
@pat_nadolny sorry for the late response, but it looks like it worked with no errors, thanks a bunch!
p
@timothy_ng Awesome!!! I created a PR to the main repo to get my changes added https://github.com/Pathlight/tap-maestroqa/pull/2. I'll post back once theyre merged so you can go back to using the default repo and I'll get rid of my fork
t
Great, thanks for your help Pat!
p
FYI the PR just got merged so you can use the default tap repo again!
t
Hey @pat_nadolny, I've just noticed that
tap-maestroqa
may not be grabbing every table available from the MaestroQA API. Is there anyone specific I can reach out to in order to add more tables to the tap?
p
@timothy_ng it looks like its retrieving section_scores and total_scores right now and the docs say theres also: _individual_answers, annotations, and csat._ That are documented https://intercom.help/maestroqa/en/articles/1363737-exporting-raw-scores. It looks like all it would take is to create json schema files similar to section_scores.json for the new streams you want to add. Id recommend creating an issue in the repo to log this and then if you're up for it you can create a PR with those json schemas. Does that make sense?
t
Perfect, got it. Thanks!
p
Awesome! Let me know if you get hung up on anything and I'd be happy to help
t
Listed the issue in the repo 🙋🏻‍♂️
p
@timothy_ng it looks like one of the links you put in the issue is to a looker instance, was that supposed to be a docs link?
t
ahhh, nice catch! fixed.