Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pool: Refactor handling of replica size in the repository
Motivation: The MetaDataRecord implementations cache the replica file size in memory. The cached value is filled during pool startup. During upload the replica file size changes and thus the write handler sets a file size repeatedly. This breaks isolation as the write handler assumes the replica by an actual file. Modification: Make the replica size a truly cached value that cannot be updated from the outside of the meta data store. The meta data record implementations use the entry state to determine whether the replica file size may change or not. Upon moving the entry to a non-uploading state, the size is cached. This affects the replica file size reported by `rep ls` during upload - previously the pre-allocated size was reported, while now the actual size on disk is reported. Previously, the reported size could be larger than the final file size as pre-allocation may overallocate. Renamed the getSize method to getReplicaSize to make it clear that this isn't the logical file size as stored in Chimera. Result: Reported file size during uploads now reflects actual file size rather than preallocated file size. Target: trunk Require-notes: no Require-book: no Acked-by: Paul Millar <paul.millar@desy.de> Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de> Reviewed at https://rb.dcache.org/r/9447/
- Loading branch information
Showing
9 changed files
with
54 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters