Files
seaweedfs/weed
chrislu c9269219fd s3: fix critical path normalization inconsistency in versioned objects
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.
2025-09-14 23:10:30 -07:00
..
2025-08-09 21:47:29 -07:00
2025-07-19 23:56:17 -07:00
2025-08-30 11:15:48 -07:00
2025-08-31 23:31:28 -07:00
2025-09-14 14:10:44 -07:00
2025-08-22 01:15:42 -07:00
2025-09-10 11:04:42 -07:00
2024-06-25 09:18:11 -07:00
2025-08-30 11:15:48 -07:00
2024-02-14 08:26:38 -08:00
2025-09-12 18:44:29 -07:00
2025-07-19 21:43:34 -07:00
2025-03-17 23:13:27 -07:00