关键字
KingbaseFlysync ,KFS,同步程序, 内存, OutOfMemoryError,Replicator ran out of memory, restarting Restart JVM
问题描述
同步服务能够正常同步数据,在同步过程中遇到超大事务KFS同步异常,且日志中出现了如下提示:
2021/05/24 16:07:58.681 | | [mysql - pool-2-thread-1] ERROR management.OpenReplicatorManager Received error notification, shutting down services :
2021/05/24 16:07:58.681 | Stage task failed: stage=q-to-dbms seqno=5778 fragno=0
2021/05/24 16:07:58.681 | java.lang.OutOfMemoryError: Java heap space
2021/05/24 16:07:58.681 | Replicator ran out of memory, restarting Restart JVM (Ignoring, already restarting).
问题分析
KingbaseFlysync(KFS)同步程默认情况下JVM的最大运行内存为2GB,当同步过程中有超大事务或者超大大字段对象时,会出现JVM异常退出或者重启从而导致KingbaseFlysync(KFS)同步异常。
解决方案
1)在同步程序配置文件flysync.ini中添加JVM内存配置参数
[test@localhost ~]$ vim flysync.ini
在配置文件中[defaults]添加如下配置并保存
repl_java_mem_size=xxx (单位是M)
2)在安装包解析路径下执行./fspm update 参数更新命令
[test@localhost ~]$ cd /home/hes/KingbaseFlySync-V002R002C004BXXXXXXXX-replicator/tools
[test@localhost tools]$ ./fspm update
3)更新成功后,再启动同步程序即可
[test@localhost tools]$ replicator start