Journal Barrier Consistency in Asynchronous Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data replication techniques, particularly asynchronous replication, face challenges in maintaining write order fidelity and ensuring data consistency across systems, especially in the presence of failures or crashes, which can lead to data inconsistencies and inefficiencies in scale-out storage systems.
Innovation Solution
The proposed solution involves a journal-based asynchronous replication method that writes metadata before user data, ensures data is written to the user volume before the journal, and handles missing user data by reading from the user volume to maintain write order fidelity, using journal barriers and intervals to manage replication and consistency across systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If asynchronous replication writes metadata to journal before user data is written to user volume, then replication can proceed without waiting for user data write completion, but user data may be missing from the journal entry causing data inconsistency
Solution Approach 1:
The system performs preliminary actions by writing metadata to the journal entry before user data is written to the user volume. This allows the replication process to proceed without waiting for user data write completion, improving throughput while maintaining data consistency through subsequent validation and recovery mechanisms.
Solution Approach 2:
The system implements feedback mechanisms to detect missing user data in journal entries and trigger appropriate recovery actions. When user data is found to be missing, the system reads the latest data from the user volume and updates the journal entry, ensuring data consistency is maintained despite the preliminary write approach.
2Reliability
If the system reads latest user data from user volume to update missing data in journal entry, then data consistency is maintained, but additional I/O operations increase processing time
Solution Approach 1:
The system extracts only the necessary user data from the user volume when missing data is detected in journal entries. Rather than re-reading or re-processing entire volumes, the system selectively retrieves only the specific data blocks that are missing, minimizing additional I/O operations and processing time while maintaining data consistency.
3Reliability
If the system validates and updates journal entries with missing user data, then write order fidelity is maintained, but complexity of the replication process increases
Solution Approach 1:
The system performs preliminary validation of journal entries to identify missing user data before replication. By detecting missing data early in the process, the system can maintain write order fidelity through targeted updates rather than complex post-replication corrections, reducing overall process complexity.
Solution Approach 2:
The replication system performs self-validation and self-correction by automatically detecting missing user data in journal entries and retrieving the necessary data from the user volume. This self-service approach maintains write order fidelity without requiring external intervention or complex manual processes.
Data Source
AI summary
In one embodiment, an apparatus comprises a source system comprising a processing device coupled to memory. The processing device is configured to obtain an IO operation corresponding to an address of the source system. The IO operation comprises first user data. The processing device is further configured to store metadata associated with the IO operation in a first journal barrier of a replication journal of the source system and to close the first journal barrier. The processing device is further configured to determine that the first user data associated with the IO operation is missing from the first journal barrier and to obtain second user data from the address. The processing device is further configured to identify an interval from the first journal barrier to a second journal barrier and to provide the first journal barrier and the interval to a destination system.


