Alternate Data Stream Timestamp Parity During Replication Resync
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for transitioning from asynchronous to synchronous data replication cause disruptive client I/O pauses, leading to increased latency and errors due to out-of-sync data between primary and secondary storage nodes.
Innovation Solution
Implement a transition logging phase using dirty region and metadata logs to track modified regions and operations, followed by a replay phase that synchronizes metadata and data without pausing client I/O, ensuring timestamp parity and consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional resynchronization processes are used to bring storage devices back into synchronous replication state, then data protection guarantees are restored, but client I/O operations are blocked causing increased latency and disruptions
Solution Approach 1:
The system performs preliminary actions by logging all client I/O operations to a write-ahead log before executing them during resynchronization. This allows the system to prepare and queue operations in advance, then replay them after the secondary storage device is back online, avoiding the need to block client I/O during the entire resynchronization process.
Solution Approach 2:
The resynchronization process is segmented into distinct phases: (1) logging phase where client I/O operations are recorded, (2) synchronization phase where the secondary device is brought back online, and (3) replay phase where logged operations are re-executed. This segmentation allows client I/O to continue during the logging phase while ensuring data consistency is restored.
2Productivity
If asynchronous replication is used to avoid blocking client I/O, then client operations continue without disruption, but data consistency between primary and secondary nodes cannot be guaranteed
Solution Approach 1:
The system implements feedback mechanisms by tracking the synchronization state between primary and secondary storage devices, monitoring which operations have been replicated, and automatically triggering resynchronization when inconsistencies are detected. This feedback loop ensures data consistency is maintained without requiring manual intervention or blocking client operations.
Solution Approach 2:
A write-ahead log serves as an intermediary mechanism that captures client I/O operations and ensures they are properly replicated to the secondary device. The log acts as a buffer and coordination point, allowing the system to maintain asynchronous operation while guaranteeing eventual consistency through the replay of logged operations.
3Reliability
If synchronous replication is used to ensure data consistency, then two copies of data are maintained before acknowledgment, but client I/O latency increases due to waiting for replication confirmation
Solution Approach 1:
The system performs preliminary logging of client I/O operations before they need to be confirmed as replicated. By pre-capturing operations in a write-ahead log, the system can acknowledge client requests immediately while ensuring the operations are logged and will be replayed to the secondary device, thereby reducing latency while maintaining consistency.
4Reliability
If resynchronization is performed by quiescing client I/O operations, then data divergence is corrected, but applications experience timeouts and errors
Solution Approach 1:
The resynchronization process is divided into segments that allow different client I/O operations to proceed independently. Operations that do not require the secondary device can continue immediately, while operations requiring consistency are logged and replayed later. This segmentation prevents application-wide timeouts and errors by allowing non-critical operations to proceed.
Solution Approach 2:
The write-ahead log acts as an intermediary that decouples client I/O operations from the resynchronization process. Applications continue to operate normally, writing to the log, while the resynchronization process reads and replays operations from the log in the background. This intermediary mechanism eliminates application timeouts and errors by preventing direct blocking.
Data Source
AI summary
Techniques are provided for maintaining timestamp parity during a transition replay phase to a synchronous state. During a transition logging phase where metadata operations executed by a primary node are logged into a metadata log and regions modified by data operations executed by the primary node are tracked within a dirty region log, a close stream operation to close a stream associated with a basefile of the primary node is identified. A determination is made as to whether the dirty region log comprises an entry for the stream indicating that a write data operation previously modified the stream. In an example, in response to the dirty region log comprising the entry, an indicator is set to specify that the stream was deleted by the close stream operation. In another example, a modify timestamp of the basefile is logged into the metadata log for subsequent replication to the secondary node.


