开发者社区 > 大数据与机器学习 > 实时数仓 Hologres > 正文

Hologres为什么 有时候会有这个read-only的报错 概率很低 但是已经看到过好几次了?

Hologres为什么 有时候会有这个read-only的报错 概率很低 但是已经看到过好几次了e50e55afc736dd1bad79678eb8538df6.png

展开
收起
真的很搞笑 2023-11-12 11:10:49 135 0
2 条回答
写回答
取消 提交回答
  • 常见问题
    Resharding是个比较复杂的过程,涉及到创建临时表、修改原始表只读状态、写入目标表、更换表名称和记录同步状态等多个环节,如果中间环节因为某些原因出现异常,可能造成系统状态不确定等问题,可通过以下方法进行排查。

    当出现internal error: Get rundown is not allowed in recovering state.异常时,说明当前正在更新的表处于Read Only状态,不能执行Insert、Update、Delete等操作,此时需要退出Read Only状态。

    执行如下命令检索当前处于Read Only状态的表。

    select * from hologres.hg_table_properties where property_key ='readonly' and property_value='true';
    执行如下命令退出Read Only状态。

    call set_table_property('','readonly','false');
    table_name为需要退出Read Only状态的表名称。https://help.aliyun.com/zh/hologres/user-guide/user-guide-of-table-groups-and-shard-counts?spm=a2c4g.11186623.0.i26

    2023-11-12 16:38:50
    赞同 1 展开评论 打赏
  • 这个read-only报错可能是由于以下原因导致的:

    1. 数据库连接问题:可能是由于网络连接不稳定或数据库服务器出现故障,导致暂时无法写入数据。
    2. 权限问题:可能是由于当前用户没有足够的权限进行写入操作,而只具有读取权限。
    3. 并发冲突:在高并发的情况下,多个客户端同时尝试写入数据时,可能会导致竞争条件,从而导致read-only报错。
    4. 配置错误:可能是由于数据库配置不正确或参数设置错误,导致写入操作被限制为只读模式。

    为了解决这个问题,您可以尝试以下方法:

    1. 检查数据库连接是否正常,确保网络连接稳定,并且数据库服务器正常运行。
    2. 确保当前用户具有足够的权限进行写入操作,如果需要,可以联系数据库管理员进行权限设置。
    3. 如果问题出现在高并发情况下,可以考虑优化数据库的并发控制机制,例如使用事务或锁定机制来避免竞争条件。
    4. 检查数据库的配置和参数设置是否正确,特别是与写入操作相关的参数,如读写分离、事务隔离级别等。

    如果以上方法都无法解决问题,建议联系Hologres官方支持团队获取更详细的帮助和支持。

    2023-11-12 13:57:12
    赞同 展开评论 打赏

本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975

相关产品

  • 实时数仓 Hologres
  • 相关电子书

    更多
    实时数仓Workshop(广州站)- 李佳林 立即下载
    阿里云实时数仓Hologres技术揭秘2.0 立即下载
    实时数仓Hologres技术实战一本通2.0版(下) 立即下载