What is a Conflict in Replication?

The simple question on what is a conflict?

Pronounced types of conflicts

There are some types conflicts that are obvious. For instance, the wiki example:

  • Two writes concurrently modify the same field and the same record
  • Setting this to two values will no doubt become a conflict

Understated types of conflicts

Whilst there are clear conflict we can understand, there are types of conflicts that we may not consider.

For example, a meeting room booking system:

  • Tracks which room is booked by what group of people at each time
  • This application requires ensuring that there is only one group of people, booked to a room at a moment of time
  • Meaning there must be no overlapping bookings for that time
    • In this instance, a conflict may arise for bookings that arises at the same room, at the same moment of time
    • Even if the application checks the availability before a user can make a booking, this can still occur if the booking is made on two different leader nodes

Unfortunately, there is no quick ready made answer to this issue, but this will be covered in future posts, where this will discuss scalable approached for detecting and resolving conflicts in a replicated system.

Here are some recommended blog posts here on conflict resolution:

📚 Further Reading & Related Topics

If you’re exploring conflicts in distributed systems and how they are resolved, these related articles will provide deeper insights:

• Resolving Write Conflicts in Distributed Data-Intensive Systems – Learn different strategies for handling write conflicts and maintaining data consistency.

• Distributed Data-Intensive Systems: Reading and Writing Quorums – Understand how quorum-based approaches affect conflict resolution and data integrity.

5 responses to “What is a Conflict in Replication?”

  1. How do we handle Collaborative Editing? – Scalable Human Blog Avatar

    […] • Distributed Data-Intensive Systems: What Is a Conflict? – Learn how conflicts arise in collaborative editing environments and how distributed systems handle concurrent data changes. […]

    Like

  2. How to Monitor Staleness – Scalable Human Blog Avatar

    […] • Distributed Data-Intensive Systems: What Is a Conflict? – Learn how monitoring staleness is tied to conflict resolution in distributed systems and ensuring data consistency across nodes. […]

    Like

  3. Discovering Java 21’s Multithreading Features: A Journey into Virtual Threads, Structured Concurrency, and More – Scalable Human Blog Avatar

    […] • Distributed Data-Intensive Systems: What Is a Conflict? – Learn how monitoring staleness is tied to conflict resolution in distributed systems and ensuring data consistency across nodes. […]

    Like

  4. Replication vs Partitioning vs Clustering vs Sharding (1 minute read) – Scalable Human Blog Avatar

    […] • Distributed Data-Intensive Systems: What Is a Conflict? – Learn how different data distribution strategies, such as replication and partitioning, affect conflict resolution in distributed systems. […]

    Like

  5. What is Multi-Leader Replication? – Scalable Human Blog Avatar

    […] • Distributed Data-Intensive Systems: What Is a Conflict? – Learn how multi-leader replication can lead to conflicts and how those conflicts are managed to ensure data consistency in distributed systems. […]

    Like

Leave a comment

I’m Sean

Welcome to the Scalable Human blog. Just a software engineer writing about algo trading, AI, and books. I learn in public, use AI tools extensively, and share what works. Educational purposes only – not financial advice.

Let’s connect