01
报错概述
近日,在版本为8.6.2.33 R26 版本发现数据库存在系统误删event 问题。
02
分析思路
某天学习,其中一台主机由于硬件问题,主机数据库服务不正常。
在启动服务器后event恢复期间,发现停机节点有部分表分片丢失或者和备分片数据不一致问题。在此期间做的操作有创建表,删除表视图。但后续用到此表时发现分片数据不存在报错,或者主备分片数据不一致。
顺着操作思路有以下复现场景的方案:
1. 在集群正常的情况下create view 操作 (该表视图是存在的);
2. 模拟宕机,即服务状态不正常,offline或者是close .登录gn主机进行service gcware stop;
3. 宕机后delete 数据,使其产生event信息.再去删除event对应表的视图.发现event已被清除;
gccli -uroot
use test;
delete from test.test1;
drop view if exists test2.test1 ; #这个表dmlevent 直接被清空!!
use test2;
drop view if exists test2.test1 ; #这个表dmlevent 会被保留!!,主备节点数据一致
4. 机器恢复后,登录至gncli 进行count分片,发现模拟宕机节点主备分片数据不一致。
03
解决方案
鉴于当前的状况,有两个方法:
方法一:升级集群版本;
方法二: 如果不升级,可以在执行drop view if exists xxxx.test2语句前,用use xxxx进行数据库切换,可以避开这个问题。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129690.html
摘要:原文使用总结事件模型及其原理就是事件实现的核心,它可以让对象拥有事件能力对象通过侦听其他对象,通过触发事件。可以脱离的,在自定义的对象上使用事件执行结果的和等核心类,都是继承自的。在内部使用事件基类的完成这个动作。 开始在项目中大规模使用backbone,一路磕磕碰碰,边做边学习边体会,有一些心得和体会,记录在本文中。原文:Backbone使用总结 事件模型及其原理 Backbon...
摘要:此文研究中的拖放接口,提供各个属性和方法的说明,解决拖放过程中的拖拽数据对象存储和获取问题。方法增加一个拖拽数据对象到属性中,并返回增加的拖拽数据对象。若拖拽数据对象是文本字符串类型,通过回调函数获取拖拽数据中的字符串数据。 此文研究Web API中的拖放接口,提供各个属性和方法的说明,解决拖放过程中的拖拽数据对象存储和获取问题。 拖放API作用到两个目标对象,分别是拖拽目标对象和放置...
摘要:默认为选择上传的文件数超出了允许的最大限制。在这种情况下,每一个人选择的文件被上传成功后,触发事件。此事件仅在上传和完成同步或异步批量上传后触发。 下载地址、API和DOM地址(英语好的小伙伴可以看看) 下载地址:https://github.com/kartik-v/b...API文档 :http://plugins.krajee.com/fil...D E M O:http://p...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4099·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3594·2023-01-11 13:20