yangdong2398 opened a new pull request, #8347: URL: https://github.com/apache/hadoop/pull/8347
### Description of PR JIRA: https://issues.apache.org/jira/browse/HDFS-11161 Add `hadoop-bos` module to `hadoop-cloud-storage-project` providing Baidu Object Storage (BOS) FileSystem implementation using the `bos://` URI scheme. **Key features:** - `BaiduBosFileSystem`: core Hadoop FileSystem implementation for BOS - Support for both flat and hierarchical namespace modes - Multipart upload for large files - CRC32C checksum compatible with HDFS for DistCp - Pluggable credential providers (configuration-based and environment-variable-based) - Hadoop FileSystem contract tests - Shaded BOS SDK and transitive dependencies (jackson, httpcomponents, guava, commons-logging, commons-lang, commons-codec) under `bfs.*` prefix to avoid classpath conflicts **Build integration:** - Integrated into `hadoop-project/pom.xml` (dependency management), `hadoop-cloud-storage-project/pom.xml` (module), `hadoop-cloud-storage/pom.xml` (umbrella dependency), `hadoop-cloud-storage-dist/pom.xml` (dist packaging) - Standard `core-site.xml` + XInclude `auth-keys.xml` test credential pattern - `tests-off`/`tests-on` profiles to auto-skip tests when credentials are absent ### How was this patch tested? - Unit test: `TestConfigurationCredentialsProvider` validates credential provider loading from Hadoop configuration - Contract tests: Full set of Hadoop FileSystem contract tests (`TestBosContractCreate`, `TestBosContractDelete`, `TestBosContractRename`, `TestBosContractSeek`, etc.) — require valid BOS credentials in `auth-keys.xml` - CI: Apache Yetus pre-commit checks pass (compile, javadoc JDK 17/21, SpotBugs, checkstyle, ASF license, whitespace) ### Dependencies and Licensing All new dependencies (Baidu BOS SDK) and transitive dependencies are properly shaded under `bfs.*` prefix. BOS SDK is under Apache License 2.0, compatible with ASF 2.0 license requirements. No changes required to LICENSE, LICENSE-binary, or NOTICE-binary files as dependencies are shaded and not exposed in distribution. -- 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]
