diff --git a/fe/fe-core/src/main/java/com/starrocks/server/SharedDataStorageVolumeMgr.java b/fe/fe-core/src/main/java/com/starrocks/server/SharedDataStorageVolumeMgr.java index 9aa4d7045a22d..7233d165a90e8 100644 --- a/fe/fe-core/src/main/java/com/starrocks/server/SharedDataStorageVolumeMgr.java +++ b/fe/fe-core/src/main/java/com/starrocks/server/SharedDataStorageVolumeMgr.java @@ -150,6 +150,10 @@ private Map parseParamsFromConfig() { params.put(CloudConfigurationConstants.AWS_S3_ENDPOINT, Config.aws_s3_endpoint); params.put(CloudConfigurationConstants.AWS_S3_EXTERNAL_ID, Config.aws_s3_external_id); params.put(CloudConfigurationConstants.AWS_S3_IAM_ROLE_ARN, Config.aws_s3_iam_role_arn); + params.put(CloudConfigurationConstants.AWS_S3_USE_AWS_SDK_DEFAULT_BEHAVIOR, + String.valueOf(Config.aws_s3_use_aws_sdk_default_behavior)); + params.put(CloudConfigurationConstants.AWS_S3_USE_INSTANCE_PROFILE, + String.valueOf(Config.aws_s3_use_instance_profile)); break; case "hdfs": // TODO diff --git a/fe/fe-core/src/test/java/com/starrocks/server/SharedDataStorageVolumeMgrTest.java b/fe/fe-core/src/test/java/com/starrocks/server/SharedDataStorageVolumeMgrTest.java index a1321a0aa0896..dea00290a6313 100644 --- a/fe/fe-core/src/test/java/com/starrocks/server/SharedDataStorageVolumeMgrTest.java +++ b/fe/fe-core/src/test/java/com/starrocks/server/SharedDataStorageVolumeMgrTest.java @@ -288,13 +288,32 @@ public EditLog getEditLog() { Assert.assertEquals(sv.getId(), sdsvm.getDefaultStorageVolumeId()); Assert.assertEquals("region", sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getRegion()); Assert.assertEquals("endpoint", sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getEndpoint()); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().hasCredential()); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getCredential().hasSimpleCredential()); Config.aws_s3_region = "region1"; Config.aws_s3_endpoint = "endpoint1"; sdsvm.createOrUpdateBuiltinStorageVolume(); sv = sdsvm.getStorageVolumeByName(SharedDataStorageVolumeMgr.BUILTIN_STORAGE_VOLUME); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().hasCredential()); Assert.assertEquals("region1", sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getRegion()); Assert.assertEquals("endpoint1", sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getEndpoint()); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().hasCredential()); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getCredential().hasSimpleCredential()); + + Config.aws_s3_use_instance_profile = true; + Config.aws_s3_use_aws_sdk_default_behavior = false; + sdsvm.createOrUpdateBuiltinStorageVolume(); + sv = sdsvm.getStorageVolumeByName(SharedDataStorageVolumeMgr.BUILTIN_STORAGE_VOLUME); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().hasCredential()); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getCredential().hasProfileCredential()); + + Config.aws_s3_iam_role_arn = "role_arn"; + Config.aws_s3_external_id = "external_id"; + sdsvm.createOrUpdateBuiltinStorageVolume(); + sv = sdsvm.getStorageVolumeByName(SharedDataStorageVolumeMgr.BUILTIN_STORAGE_VOLUME); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().hasCredential()); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().getS3FsInfo().getCredential().hasAssumeRoleCredential()); String svKey = "test"; List locations = Arrays.asList("s3://abc"); @@ -305,6 +324,13 @@ public EditLog getEditLog() { sdsvm.createStorageVolume(svKey, "S3", locations, storageParams, Optional.empty(), ""); sdsvm.setDefaultStorageVolume(svKey); + Config.cloud_native_storage_type = "hdfs"; + Config.cloud_native_hdfs_url = "hdfs://url"; + sdsvm.removeStorageVolume(SharedDataStorageVolumeMgr.BUILTIN_STORAGE_VOLUME); + sdsvm.createOrUpdateBuiltinStorageVolume(); + sv = sdsvm.getStorageVolumeByName(SharedDataStorageVolumeMgr.BUILTIN_STORAGE_VOLUME); + Assert.assertTrue(sv.getCloudConfiguration().toFileStoreInfo().hasHdfsFsInfo()); + Config.cloud_native_storage_type = "azblob"; Config.azure_blob_shared_key = "shared_key"; Config.azure_blob_sas_token = "sas_token";