Rob Norman
07/25/2025, 12:56 PMmeltano run tap-mysql target-postgres
initially, it reads the data and inserts it. If I then make a change to the source data and rerun, nothing changes in the target. The logs say 0 rows have changed. If i put the log-level to debug, I can see it's trying to read the binlog right from the very beginning despite having a state file in .meltano/run/tap-mysql/state.json
and in the systemdb (haven't got around to using S3 for state yet)
However, at the top of the logs I can see the following:
2025-07-25T12:29:12.610596Z [debug ] Created configuration at /projects/meltano/.meltano/run/tap-mysql/tap.12db0892-72c1-4cea-8b74-f90c28295a5e.config.json run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
2025-07-25T12:29:12.611601Z [debug ] Could not find tap.properties.json in /projects/meltano/.meltano/extractors/tap-mysql/tap.properties.json, skipping. run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
2025-07-25T12:29:12.612039Z [debug ] Could not find tap.properties.cache_key in /projects/meltano/.meltano/extractors/tap-mysql/tap.properties.cache_key, skipping. run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
2025-07-25T12:29:12.612460Z [debug ] Could not find state.json in /projects/meltano/.meltano/extractors/tap-mysql/state.json, skipping. run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
2025-07-25T12:29:12.612975Z [debug ] Could not find tap.singer_sdk_logging.json in /projects/meltano/.meltano/extractors/tap-mysql/tap.singer_sdk_logging.json, skipping. run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
2025-07-25T12:29:12.613416Z [debug ] Could not find tap.pipelinewise_logging.conf in /projects/meltano/.meltano/extractors/tap-mysql/tap.pipelinewise_logging.conf, skipping. run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
2025-07-25T12:29:12.617858Z [info ] Using systemdb state backend run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
2025-07-25T12:29:12.620909Z [debug ] Using cached catalog file run_id=307c962f-a9a5-4aaa-bf13-5c4e710dc82f
which would indicate it's going to the wrong place for the state file (and other files) as they're in .meltano/run/...
not .meltano/extractors/...
If it helps the debugging process, I am running this through Docker. Not sure what other debug would be relevant?
My plugin config is:
plugins:
extractors:
- name: tap-mysql
variant: transferwise
pip_url:
git+<https://github.com/transferwise/pipelinewise.git#subdirectory=singer-connectors/tap-mysql>
select:
- <selectors....>
settings:
- name: engine
value: mysql
metadata:
'*':
replication-method: LOG_BASED
Rob Norman
07/25/2025, 1:16 PM> sqlite3 .meltano/meltano.db "SELECT * FROM state;"
env:tap-mysql-to-target-postgres|{}|{"singer_state": {"currently_syncing": null, "bookmarks": {"table_a": {"version": 1753444156962, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_b": {"version": 1753444157147, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_c": {"version": 1753444158311, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_d": {"version": 1753444159368, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_e": {"version": 1753444159477, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_f": {"version": 1753444160114, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_g": {"version": 1753444160352, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_h": {"version": 1753444160460, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}, "table_i": {"version": 1753444160581, "log_file": "binlog.000054", "log_pos": 926, "gtid": "bd29904a-66cd-11f0-950e-92a031ac26fd:70610"}}}}|2025-07-25 11:50:08.071414
Edgar Ramírez (Arch.dev)
07/25/2025, 8:02 PMRob Norman
07/26/2025, 7:29 AMtask meltano -- --version
meltano, version 3.8.0
The task runs
docker run -v "{{.TASKFILE_DIR}}":/projects -w /projects/meltano meltano/meltano {{.CLI_ARGS}}
where {{.TASKFILE_DIR}}
is the root directory (i.e my meltano project is in ./meltano
) so it mounts that as /projects and sets the working directory to /projects/meltano
so it can be found.
Do you want me to try downgrading the version of Meltano to see if I still have the same issue?Rob Norman
07/28/2025, 6:28 AM