Rafał
06/02/2025, 1:19 PMRafał
06/05/2025, 10:36 AMdef discover_streams unclear, if it's called even if --catalog is passed. I'd expect it to be called only without the catalog or with --discover, when a discovery is actually neededSiba Prasad Nayak
06/06/2025, 5:15 AMAyush
06/06/2025, 5:44 AMAyush
06/06/2025, 5:45 AMChinmay
06/06/2025, 8:13 AMazhar
06/10/2025, 9:06 AMerror: 2025-06-10T02:55:07.873581Z [info ] 2025-06-10 02:55:07,872 | ERROR | tap-linkedin-ads.accounts | An unhandled error occurred while syncing 'accounts' cmd_type=elb consumer=False job_name=prod:tap-linkedin-ads-to-target-clickhouse:UMOJn5gijo name=tap-linkedin-ads producer=True run_id=ab987cd0-89aa-4d5a-b179-8fb04e6d3f7d stdio=stderr string_id=tap
-linkedin-ads
2025-06-10T02:55:07.875835Z [info ] raise FatalAPIError(msg) cmd_type=elb consumer=False job_name=prod:tap-linkedin-ads-to-target-clickhouse:UMOJn5gijo name=tap-linkedin-ads producer=True run_id=ab987cd0-89aa-4d5a-b179-8fb04e6d3f7d stdio=stderr string_id=tap-linkedin-ads
2025-06-10T02:55:07.875945Z [info ] singer_sdk.exceptions.FatalAPIError: 426 Client Error: Upgrade Required for path: /rest/adAccounts cmd_type=elb consumer=False job_name=prod:tap-linkedin-ads-to-target-clickhouse:UMOJn5gijo name=tap-linkedin-ads producer=True run_id=ab987cd0-89aa-4d5a-b179-8fb04e6d3f7d stdio=stderr string_id=tap-linkedin-ads
2025-06-10T02:55:07.880461Z [info ] raise FatalAPIError(msg) cmd_type=elb consumer=False job_name=prod:tap-linkedin-ads-to-target-clickhouse:UMOJn5gijo name=tap-linkedin-ads producer=True run_id=ab987cd0-89aa-4d5a-b179-8fb04e6d3f7d stdio=stderr string_id=tap-linkedin-ads
2025-06-10T02:55:07.880569Z [info ] singer_sdk.exceptions.FatalAPIError: 426 Client Error: Upgrade Required for path: /rest/adAccounts cmd_type=elb consumer=False job_name=prod:tap-linkedin-ads-to-target-clickhouse:UMOJn5gijo name=tap-linkedin-ads producer=True run_id=ab987cd0-89aa-4d5a-b179-8fb04e6d3f7d stdio=stderr string_id=tap-linkedin-ads
2025-06-10T02:55:16.772779Z [error ] Extractor failed
2025-06-10T02:55:16.772957Z [error ] Block run completed. block_type=ExtractLoadBlocks err=RunnerError('Extractor failed') exit_codes={: 1} set_number=0 success=Falsehammad_khan
06/23/2025, 11:59 AM{
"completed": {
"singer_state": {
"bookmarks": {
"dw_hs-dim_accounts": {},
"dw_hs-dim_activities": {
"starting_replication_value": null
}
}
}
},
"partial": {}
}Nathan Sooter
06/27/2025, 6:16 PMtap-salesforce and am looking for the config to pass WHERE clauses into the SOQL that Meltano generates. I need to filter to particular values in a particular column in the Account object to make sure specific records aren't extracted.
Chat gpt is leading me astray with configs that don't actually exist...does one exist?Florian Bergmann
07/03/2025, 9:23 AMEmwinghare Kelvin
07/23/2025, 6:57 PMtap-rest-api-msdk when making POST requests. Has anyone resolved this or can suggest an alternative tap I could use?Chandana S
07/24/2025, 6:06 AMEvan Guyot
07/25/2025, 10:18 AMnull, but completely missing — which leads to a Singer exception.
I was wondering if there's a catalog's property designed to handle this kind of situation?
I’ve already tried defining the field as nullable and using additionalProperties, but I’m still encountering the Singer error when the field is absent from the object.
Here is the Singer error : 2025-07-25T10:06:57.048305Z [error ] Loading failed code=1 message="singer_sdk.exceptions.InvalidRecord: Record Message Validation Error: {'sub_prop_1': 'abc', 'sub_prop_2': 'def'} is not of type 'string'"
Here is what i have tried in the catalog :
{
"streams": [
{
"tap_stream_id": "obj",
...,
"schema": {
"properties": {
"prop_1": {
"type": ["array", "null"],
"items": {
"type": "object",
"properties": {
"sub_prop_1": { "type": ["string", "null"] },
"sub_prop_2": { "type": ["string", "null"] },
"optional_sub_prop_3": { "type": ["string", "null"] }
},
"additionalProperties": true
}
}
}
}
}
]
}
Thanks in advance to anyone who takes the time to help ☺️Reuben (Matatika)
08/01/2025, 2:10 PMselect_filter? Isn't select a kind of filtering mechanism by definition? Why would I need a filter for a filter? 😅Sac
08/05/2025, 1:03 PMtap-quickbooks and noticed that some secrets (like API keys or tokens) seem to be logged in plain text during execution.
From what I understand, there’s a _make_request method in the tap that logs the URL and the full body of the POST request used to request a token — which includes API secrets.
[...]
def _make_request(self, http_method, url, headers=None, body=None, stream=False, params=None, sink_name=None):
if http_method == "GET":
<http://LOGGER.info|LOGGER.info>("Making %s request to %s with params: %s", http_method, url, params)
resp = self.session.get(url, headers=headers, stream=stream, params=params)
elif http_method == "POST":
<http://LOGGER.info|LOGGER.info>("Making %s request to %s with body %s", http_method, url, body)
resp = <http://self.session.post|self.session.post>(url, headers=headers, data=body)
else:
raise TapQuickbooksException("Unsupported HTTP method")
[...]
Is there a way in Meltano to prevent secrets from being written to log files if the logging is done by the tap itself? Or is this considered a tap-specific issue that should be addressed on GitHub? 🤷♂️
Thanks in advance for any insights!Sac
08/08/2025, 7:25 PM.env file with the token.
3. Let the pipeline run, capturing the new token if there is one, and saving it to the log.
4. Have the Python script fetch it as soon as the pipeline is done.
5. Update the value in the .env file so the next sync uses the new valid token.
I don’t have a better idea at the moment, apart from forking the connector and modifying the logic there, which I’d prefer to avoid.
Has anyone faced a similar scenario? What do you think of this solution? Any advice or suggestions?
Many thanks in advance!steven_wang
08/26/2025, 9:21 PMJazmin Velazquez
09/09/2025, 7:45 PMtap-google-sheets to extract data from multiple google sheets (with different sheet IDs). How do I configure meltano for this?Luca Capra
09/10/2025, 10:25 AMTanner Wilcox
09/25/2025, 8:00 PMsteven_wang
09/26/2025, 6:39 PM- name: tap-salesforce
variant: meltanolabs
config:
select_fields_by_default: true
login_domain: ${TAP_SALESFORCE_LOGIN_DOMAIN}
streams_to_discover: ["Task"]
select_filter:
- 'Task.*'
https://github.com/MeltanoLabs/tap-salesforce/issues/89Kevin Phan
10/10/2025, 8:02 PM2025-10-10T19:56:07.945399Z [info ] Failed validating 'type' in schema['properties']['service']: cmd_type=elb consumer=True job_name=dev:tap-chainalysis-alerts-to-target-jsonl name=target-jsonl producer=False run_id=2a2e07ff-7928-4500-847f-5f58e7e96baf stdio=stderr string_id=target-jsonl
2025-10-10T19:56:07.949526Z [info ] {'type': 'string'} cmd_type=elb consumer=True job_name=dev:tap-chainalysis-alerts-to-target-jsonl name=target-jsonl producer=False run_id=2a2e07ff-7928-4500-847f-5f58e7e96baf stdio=stderr string_id=target-jsonl
2025-10-10T19:56:07.952388Z [info ] cmd_type=elb consumer=True job_name=dev:tap-chainalysis-alerts-to-target-jsonl name=target-jsonl producer=False run_id=2a2e07ff-7928-4500-847f-5f58e7e96baf stdio=stderr string_id=target-jsonl
2025-10-10T19:56:07.955352Z [info ] On instance['service']: cmd_type=elb consumer=True job_name=dev:tap-chainalysis-alerts-to-target-jsonl name=target-jsonl producer=False run_id=2a2e07ff-7928-4500-847f-5f58e7e96baf stdio=stderr string_id=target-jsonl
2025-10-10T19:56:07.957711Z [info ] None
where it expects string but it can also be of none value. Is there a way to do schema overrides for this tap? I did not see such an option in here . I can probably do it with mappers but id rather not if there is a way inside the tap configsLior Naim Alon
10/16/2025, 1:27 PM2025-10-16T13:05:43.487376Z [info ] {'level': 'WARN', 'message': "Couldn't parse date/datetime string in hs_lifecyclestage_lead_date, trying to parse timestamp... Field value: 1709470649329. Ex: Unable to parse string [1709470649329]"} cmd_type=elb consumer=False job_name=staging:tap-hubspot-to-target-s3--raw-crm:eu-west-1-20251016 name=tap-hubspot producer=True run_id=0199ed1f-676c-7a87-ba25-9ddc70d8434c stdio=stderr string_id=tap-hubspot
Since the amount of data is very low and other ETLs are running fairly faster, I imagine the issue is with the amount of parsing errors and parsing attempts, logging the error, etc. it looks like there is a log entry for each row in the source data.
I tried (to no avail) to filter the specific fields using selection / custom mappers, but the errors persist.
It is crucial for me to use the airbyte variant as it is the only variant that supports custom hubspot objects out-of-the-box.
I'm looking for ways to tackle this issue - the goal is to make the ETL run as fast as a few minutes instead of 45 minutesOtto Enholm
10/23/2025, 8:19 AMmark_estey
10/23/2025, 2:43 PMtap-snowflake to read a single table but running into an issue where it keeps trying to look at other schemas in the database that it does not have permission to. This is how my config looks (with values changed):
plugins:
extractors:
- name: tap-snowflake
variant: meltanolabs
config:
account: ...
role: ...
user: ...
warehouse: ...
database: my_database
schema: my_schema
tables:
- my_schema.my_table
select:
- my_schema-my_table.*
And this is the error I keep getting:
sqlalchemy.exc.ProgrammingError: (snowflake.connector.errors.ProgrammingError) 002043 (02000): 01bfe764-3203-6517-0000-120d27b7901e: SQL compilation error:
Object does not exist, or operation cannot be performed.
[SQL: SHOW /* sqlalchemy:get_schema_tables_info */ TABLES IN SCHEMA some_other_schema]
The database user does not have permission to some_other_schema and will not get permission to that schema. I read that setting the tables config would limit discovery of the tap to only the listed objects, how do I get it to stop trying to inspect the other schemas in the database?Andy Carter
11/03/2025, 9:28 AMTAP-redshift in production? I will need the Monad-Inc variant which has been 2 years since a pr and now basically archived, which makes me slightly nervous. Anything to watch out for?Kevin Phan
11/10/2025, 6:59 PMKevin Phan
11/13/2025, 9:02 PM2025-11-13T20:55:29.337678Z [info ] TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType' cmd_type=elb consumer=True job_name=prod:tap-core-db-source-to-target-snowflake-core-db-source:prod name=meltano-map-transformer producer=True run_id=e91286eb-6df0-440c-9a19-8a61a4dc6d7c stdio=stderr string_id=meltano-map-transformer
Is there a way to see which table that was causing this? We can always query through each table that the transformer touches but that does take time. The logs do not tell us which table is causing the errorThéo Lapido
11/26/2025, 10:24 PMtap-googleads. I'm having trouble trying to use the custom query feature, I've added the required configs to the yml but the Stream is not being recognized.
- name: tap-googleads
variant: matatika
pip_url: git+<https://github.com/Matatika/tap-googleads>
config:
start_date: '2025-10-28'
custom_queries:
- name: gads_ads_performance_custom
query: 'SELECT ad_group_ad.ad.expanded_text_ad.headline_part1, ad_group_ad.ad.expanded_text_ad.headline_part2, ad_group_ad.ad.expanded_text_ad.headline_part3, a>
primary_keys: [ad_group_ad.ad.name, segments.date]
replication_key: segments.date
Does anybody use this feature or has had similar trouble before?Leandro Vieira
11/27/2025, 4:36 PMtap-facebook extractor to get data from the adsinsight_default data stream, but all my data has been duplicated for some reason as seen in the screenshot. Can anyone help me figure out what's happening? I've selected only this specific stream in my yml file and it seems like the first day of the extraction it's not duplicated, it feels like it's extracting data for Day 1 and Day 2, then Day 2 and Day 3, Day 3 and Day 4, and so on...