Snapshot Key Fencing for Consistent Cross-Region File Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Concurrent cross-region file system replication and garbage collection processes often result in inconsistencies and file corruption due to the inadvertent deletion of snapshots and interruption of multi-transaction processes by garbage collectors.
Innovation Solution
Implementing garbage collection fencing techniques using GC fencing keys to block garbage collectors from deleting specific B-tree keys during replication, allowing concurrent operations by configuring garbage collectors to operate outside designated snapshot ranges.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If garbage collection is performed during cross-region replication, then memory management efficiency is improved, but data consistency and integrity deteriorate due to inadvertent deletion of snapshots
Solution Approach 1:
The patent segments the snapshot range into multiple ranges, with each range associated with a specific replication operation. Garbage collectors are configured to operate only within designated ranges, allowing concurrent garbage collection and replication without interference. This segmentation enables memory management efficiency while preserving data consistency by isolating garbage collection activities from critical snapshot ranges.
Solution Approach 2:
The patent introduces fencing keys as intermediary structures that mediate between replication operations and garbage collection processes. These fencing keys act as barriers that prevent garbage collectors from inadvertently deleting snapshots required by ongoing replications. The intermediary mechanism allows both processes to run concurrently while maintaining data consistency through controlled access to snapshot ranges.
2Productivity
If multiple garbage collectors operate concurrently during replication, then garbage collection throughput is improved, but risk of file corruption increases
Solution Approach 1:
The patent divides the snapshot space into multiple non-overlapping ranges, each assigned to a specific garbage collector or replication operation. This segmentation allows multiple garbage collectors to operate concurrently in different ranges without interfering with each other or with replication processes. The segmented approach maintains high throughput while eliminating file corruption risks through spatial isolation.
Solution Approach 2:
The patent applies different quality characteristics to different parts of the snapshot space by assigning specific ranges to different operations. Critical ranges involved in replication are protected from garbage collection, while other ranges allow aggressive garbage collection. This local differentiation enables high garbage collection throughput in safe areas while preserving data integrity in critical areas.
3Reliability
If garbage collectors are restricted from operating during replication, then data integrity is maintained, but system performance deteriorates
Solution Approach 1:
The patent segments the snapshot range to identify which snapshots are involved in replication operations and which are not. Garbage collectors are permitted to operate on snapshots outside the replication-involved ranges, maintaining data integrity for active replications while preserving system performance through continued garbage collection activity in safe areas.
Solution Approach 2:
The patent implements partial garbage collection by allowing it to operate on a subset of snapshots (those not involved in replication) rather than blocking it entirely. This partial action maintains data integrity for critical operations while achieving sufficient garbage collection throughput to maintain system performance.
Data Source
AI summary
Techniques are described for enabling concurrent cross-region replications and garbage collection while maintaining consistency and data integrity among file systems. In some embodiments, techniques for garbage collection fencing utilize a system-level garbage fencing key (GC fencing key) and one or more job-level GC fencing keys in a source file system that perform one or more cross-region replications with one or more target file systems, one replication and one job-level GC fencing key per target file system. In some embodiments, one job-level GC fencing key in a source file system and one job-level GC fencing key in a source file system together provide garbage fencing for a cross-region replication. In certain embodiments, the metadata information in a GC fencing key can inform, instruct, or be used to configure garbage collectors to skip garbage collection for a range of snapshots in a file system.


