morningman opened a new pull request, #61841:
URL: https://github.com/apache/doris/pull/61841
### What problem does this PR solve?
Problem Summary:
Phase 1 of the Doris FE remote storage access layer refactoring. This
consolidates the `fs` modules into a modern, unified, SPI-based architecture
(inspired by Trino FileSystem).
Key changes:
1. Introduced `Location` as a strongly-typed URI value object.
2. Introduced `FileEntry` representing zero-Hadoop file metadata.
3. Introduced `FileIterator` for lazy iteration to prevent OOM on large
directories.
4. Cleaned up `FileSystem` interface (IOException-based, Location-typed) and
retained the old `LegacyFileSystem` (Status-based) for backward compatibility
during migration.
5. Added `LegacyFileSystemAdapter` to bridge old and new interfaces.
6. Upgraded `DorisInputFile` and `DorisOutputFile` with `location()`.
7. Created `MemoryFileSystem` for comprehensive unit testing without real
storage.
8. Marked `RemoteFile` and `ParsedPath` as @Deprecated with bidirectional
converters.
9. Migrated Iceberg's `DelegateFileIO` to natively use the new `FileSystem`
and `Location` API.
### Release note
None
### Check List (For Author)
- Test:
- Unit Test (Added comprehensive tests for Location, FileEntry, and
MemoryFileSystem. Passed all 39 new tests)
- Behavior changed: No
- Does this need documentation: No
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]