acoustid / mbslave

MusicBrainz Database Mirror
MIT License
9 stars 5 forks source link

mbslave synce does not ignore replication data for ignored schemas #7

Open sfussenegger opened 7 months ago

sfussenegger commented 7 months ago

executing mbslave sync after initializing the DB with ignore=... configured leads to constraint violations when importing data to pending_data:

$ mbslave sync
INFO:mbslave.replication:Downloading https://metabrainz.org/api/musicbrainz/replication-163114-v2.tar.bz2?token=***
INFO:mbslave.replication:Packet was produced at 2023-11-09 00:17:25.761114+00
Traceback (most recent call last):
  File "/usr/local/bin/mbslave", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.12/site-packages/mbslave/replication.py", line 795, in main
    args.func(config, args)
  File "/usr/local/lib/python3.12/site-packages/mbslave/replication.py", line 504, in mbslave_sync_main
    process_tar(packet, db, config, ignored_schemas, ignored_tables, schema_seq, replication_seq, hook)
  File "/usr/local/lib/python3.12/site-packages/mbslave/replication.py", line 453, in process_tar
    importer.load_pending_data(member_file)
  File "/usr/local/lib/python3.12/site-packages/mbslave/replication.py", line 349, in load_pending_data
    cursor.copy_expert('COPY dbmirror2.pending_data FROM STDIN', fp)
psycopg2.errors.CheckViolation: new row for relation "pending_data" violates check constraint "tablename_exists"
DETAIL:  Failing row contains (124502041, statistics.statistic, i, 1511151662, null, {"id" : 17644772, "name" : "count.event.type.5", "value" : 40, "..., null, null).
CONTEXT:  COPY pending_data, line 2: "124502041 statistics.statistic    i   1511151662  \N  {"id" : 17644772, "name" : "count.event.type.5", "val..."

config:

[schemas]
musicbrainz=musicbrainz
statistics=statistics
cover_art_archive=cover_art_archive
event_art_archive=event_art_archive
wikidocs=wikidocs
documentation=documentation
ignore=statistics,wikidocs,documentation

This error might be caused by pull-request #5