Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,8 @@ public enum SchemaTypeMapper {
HDFS("hdfs", StorageProperties.Type.HDFS, FileSystemType.HDFS, TFileType.FILE_HDFS),
LOCAL("local", StorageProperties.Type.HDFS, FileSystemType.HDFS, TFileType.FILE_HDFS),
HTTP("http", StorageProperties.Type.HTTP, FileSystemType.HTTP, TFileType.FILE_HTTP),
HTTPS("https", StorageProperties.Type.HTTP, FileSystemType.HTTP, TFileType.FILE_HTTP);
HTTPS("https", StorageProperties.Type.HTTP, FileSystemType.HTTP, TFileType.FILE_HTTP),
BOS("bos", StorageProperties.Type.S3, FileSystemType.S3, TFileType.FILE_S3);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes the normal LocationPath/Iceberg scan path treat bos:// as S3, but the test_connection=true catalog-creation path still has its own scheme checks. ExternalCatalog.checkWhenCreating() runs CatalogConnectivityTestCoordinator; for Iceberg Glue, getTestLocation() rejects any warehouse that does not match ^(s3|s3a|s3n)://, so a bos://... Glue warehouse still fails before users reach the fixed scan path. For HMS/REST, the base tester can return the configured bos:// warehouse, but findMatchingObjectStorage() only matches s3:///s3a://, so the S3-compatible BOS storage test is skipped. Please route this path through the same SchemaTypeMapper/LocationPath normalization or add bos to the connectivity validation/matching logic, and cover a bos:// Iceberg warehouse with test_connection=true.

//LAKEFS("lakefs", StorageProperties.Type.LAKEFS),
//GCS("gs", StorageProperties.Type.S3),
//BOS("bos", StorageProperties.Type.BOS),
Expand Down
Loading