原文:一次读锁重入导致的死锁故障

在两天前第一次遇到自己的程序出现死锁, 我一直非常的小心使用锁,了解死锁导致的各种可能性, 这次的经历让我未来会更加小心,下面来回顾一下死锁发生的过程与代码演进的过程吧。 简述业务背景及代码演进过程 我的程序中有一块缓存,数据会组织好放到内存中,会根据数据源 MySQL 更新而刷新缓存,是读多写少的应用场景。 内存中有一个很大数据列表,缓存模块会按数据维度进行分组,每次访问根据维度查找到这个列表里 ...

2018-12-26 10:27 0 650 推荐指数:

查看详情

一次keepalived和VIP导致故障

起因 nginx服务器采用的keepalived+vip实现的双活,最近由于一台服务器有问题,更换了一台nginx: 操作: 停止有问题服务器keepalived和nginx 新服务器 ...

Thu Aug 27 18:33:00 CST 2020 0 1438
golang RWMutex RLock重入导致死锁

现象 一个组件实现了raft分布式协议,在分布式部署环境中来进行选主,在某客户现场突然发生文件句柄泄露,在打印某些错误日志后,几个小时内没有日志打印,然后某个协程突然报无可用的文件句柄。 分析 ...

Fri Apr 09 19:59:00 CST 2021 0 315
一次MySQL死锁

记录一次MySQL表无法访问 ​ 在一次真实的开发测试中突然发现数据库中订单表 select、update、delete 没有丝毫反应。以为是服务器性能过低导致MySQL进程执行过慢,但是等待10分钟订单表依然毫无反应,更奇怪的是其他表都可正常操作数据。这时我觉得是订单表坏了,想把订单表drop ...

Mon May 31 02:10:00 CST 2021 0 23711
一次断电偶然导致Linux磁盘I/O故障无法读写

机房偶然的一次断电中,恢复服务器后出现了 无法读写磁盘。 其他挂载的磁盘均无异常 查询日志得知 磁盘挂了。。。 我单纯的以为 可能是系统I/O异常 就reboot 重启了。 发现无法进入系统, 又报 BIOS 异常,又报无法找到启动盘 我晕了。 调整思路 ...

Tue Oct 13 01:42:00 CST 2020 0 1900
一次Mysql 死锁事故

故障描述: 简单描述一下需求:我们写的一个计步器的客户端软件,用户通过手机客户端将用户的运动计步信息传到服务器。 服务器侧记录每个用户每次上传明细,同时每个用户有一个汇总值,参与全省排名。 1.加入明细记录方法 2.更新统计值(上面明细添加成功后,将实体返回,更新统计值 ...

Wed Jan 15 05:58:00 CST 2014 2 8567
一次逻辑卷磁盘故障导致逻辑卷不可用的问题

生产中一块磁盘故障,由于没有在系统中先通过--removemissing 操作,直接热插拔,做了raid 系统无法重启,进入救援模式,注释掉受影响的磁盘挂载点,重启进入系统之后,做了如下操作 # parted /dev/sdd mklabel gpt 首先是将新盘设置成gpt格式 ...

Tue Jul 07 00:19:00 CST 2020 0 1238
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM