Environment
- Self-hosted multi-master setup on EC2
- Logical replication using Spock
- Snowflake-based sequences (using
sequence_convert)
- Application writes only to n1
Setup Steps
-
Stopped live traffic.
-
Took pg_dump (schema + data) from existing cluster.
-
On n1:
- Created Spock node
n1.
- Ran
sequence_convert for Snowflake-based sequences.
- Added all tables in my schema to the
default replication set.
-
Restored dump to n2.
-
On n2:
- Created Spock node
n2.
- Ran
sequence_convert for Snowflake-based sequences.
- Added all tables in my schema to the
default replication set.
-
Created subscription only on n2 (since the application writes only to n1).
-
Resumed live traffic.
Issue
After resuming traffic:
spock.resolutions keeps accumulating entries.
- Conflict type is consistently:
update_update.
I have:
- Repeated the entire process multiple times.
- Performed clean restores.
- Recreated nodes and subscriptions from scratch.
However, the update_update conflicts continue to pile up and do not resolve.
Expected Behavior
Since the application writes only to n1, I expect no update_update conflicts after replication to n2.
Questions
- What could cause persistent
update_update conflicts in this setup?
- Is there any known issue with
sequence_convert and Snowflake-style sequences in a multi-master configuration?
- Are there additional steps required to prevent these conflicts when only one node is actively written to?
- Spock version 25.5
- PostgreSQL version 16.10
- Subscription creation command
./pgedge spock sub-create sub_n2n1 'host= port=5432 user=pgedge dbname='
Environment
sequence_convert)Setup Steps
Stopped live traffic.
Took
pg_dump(schema + data) from existing cluster.On n1:
n1.sequence_convertfor Snowflake-based sequences.defaultreplication set.Restored dump to n2.
On n2:
n2.sequence_convertfor Snowflake-based sequences.defaultreplication set.Created subscription only on n2 (since the application writes only to n1).
Resumed live traffic.
Issue
After resuming traffic:
spock.resolutionskeeps accumulating entries.update_update.I have:
However, the
update_updateconflicts continue to pile up and do not resolve.Expected Behavior
Since the application writes only to
n1, I expect noupdate_updateconflicts after replication ton2.Questions
update_updateconflicts in this setup?sequence_convertand Snowflake-style sequences in a multi-master configuration?./pgedge spock sub-create sub_n2n1 'host= port=5432 user=pgedge dbname='