朝暾
#1
【 使用环境 】测试环境
【 OB or 其他组件 】oceanbase 4.2.5.2 ocp 4.3.5
【 使用版本 】
【问题描述】通过ocp进行如下操作:原来集群为1-1-1架构,新添加zone4,选择某租户增加只读副本,
对于只读副本,按照官网的描述只提供读的能力,不提供写的能力,但是实际测试时直连observer只读副本执行delete操作是可以的。这是否是正常?是oceanbase集群自身实现请求转发到主节点了?

【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
论坛小助手
#3
用户问题: “在 OCP 管理的 OceanBase 4.2.5.2 测试环境中为某个租户新增了一个 zone4 的只读副本。但是,在测试时发现能够直接连接到该只读副本并成功执行了 delete 操作。这种情况是否属于正常行为?如果属于正常行为,OceanBase 是否会自动将这类操作请求转发给主节点处理?”
针对您提到的现象,通常情况下,只读副本是不允许执行写操作的,例如 delete。但是,您能够直接连接到只读副本并执行 delete 操作说明可能配置或权限设置上存在某些特殊情况。为了进一步诊断这个问题,建议使用 obdiag 工具进行日志采集,这样可以帮助我们确认具体的配置和行为细节。
日志采集场景: unit迁移/缩小 副本不均衡问题
日志采集命令: obdiag gather scene run --scene=observer.unit_data_imbalance
请按照上述命令执行日志采集,并将采集到的日志文件提供给我们以便于更深入地分析问题。此外,请您提供以下信息以便我们更好地帮助您:
- 请确认只读副本的配置信息,特别是关于读写权限的部分。
- 执行 delete 操作时的具体命令及其返回结果。
- 当前环境中的租户配置详情,尤其是与只读副本有关的设置。
- 如果可能的话,提供 OCP 中与这个只读副本相关的日志记录。
附上敏捷诊断工具 obdiag 使用帮助链接
辞霜
#5
explain route +sql语句看下具体的执行计划
来轩
#7
你直连的是只读副本的节点,执行delete操作,请求会路由到主副本所在的节点,执行计划上看是远程执行计划