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

   > **Depends on #69605.** This PR is stacked on #69605 (BE-1 of the #69082 
split), so until #69605 is merged its diff also contains the #69605 commits. 
Only the last commit (`[refactor](be) Rename the common object storage IO 
classes to ObjStorage*`) belongs to this PR. It will be rebased onto master 
after #69605 is merged.
   
   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #69082, #69605
   
   Problem Summary: This is BE-2 of the split of #69082 and is based on #69605. 
After #69605 the
   common object storage IO layer serves both S3 and Azure, but its classes, 
files and several
   identifiers still carry S3 names. This change renames them; behavior is 
unchanged.
   
   1. `S3FileSystem` / `S3FileReader` / `S3FileWriter` become 
`ObjStorageFileSystem` /
      `ObjStorageFileReader` / `ObjStorageFileWriter`, and 
`io/fs/s3_file_{system,reader,writer}.*`
      become `io/fs/obj_storage_file_{system,reader,writer}.*`. 
`s3_file_bufferpool.*` becomes
      `obj_storage_file_buffer_pool.*` (file names only). The unity skip list 
and the header hygiene
      tables follow the new file names.
   2. `FileSystemType::S3` becomes `FileSystemType::OBJECT_STORAGE` with the 
same value 1, and is
      printed as `OBJECT_STORAGE`.
   3. `ObjClientHolder::full_s3_path` and `ObjStorageFileSystem::full_s3_path` 
become `display_path`.
   4. `S3ClientFactory` becomes `AwsSdkManager`: after #69605 it no longer 
builds clients and only
      owns the AWS SDK lifetime and the AWS helpers that object storage clients 
and Kinesis share.
   5. `FileWriterOptions::used_by_s3_committer` becomes `deferred_completion`. 
Whether the
      coordinator can complete a staged upload is now described by
      `ObjStorageCapabilities::deferred_completion` (`ANY_COORDINATOR` for S3 
multipart,
      `NAMESPACED_BLOCK_IDS` for Azure block blobs) instead of comparing the 
provider with AZURE.
      `VHivePartitionWriter` still rejects an Azure write from a coordinator 
without
      `supports_deferred_azure_multipart`.
   6. In `CachedRemoteFileReader`, the S3-specific names of the 
peer-versus-remote read path
      (`launch_s3_race`, `do_s3_read`, `RaceState::s3_done`, 
`_execute_s3_fallback`, ...) become
      `remote`, and the free function `execute_s3_read` becomes 
`read_remote_span`.
   7. File-local bvar variables in the reader and writer are renamed to 
`obj_storage_*`.
   
   Exposed names are kept for compatibility: bvar and metric names, 
`DorisMetrics` members, config
   names, thread pool names, debug point and sync point names (regression and 
unit tests trigger
   them by name), error message texts, and gtest suite and test file names.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test: Unit Test (updated 
SpillIcebergTableSinkOperatorTest.AzureDeferredMultipartRequiresCoordinatorCapability);
     not compiled or run locally, CI compiles and runs BE UT
       - build-support/check-build-hygiene.sh: header layering, closure, 
pairing and unity-skip checks pass;
         the util/threadpool.h reach budget failure already exists on #69605 
and is fixed on master
   - Behavior changed: No (the printed name of FileSystemType::OBJECT_STORAGE 
in logs changes from S3)
   - 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]

Reply via email to