Project

General

Profile

Bug #10008

Updated by Tom Clegg almost 8 years ago

h2. Background 

 -TokenExpiryTest TokenExpiryTest in source:services/fuse/tests/test_mount.py is slow and unreliable because it relies on sleep().- (fixed) sleep(). 

 There is signature-refreshing logic ("re-fetch collection from API server before signatures expire") in arv-mount. However: 
 * It checks expiry times only when a file is opened. If a file is left open for a long time, reading from the file will eventually stop working. 
 * Other programs using the Python SDK need the same auto-refresh behavior for the same reasons as arv-mount, but no facility is provided. 

 h2. Proposed fix Fix 

 Implement manifest-refreshing logic in the Python SDK. Reading from a file should always work: 
 * regardless Mock time.time() instead of how much sleeping to make time passes between instantiating the Collection, opening a file, writing, and reading. 
 * regardless of whether the collection is writable or not, and regardless of whether it is referenced by PDH or UUID. 

 This will make the arv-mount token-refresh mechanism (added in notes 4-6 here) redundant, so that can be reverted. advance. 

Back