Skip to content

Spock Multi-Master: spock.resolutions Filling with update_update Despite Single-Writer Setup #349

@Rammurthy5

Description

@Rammurthy5

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

  1. Stopped live traffic.

  2. Took pg_dump (schema + data) from existing cluster.

  3. On n1:

    • Created Spock node n1.
    • Ran sequence_convert for Snowflake-based sequences.
    • Added all tables in my schema to the default replication set.
  4. Restored dump to n2.

  5. On n2:

    • Created Spock node n2.
    • Ran sequence_convert for Snowflake-based sequences.
    • Added all tables in my schema to the default replication set.
  6. Created subscription only on n2 (since the application writes only to n1).

  7. 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='

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions