Open yanming-zhang opened 3 weeks ago
目前 OceanBase 的 Binlog 服务里只处理了 WRITE_ROWS_EVENT = 30
,我看了下 go-mysql 里的类型定义,应该是对应着 WRITE_ROWS_EVENTv2 的。
https://github.com/oceanbase/oblogproxy/blob/v4/src/binlog/oblogevent_type.h
您是用的哪个版本的 OceanBase 和 oblogproxy 组件,以及能确认 panic 的逻辑在 go-mysql 哪部分吗?
目前 OceanBase 的 Binlog 服务里只处理了
WRITE_ROWS_EVENT = 30
,我看了下 go-mysql 里的类型定义,应该是对应着 WRITE_ROWS_EVENTv2 的。 https://github.com/oceanbase/oblogproxy/blob/v4/src/binlog/oblogevent_type.h您是用的哪个版本的 OceanBase 和 oblogproxy 组件,以及能确认 panic 的逻辑在 go-mysql 哪部分吗?
我用的Oceanbase版本是:4.2.4
因为我采用goInception做binlog订阅,并基于它生成操作语句回滚,比如,我在做insert的时候,应该是走到这个分支的: https://github.com/hanchuanchuan/goInception/blob/master/session/parser.go#L338 但始终走不到这里
还有一个问题,obproxy 与 oblogproxy,两者有什么区别? 因为我们这边正在试用oceanbase企业版,我不是很了解
还有一个问题,obproxy 与 oblogproxy,两者有什么区别? 因为我们这边正在试用oceanbase企业版,我不是很了解
oblogproxy 是组成 Binlog 服务的组件之一,主要做了拉取 clog 和转换 clog 为 binlog 格式文件这两件事,obproxy 也是 Binlog 服务的组件之一,它本身提供 mysql 协议的通信,通常用作流量代理,在 Binlog 服务里又多了一个解析 mysql binlog 相关命令的工作。https://www.oceanbase.com/docs/community-oblogproxy-doc-1000000001493741#1-title-%E4%BA%A7%E5%93%81%E9%A1%BB%E7%9F%A5
上面提到的 binlog 事件类型跟 oblogproxy 比较相关,不过我们其实是对 goInception 做过回滚的兼容测试的,当时没有遇到这个不产生 wirte rows event 的问题。鉴于您用的是企业版的服务,您可以通过相关的技术支持反馈一下这个问题,让相关的研发或测试同学结合环境排查一下。
我在使用https://github.com/go-mysql-org/go-mysql这个开源项目做实时订阅binlog的时候,发现Oceanbase无法识别以下事件: WRITE_ROWS_EVENTv1 WRITE_ROWS_EVENTv2
When I used the open source project https://github.com/go-mysql-org/go-mysql to subscribe to binlog in real time, I found that Oceanbase could not recognize the following events: WRITE_ROWS_EVENTv1 WRITE_ROWS_EVENTv2