在MongoDB副本集的测试中发现了一个丢数据的案例。
1. 概要描述
测试场景为:一主一从一验证
测试案例
step1 :关闭从副本;
step 2 ;向主副本中插入那条数据;
step 3 :关闭主副本;
step 4 :开启辅助副本,此副本升级为主副本,这是后会看到新的主副本没有刚才插入的几笔数据。
----测试时,请注意测试步骤。
step 5 :原主节点 再次加入到集群中后,会变成新的辅助副本。测试插入的数据会产生回滚。
2. 具体的测试步骤
(1)测试服务器,原测试环境
主Server:Port
副Server:Port
见证Server:Port
XXX.XXX.XXX.124:27220
XXX.XXX.XXX.123:27221
XXX.XXX.XXX.134:27220
(2)测试步骤
Step 1 向主数据库(XXX.XXX.XXX.124:27220),插入以下数据,执行时间要长一些。
for(var i = 0; i < 100000; i++) { db.order0522.insert({a: i});};
Step 2 在上述命令执行的过程中,关于副主Server上的mongodb服务,服务命名为mongodboplogtest.service
systemctl stop mongodboplogtest.service
Step 3.查询主副本上数据库insert的数据量,为100000.命令完全插入。
Step 4.关闭主副本上的Mongodb 服务,服务命名为mongodboplogtest.service
systemctl stop mongodboplogtest.service
Step 5 开启辅助节点上的MongoDB服务
systemctl start mongodboplogtest.service
step 6 此时辅助节点(XXX.XXX.XXX.123)升级为主节点,此时数据为30337(100000-30337 笔记录丢失了)
此时 124 (原主节点)为"stateStr" : "(not reachable/healthy)"
step 7 开启原主节点上的服务,集群的状态,关于原主节点的描述短暂处于"stateStr" : "ROLLBACK"
step 8 回滚后,状态变为"stateStr" : "SECONDARY"
step 9 查询原主节点数据,此时数据量为30337(100000-30337 笔也记录丢失了)
3.丢失的数据是否可以找到
我们发现,重启原主节点(XXX.XXX.XXX.124)mongodb服务后,在数据目录下多了一个rollback 目录。
重启前的数据目录
重启后的数据目录
进去这个目录后,我们看到生成了一个以数据库+集合名字+时间的 bson 文件。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 齐秦·谢彩妘《燃烧爱情》2016[WAV分轨]
- 陈慧娴《永远是你的陈慧娴》特别版MQS[FLAC][1.7G]
- 孙露《情调私语+我的歌》3CD[WAV+CUE][1.6G]
- 陈宁《你忙我忙+青春未央+那天晚上》3CD[WAV+CUE][1.5G]
- 黑帝斯哈迪斯2全武器和工具介绍 黑帝斯哈迪斯2全武器和工具图文指南
- 黑帝斯哈迪斯2流派玩法推荐 黑帝斯哈迪斯太难了怎么玩
- 黑帝斯哈迪斯2流派推荐 黑帝斯哈迪斯2雷冰法阵流构筑分享
- 林忆莲1999-铿锵玫瑰(豪华版)[滚石][WAV+CUE]
- [In-AkustikINAK7505]ReferenceSoundCheck(2014)[GermanyHQCD][WAV+CUE]
- 林淑蓉1990-古典新情2CD[名冠日本版国语][WAV+CUE]
- 黑帝斯哈迪斯2流派玩法推荐 黑帝斯哈迪斯太难了怎么玩
- 黑帝斯哈迪斯2流派推荐 黑帝斯哈迪斯2雷冰法阵流构筑分享
- 鸣潮秧秧声骸怎么选择 秧秧声骸搭配及词条选择攻略
- 藍井エイル《AUBE》[WAV+CUE]
- 潘盈.1993-旧情绵绵【名将】【WAV+CUE】