跨节点访问数据错误,错误代码 1235时怎么办?

本文介绍在多节点集群中执行 SQL 跨节点访问数据时报 1235 错误的原因和解决方法。

适用版本

OceanBase 数据库 V1.4.X 版本

问题现象

在多节点集群中执行以下 SQL 报错,错误信息如下。

obclient> SELECT * FROM $table; ERROR 1235 (0A000): strong consistency across distributed node not supported

可能原因

OceanBase 数据库 V1.4.X 版本不支持全局时间戳(Global Time Stamp,GTS),因此为保证数据一致性,只要出现数据跨节点,就会提示该错误。

解决方式

通过 SQL Hint 设置查询的一致性级别为 Weak。

obclient> SELECT /* read_consistency(weak) */ * FROM $table;