mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-21 21:44:22 +02:00
ROOT CAUSE IDENTIFIED: The issue with objects like '//bar', '//testobjfoo', '//testobjbar', and '/key' was due to inconsistent path normalization between object upload and versioned metadata operations. PROBLEM: - toFilerUrl() calls removeDuplicateSlashes() normalizing '//bar' → '/bar' - But versioned operations used raw object paths: '//bar.versions' - This created a mismatch where version files were stored under '/bar.versions/' but .versions directory metadata was stored under '//bar.versions' - Filer lookups failed because paths didn't match SOLUTION: - Apply removeDuplicateSlashes() consistently in all versioned operations: - putVersionedObject: normalize before creating .versions directory - getLatestObjectVersion: normalize before looking up .versions directory - getSpecificObjectVersion: normalize for all version operations - deleteSpecificObjectVersion: normalize for version deletion - Ensures all version-related paths use the same normalization as toFilerUrl() This should resolve the persistent CI failures for objects with double slashes in their paths, eliminating the 'filer: no entry is found in filer store' errors that even 8 retries with exponential backoff couldn't resolve.