restore 报BEGIN_OBJECT but was STRING at line 1 column 1 path $错误

版本3.1.5

mysql> RESTORE SNAPSHOT starrocks_audit_db__.test_xxx
-> FROM oss_repo
-> ON (test)
-> PROPERTIES (
-> “backup_timestamp”=“2024-01-10-07-48-03-845”,
-> “replication_num” = “1”
-> );
ERROR 1064 (HY000): Unexpected exception: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

详细日志:
2024-01-10 08:11:16,911 WARN (starrocks-mysql-nio-pool-631|237352) [StmtExecutor.handleDdlStmt():1451] DDL statement (RESTORE SNAPSHOT starrocks_audit_db__.test_xxx
FROM oss_repo
ON (test)
PROPERTIES (
“backup_timestamp”=“2024-01-10-07-48-03-845”,
“replication_num” = “1”
)) process failed.
com.starrocks.common.DdlException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.starrocks.qe.DDLStmtExecutor.execute(DDLStmtExecutor.java:145) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.handleDdlStmt(StmtExecutor.java:1425) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:617) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:363) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:477) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:753) ~[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) ~[?:?]
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226) ~[spark-dpp-1.0.0.jar:?]
at com.starrocks.persist.gson.GsonUtils$ProcessHookTypeAdapterFactory$1.read(GsonUtils.java:658) ~[starrocks-fe.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:963) ~[spark-dpp-1.0.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:928) ~[spark-dpp-1.0.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:877) ~[spark-dpp-1.0.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:848) ~[spark-dpp-1.0.0.jar:?]
at com.starrocks.backup.BackupMeta.read(BackupMeta.java:124) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupMeta.fromFile(BackupMeta.java:100) ~[starrocks-fe.jar:?]
at com.starrocks.backup.Repository.getSnapshotMetaFile(Repository.java:388) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.downloadAndDeserializeMetaInfo(BackupHandler.java:454) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.restore(BackupHandler.java:422) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.process(BackupHandler.java:276) ~[starrocks-fe.jar:?]
at com.starrocks.server.GlobalStateMgr.restore(GlobalStateMgr.java:3441) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.lambda$visitRestoreStatement$44(DDLStmtExecutor.java:602) ~[starrocks-fe.jar:?]
at com.starrocks.common.ErrorReport.wrapWithRuntimeException(ErrorReport.java:112) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitRestoreStatement(DDLStmtExecutor.java:601) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitRestoreStatement(DDLStmtExecutor.java:152) ~[starrocks-fe.jar:?]
at com.starrocks.sql.ast.RestoreStmt.accept(RestoreStmt.java:65) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor.execute(DDLStmtExecutor.java:138) ~[starrocks-fe.jar:?]
… 9 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:384) ~[spark-dpp-1.0.0.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:215) ~[spark-dpp-1.0.0.jar:?]
at com.starrocks.persist.gson.GsonUtils$ProcessHookTypeAdapterFactory$1.read(GsonUtils.java:658) ~[starrocks-fe.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:963) ~[spark-dpp-1.0.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:928) ~[spark-dpp-1.0.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:877) ~[spark-dpp-1.0.0.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:848) ~[spark-dpp-1.0.0.jar:?]
at com.starrocks.backup.BackupMeta.read(BackupMeta.java:124) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupMeta.fromFile(BackupMeta.java:100) ~[starrocks-fe.jar:?]
at com.starrocks.backup.Repository.getSnapshotMetaFile(Repository.java:388) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.downloadAndDeserializeMetaInfo(BackupHandler.java:454) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.restore(BackupHandler.java:422) ~[starrocks-fe.jar:?]
at com.starrocks.backup.BackupHandler.process(BackupHandler.java:276) ~[starrocks-fe.jar:?]
at com.starrocks.server.GlobalStateMgr.restore(GlobalStateMgr.java:3441) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.lambda$visitRestoreStatement$44(DDLStmtExecutor.java:602) ~[starrocks-fe.jar:?]
at com.starrocks.common.ErrorReport.wrapWithRuntimeException(ErrorReport.java:112) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitRestoreStatement(DDLStmtExecutor.java:601) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor$StmtExecutorVisitor.visitRestoreStatement(DDLStmtExecutor.java:152) ~[starrocks-fe.jar:?]
at com.starrocks.sql.ast.RestoreStmt.accept(RestoreStmt.java:65) ~[starrocks-fe.jar:?]
at com.starrocks.qe.DDLStmtExecutor.execute(DDLStmtExecutor.java:138) ~[starrocks-fe.jar:?]