Distributed File System Garbage Collection via Delayed Deletion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems face scalability issues and poor fault tolerance, requiring manual intervention for distribution and handling failures, leading to potential data unavailability and corruption.
Innovation Solution
A scalable distributed file system with a garbage collection method that renames and permanently deletes files, identifies and deletes orphaned chunks, and manages stale replicas, utilizing a master node to maintain namespace data and chunk replicas across multiple servers for fault tolerance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If files are immediately deleted upon user request, then storage space is reclaimed quickly, but the risk of accidental data loss increases and fault tolerance is compromised
Solution Approach 1:
The system performs preliminary actions by renaming files to a special deleted state before actual deletion, and by creating a delayed deletion mechanism that waits for a predetermined time period or confirmation before permanently removing files. This preliminary action allows for recovery opportunities while still progressing toward storage reclamation.
Solution Approach 2:
The system provides a safety cushion by maintaining a grace period between file deletion request and actual permanent deletion. During this period, files can be recovered if needed, cushioning against accidental data loss. The system also maintains metadata about deleted files to enable potential recovery operations.
2Reliability
If manual intervention is used to redistribute files across servers, then fault tolerance can be improved, but system complexity and operational time increase
Solution Approach 1:
The system implements self-service by automatically detecting file distribution imbalances and triggering redistribution operations without human intervention. The master node monitors the distributed file system state and autonomously manages file migration to maintain optimal distribution across servers, reducing operational complexity while maintaining reliability.
Solution Approach 2:
The system uses feedback mechanisms where the master node continuously monitors file distribution across servers and automatically initiates redistribution when imbalances are detected. This closed-loop control ensures fault tolerance is maintained without requiring manual intervention, as the system self-corrects based on monitored conditions.
3Productivity
If garbage collection is performed immediately upon file deletion, then storage efficiency improves, but the risk of deleting still-needed data increases
Solution Approach 1:
The system performs preliminary renaming of files to a deleted state before actual garbage collection, allowing a recovery window to pass first. Files are marked for deletion but not immediately removed from storage, enabling potential recovery while still preparing for eventual space reclamation.
Solution Approach 2:
The system implements periodic garbage collection rather than immediate deletion, using a predetermined time delay or confirmation mechanism before permanent removal. This periodic action allows the system to safely reclaim storage space while maintaining data availability during the grace period.
4Productivity
If distributed file systems are scaled by adding more servers, then aggregate performance improves, but the difficulty of maintaining data consistency and handling failures increases
Solution Approach 1:
The master node performs multiple functions including metadata management, file distribution coordination, garbage collection, and server failure detection. This multi-functionality consolidates control logic in a single node, simplifying the system architecture while enabling scalable performance through additional storage servers.
Solution Approach 2:
The master node acts as an intermediary between clients and distributed servers, managing all file operations, coordination, and consistency. This intermediary approach abstracts the complexity of distributed system management from individual servers and clients, allowing the system to scale while maintaining manageable complexity through centralized coordination.
Data Source
AI summary
A system facilitates the deletion of data, such as files, orphaned chunks, and stale replicas. The system may identify a file to be deleted, rename the identified file, permanently delete the renamed file a predetermined amount of time after renaming the identified file as part of a garbage collection process, receive, from the servers, information concerning chunks stored by the servers, and identify, to the servers, ones of the chunks that do not exist possibly due to the permanent deletion of the renamed file. The system may further provide a mapping of file names to chunks, identify chunks, as orphaned chunks, that are not reachable from any of the file names, delete the orphaned chunks, receive, from the servers, information concerning chunks stored by the servers, and identify, to the servers, ones of the chunks that are orphaned chunks. The system may also associate version information with replicas of chunks, identify stale replicas based on the associated version information, delete the stale replicas, receive, from the servers, information concerning replicas stored by the servers, and identify, to the servers, ones of the replicas that are stale replicas.


