【详述】在测试环境进行版本升级和回滚演练,遇到UNKNOWN Operation Type的错误。
操作步骤:
-
先把2.3.10的集群升级到2.4.4,运行了约4个小时,没有问题。(看起来升级是完全成功的)
-
尝试回滚版本,按照官方文档,先设置ignore_unknown_log_id=true后,从followers开始,回滚版本,
直至全部FE重启,回滚成功。 -
开始从followers开始,设置ignore_unknown_log_id=false后,继续重启。第一台followers重启成功,但是第二台出现错误,无法正常启动。(相关日志见附件1)
-
没有更好的办法,于是从这台无法正常启动的follower开始,重新进行版本升级,开始重复1的步骤,直至版本再次升级到2.4.4成功,运行了15分钟,没有问题。(看起来升级是完全成功的)
-
继续开始尝试回滚版本,设置了ignore_unknown_log_id=true的条件下,回滚版本成功。(见附件截图)
-
继续从曾经有问题的follower节点(10.70.2.122)开始,设置ignore_unknown_log_id=false后,重启失败,和之前的错误类似,换了一个元信息的Id。(相关日志见附件3)
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】从2.3.10升级到2.4.4,尝试从2.4.4回滚到2.3.10
【集群规模】3fe+3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,4C/8G
【联系方式】jimokanghanchao@gmail.com
【附件】 -
第一次follower启动失败的日志
2023-03-20 13:14:47,279 INFO (replayer|64) [LoadManager.replayCreateLoadJob():128] LOAD_JOB=318986, msg={replay create load job}
2023-03-20 13:14:47,280 ERROR (replayer|64) [BDBJournalCursor.next():117] fail to read journal entity key=14375620, will exit
java.io.IOException: UNKNOWN Operation Type 10012
at com.starrocks.journal.JournalEntity.readFields(JournalEntity.java:648) ~[starrocks-fe.jar:?]
at com.starrocks.journal.bdbje.BDBJournalCursor.next(BDBJournalCursor.java:115) [starrocks-fe.jar:?]
at com.starrocks.server.GlobalStateMgr.replayJournal(GlobalStateMgr.java:1721) [starrocks-fe.jar:?]
at com.starrocks.server.GlobalStateMgr$4.runOneCycle(GlobalStateMgr.java:1518) [starrocks-fe.jar:?]
at com.starrocks.common.util.Daemon.run(Daemon.java:115) [starrocks-fe.jar:?] -
第二次follower启动失败的日志
2023-03-20 13:50:22,050 ERROR (replayer|64) [BDBJournalCursor.next():117] fail to read journal entity key=14413918, will exit
java.io.IOException: UNKNOWN Operation Type 10012
at com.starrocks.journal.JournalEntity.readFields(JournalEntity.java:648) ~[starrocks-fe.jar:?]
at com.starrocks.journal.bdbje.BDBJournalCursor.next(BDBJournalCursor.java:115) [starrocks-fe.jar:?]
at com.starrocks.server.GlobalStateMgr.replayJournal(GlobalStateMgr.java:1721) [starrocks-fe.jar:?]
at com.starrocks.server.GlobalStateMgr$4.runOneCycle(GlobalStateMgr.java:1518) [starrocks-fe.jar:?]
at com.starrocks.common.util.Daemon.run(Daemon.java:115) [starrocks-fe.jar:?]