为了更快的定位您的问题,请提供以下信息,谢谢
【详述】使用国外aws对象存储创建备份仓库报错400
【背景】创建备份仓库
【业务影响】因备份有问题无法升级
【是否存算分离】否
【StarRocks版本】3.1.11和3.2.7
【集群规模】3fe(1 follower+2observer)+3be(fe与be混部)
【机器信息】32C/64G/千兆
【联系方式】社区群9-wulai
【附件】
创建语句:
CREATE REPOSITORY xxx
WITH BROKER
ON LOCATION “s3a://XX1/XX2/XX3”
PROPERTIES(
“aws.s3.access_key” = “xxx”,
“aws.s3.secret_key” = “xxx”,
“aws.s3.endpoint” = “s3.ap-xxx.amazonaws.com”
);
同样的语句在3.0.0和3.1.0创建仓库正常无报错。
在3.1.11和3.2.7的报错如下:
Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request;
在3.1.11export可正常导出数据。
3.1.11版本报错详细堆栈:
com.starrocks.common.DdlException: Failed to create repository: failed to list remote path: s3://XX1/XX2/XX3/XX4/XX5. msg: Fail to get file status: getFileStatus on s3://XX1/XX2/XX3/XX4/XX5: com.amazonaws.services.s3.model.AmazonS3Exception: Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; Request ID: XXX; S3 Extended Request ID: XXX; Proxy: null), S3 Extended Request ID: XXX:400 Bad Request: Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; Request ID: XXX; S3 Extended Request ID: XXX; Proxy: null)
at com.starrocks.common.ErrorReport.reportDdlException(ErrorReport.java:94) ~[starrocks-fe.jar:?]
at com.starrocks.common.ErrorReport.reportDdlException(ErrorReport.java:89) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.createRepository(BackupHandler.java:215) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.lambda$visitCreateRepositoryStatement$46(DDLStmtExecutor.java:620) ~[starrocks-fe.jar:?]
at com.starrocks.common.ErrorReport.wrapWithRuntimeException(ErrorReport.java:107) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitCreateRepositoryStatement(DDLStmtExecutor.java:619) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitCreateRepositoryStatement(DDLStmtExecutor.java:154) ~[starrocks-fe.jar:?]
at com.starrocks.sql.ast.CreateRepositoryStmt.accept(CreateRepositoryStmt.java:76) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor.execute(DDLStmtExecutor.java:140) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.handleDdlStmt(StmtExecutor.java:1447) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:622) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:392) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:498) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:784) ~[starrocks-fe.jar:?]
at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69) ~[starrocks-fe.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_131]
3.2.7的报错信息一致,堆栈有差异,如下:
at com.starrocks.common.ErrorReport.reportDdlException(ErrorReport.java:95) ~[starrocks-fe.jar:?]
at com.starrocks.common.ErrorReport.reportDdlException(ErrorReport.java:90) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.createRepository(BackupHandler.java:222) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.lambda$visitCreateRepositoryStatement$46(DDLStmtExecutor.java:626) ~[starrocks-fe.jar:?]
at com.starrocks.common.ErrorReport.wrapWithRuntimeException(ErrorReport.java:108) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitCreateRepositoryStatement(DDLStmtExecutor.java:625) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitCreateRepositoryStatement(DDLStmtExecutor.java:159) ~[starrocks-fe.jar:?]
at com.starrocks.sql.ast.CreateRepositoryStmt.accept(CreateRepositoryStmt.java:76) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor.execute(DDLStmtExecutor.java:145) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.handleDdlStmt(StmtExecutor.java:1625) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:665) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:413) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:608) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:915) ~[starrocks-fe.jar:?]
at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69) ~[starrocks-fe.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
at java.lang.Thread.run(Thread.java:829) ~[?:?]