Object Metadata Conflict Resolution in Active-Active Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In active-active replication topologies, metadata changes made simultaneously by different users on different computing systems can lead to data inconsistencies and unintended data loss due to conflicting modifications.
Innovation Solution
A conflict resolution mechanism that tracks the last modification time and user role for metadata changes, enabling the preservation and merging of individual changes across computing systems, using a tie-breaking approach based on user privileges when modification times are equal.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If metadata is replicated across multiple computing systems for redundancy, then data reliability is improved, but data inconsistencies and conflicts occur when simultaneous modifications are made by different users
Solution Approach 1:
The system performs preliminary actions by recording modification times and user roles before replication conflicts occur. Each metadata change is timestamped and associated with user identity information in advance, enabling automated conflict resolution when replicated metadata diverges across computing systems.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring metadata changes across replicated systems, detecting conflicts through comparison of modification times and user roles, and automatically resolving discrepancies by selecting the authoritative version based on predefined conflict resolution rules.
2Productivity
If simultaneous metadata modifications are allowed across distributed systems, then user productivity is improved, but data loss and conflicts increase
Solution Approach 1:
The system introduces an intermediary conflict resolution mechanism that mediates between simultaneous metadata modifications from different users. By comparing modification times and user roles, the system automatically selects the authoritative change and preserves both versions when possible, preventing data loss while allowing concurrent edits.
Solution Approach 2:
The system changes parameters by associating metadata with additional attributes such as modification timestamps and user role information. These parameter changes enable the system to distinguish between concurrent modifications and resolve conflicts deterministically without preventing simultaneous user access.
3Stability of the object's composition
If conflict resolution mechanisms are implemented, then data consistency is improved, but system complexity increases
Solution Approach 1:
The conflict resolution mechanism operates autonomously without requiring manual intervention. The system automatically detects conflicts by comparing metadata versions, determines the authoritative version using recorded timestamps and user roles, and resolves discrepancies without human involvement, minimizing operational complexity.
Solution Approach 2:
The system uses copying by maintaining replicas of metadata across multiple computing systems with associated version information. Conflict resolution is achieved by comparing these copies and their metadata attributes, selecting the authoritative version based on predefined rules, and propagating the resolved state back to all replicas.
Data Source
AI summary
In some examples, a first computing system receives a first metadata change made to metadata of a first instance of an object stored at a storage location of the first computing device. The first computing system associates, with the first metadata change, a time of the first metadata change. Based on receiving replication of a second instance of the object from a second computing system, the first computing system determines that a second metadata change was made to metadata of the second instance of the object. Further, the second instance of the object includes a time of the second metadata change. The first computing system at least one of: resolves a conflict between the first metadata change and the second metadata change based at least on comparing the times, or merges the first metadata change with the second metadata change into the metadata for the object.


