oblogproxy实现binlog服务碰到的问题

【 使用环境 】测试环境
【 oblogproxy 】
【 使用版本 】
oceanbase: 4.2.1.8
obproxy: 4.2.1
oblogproxy: 2.0.2
【问题描述】
1.配置完成后 obproxy里执行show master status; 也会很小概率出现obproxy connect binlog service failed。 升级obproxy到4.3.1后未再现
2.使用自研数据同步工具抽取binlog过程中,当ob侧binlog出现binlog写满替换RotateLog时报错,相关同步工具底层使用tungsten,最终通过跳过RotateLogRotateLogEvent的Checksum校验解决。相关报错如下:
DTSException:execute IncReplProcess failed:Failed to extract from mysql-bin.000001, Corrupted event in binlog (checksums do not match) at position mysql-bin.000001. Calculated checksum : 2841884887 - Binlog checksum : 1316888128 Next event position :524289169
3.使用自研数据同步工具读MySQL写OB过程中大量insert碰到了ArrayIndexOutOfBoundsException报错。相关jdbc版本8.0.33,已降级写OB使用8.0.25

感谢反馈 :smiley:

oblogproxy上执行清理binlog不生效
问题: oblogproxy上命令执行清理binlog不生效,oblogproxy为2.0.2版本。执行命令PURGE BINARY LOGS TO ‘mysql-bin.000001’ FOR xxx.xxx;
版本:obproxy: 4.2.1 oblogproxy: 2.0.2
解决:可以在obproxy上执行purge binary logs to ‘mysql-bin.000081’ ,如果在oblogproxy清理binlog命令里需要注意FOR TENANT xxx.xxx,少了TENANT不会报错但是实际不会执行报错

oblogproxy上CREATE BINLOG时指定timestamp报错
问题:CREATE BINLOG FOR TENANT test_cluster.test_tenant FROM 1622476800000 WITH CLUSTER URL ‘test_cluster_url’; 会报错提示相关clog已不存在
版本:obproxy: 4.2.1 oblogproxy: 2.0.2
解决:注意这里的timestamp实际精度是16位,需要为1622476800000000才能成功

oblogproxy空间写满引发问题
问题:oblogproxy默认空间/usr/local/oblogproxy/run下,如果没有合理规划写满,通过purge binlog清理仍会有队列堆积异常告警,kill 9后重启操作会引发binlog命名异常等
版本:obproxy: 4.2.1 oblogproxy: 2.0.2
-rw-r–r-- 1 root root 524289090 Sep 19 21:49 mysql-bin.000019
-rw-r–r-- 1 root root 524288350 Sep 19 22:03 mysql-bin.000020
-rw-r–r-- 1 root root 524288993 Sep 19 22:20 mysql-bin.000021
-rw-r–r-- 1 root root 524288684 Sep 19 22:34 mysql-bin.000022
-rw-r–r-- 1 root root 524289421 Sep 19 22:50 mysql-bin.000023
-rw-r–r-- 1 root root 524288070 Sep 19 23:10 mysql-bin.000024
-rw-r–r-- 1 root root 524288452 Sep 20 00:08 mysql-bin.000027
-rw-r–r-- 1 root root 524288294 Sep 20 00:23 mysql-bin.000028
-rw-r–r-- 1 root root 524291236 Sep 20 00:34 mysql-bin.000029
-rw-r–r-- 1 root root 524288384 Sep 20 00:48 mysql-bin.000030
-rw-r–r-- 1 root root 524288413 Sep 20 01:02 mysql-bin.000031
-rw-r–r-- 1 root root 524289918 Sep 20 01:17 mysql-bin.000032
-rw-r–r-- 1 root root 524288514 Sep 20 01:34 mysql-bin.000033
-rw-r–r-- 1 root root 524288329 Sep 20 01:59 mysql-bin.000034
-rw-r–r-- 1 root root 524288925 Sep 20 02:18 mysql-bin.000035
-rw-r–r-- 1 root root 524288915 Sep 20 02:48 mysql-bin.000036
-rw-r–r-- 1 root root 524288071 Sep 20 03:18 mysql-bin.000037
-rw-r–r-- 1 root root 524288353 Sep 20 03:40 mysql-bin.000038
-rw-r–r-- 1 root root 524289094 Sep 20 04:12 mysql-bin.000039
-rw-r–r-- 1 root root 524288262 Sep 20 04:40 mysql-bin.000040
-rw-r–r-- 1 root root 524288435 Sep 20 05:09 mysql-bin.000041
-rw-r–r-- 1 root root 524288347 Sep 20 05:36 mysql-bin.000042
-rw-r–r-- 1 root root 524288080 Sep 20 06:14 mysql-bin.000043
-rw-r–r-- 1 root root 524288370 Sep 20 06:49 mysql-bin.000044
-rw-r–r-- 1 root root 524288504 Sep 20 07:18 mysql-bin.000045
-rw-r–r-- 1 root root 524288231 Sep 20 07:45 mysql-bin.000046
-rw-r–r-- 1 root root 524288241 Sep 20 08:01 mysql-bin.000047
-rw-r–r-- 1 root root 184184832 Sep 20 08:04 mysql-bin.000048
-rw-r–r-- 1 root root 2 Sep 20 09:35 purged.index
-rw-r–r-- 1 root root 524288224 Sep 20 09:37 mysql-bin.000025
-rw-r–r-- 1 root root 1258 Sep 20 09:37 mysql-bin.index
-rw-r–r-- 1 root root 524288767 Sep 20 09:37 mysql-bin.000026
-rw-r–r-- 1 root root 23 Sep 20 09:37 mysql-bin.000001
解决:drop 释放 binlog 服务,然后指定timestamp重新抽取