Lock Contention Table for Active-Active Replication Deadlocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage systems face deadlocks during active-active replication, which hinder quick recovery from failures and compromise high availability, as current techniques inadequately address lock contentions during replication journal recovery.
Innovation Solution
Implementing a clustered content-addressable storage system with a distributed storage controller that maintains a lock contention table to resolve potential deadlocks by acquiring necessary locks and selectively aborting journal recovery operations, ensuring write order and cross-site consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If journal recovery is performed quickly to ensure high availability, then recovery speed is improved, but lock deadlocks occur during active-active replication
Solution Approach 1:
The system performs preliminary actions by detecting potential deadlocks before they occur during journal recovery. The lock contention detection mechanism identifies situations where lock deadlocks might arise, and the system proactively resolves these contentions by aborting conflicting journal recovery operations before actual deadlocks prevent recovery completion
Solution Approach 2:
The system implements feedback through lock contention detection during journal recovery operations. When lock contentions are detected, the system provides feedback by identifying the conflicting operations and selectively aborting journal recovery to resolve the contention, thereby preventing deadlocks while maintaining recovery progress
2Reliability
If lock contention is strictly controlled during journal recovery, then deadlock prevention is improved, but recovery time increases
Solution Approach 1:
The system applies partial action by selectively aborting only those journal recovery operations that would cause lock deadlocks, rather than aborting all journal recovery operations. This selective approach resolves deadlocks while minimizing the impact on overall recovery time by allowing non-conflicting operations to proceed
Solution Approach 2:
The system changes the state of journal recovery operations dynamically based on lock contention detection. When deadlocks are detected, the system modifies the recovery process by aborting specific operations, thereby changing the execution parameters to prevent deadlocks while maintaining efficient recovery for non-conflicting operations
3Reliability
If active-active replication continues during HA events, then availability is improved, but lock contentions arise that prevent journal recovery completion
Solution Approach 1:
The system uses an intermediary mechanism (lock contention detection and selective abortion) to mediate between active-active replication operations and journal recovery operations. This intermediary layer detects lock contentions caused by concurrent replication activities and resolves them by selectively aborting conflicting journal recovery operations, allowing both replication and recovery to coexist
Data Source
AI summary
An apparatus in one embodiment includes at least one processing device comprising a processor coupled to a memory, with the at least one processing device being configured to maintain a replication journal for recording replication write requests in a storage system, to detect a failure impacting the replication journal, and to initiate recovery of the replication journal responsive to the detected failure. In conjunction with the recovery of the replication journal, the at least one processing device is further configured to maintain a lock contention table that characterizes lock contentions between address lock ranges required for the recovery of the replication journal and address lock ranges required by other write requests in the storage system, and to utilize the lock contention table to resolve one or more potential deadlocks that would otherwise prevent completion of the recovery of the replication journal. Other embodiments include methods and computer program products.


