morningman opened a new pull request, #61908:
URL: https://github.com/apache/doris/pull/61908

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Problem Summary: The existing FileSystem interface uses Status-based return 
values, bare String paths, and Hadoop-dependent RemoteFile objects throughout 
the FE codebase, making it hard to test and impossible to isolate from Hadoop 
at the module boundary. Phase 1 introduces the new clean IOException-based 
FileSystem API with typed Location value objects, while preserving full 
backward compatibility via LegacyFileSystemApi.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test: Manual build verification (./build.sh --fe) passes with zero errors
   - Behavior changed: No (all existing code paths preserved via 
LegacyFileSystemApi)
   - Does this need documentation: No
   
   New files:
   - Location.java: immutable URI value object replacing bare String paths
   - FileEntry.java: immutable file/dir descriptor replacing Hadoop-dependent 
RemoteFile
   - FileIterator.java: lazy Closeable iterator interface for directory listing
   - LegacyFileSystemApi.java: @Deprecated copy of old FileSystem interface 
(Status-based)
   - LegacyFileSystemAdapter.java: abstract bridge implementing new FileSystem 
via legacy* methods
   - LegacyToNewFsAdapter.java: wraps any LegacyFileSystemApi as new FileSystem
   - MemoryFileSystem.java: in-memory FileSystem for unit testing
   
   Modified files:
   - FileSystem.java: replaced with new clean IOException-based interface
   - PersistentFileSystem, LocalDfsFileSystem, SwitchingFileSystem: implements 
LegacyFileSystemApi
   - FileSystemProvider, FileSystemLookup: return LegacyFileSystemApi
   - DorisInputFile, DorisOutputFile: add location() method; deprecate path()
   - HdfsInputFile, HdfsOutputFile, HdfsInputStream: use Location instead of 
ParsedPath
   - ParsedPath: @Deprecated + toLocation() conversion method
   - RemoteFile: @Deprecated + toFileEntry()/fromFileEntry() conversion methods
   - RemoteFiles, RemoteFileRemoteIterator: @Deprecated
   - All callers updated to use LegacyFileSystemApi type
   
   


-- 
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]

Reply via email to