记自动化测试发现的一个因表空间不足引发的BUG

文章描述了一个BS架构项目中,使用SQLServer数据库的系统在发送内部交流消息时遇到的问题,表现为消息在前端未显示。经分析,原因是数据库空间不足,记录无法插入。作者强调了在复杂系统中,理解业务逻辑和资源管理的重要性。
摘要由CSDN通过智能技术生成
0  背景介绍

    这是一个BS架构的项目,数据库是SQL Server,前端浏览器呈现数据,操作数据。

1  现象介绍

    功能为发送消息,类似广播,相关人员在系统中都可以接收到。之前功能都正常,这两天跑自动化测试时,发现测试不通过。

    即:WO中的内部交流,用户A发送后,在编辑界面可以看到已发送内容;在内部交流小部件上未显示内容,切换WO或刷新,又显示正常。

    通过调用浏览器F12打开开发调试模式,未发现有报错,但发现少了一个接口请求。

2  重现

    此问题在开发测试环境中出现,后在生产预发布环境中去验证,但未重现。两套环境的代码完全相同,部分配置文件、硬件环境、数据库环境不同。

3  分析

  检查数据库日志,发现有报错:   

Foresight.Standard.Data.FIDbException:
“Could not allocate space for object 'dbo.MESSAGES_USER'.'idx_msgid_useriid' in database 'FORESIGHT_FLV_IICON004' 
because the 'PRIMARY' filegroup is full.
Create disk space by deleting unneeded files, dropping objects in the filegroup, 
adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.”

  原来发送内部交流信息,在信息发送后,会计算有哪些用户会收到,数据库会插入相应的记录到表中,然后再在前端获取呈现;

  出现问题的原因是数据库对应表的空间不足,导致记录插入不进去,走不到下一步,所以前端页面上没有显示发送内容。

4  后记

    现在的系统架构越来越复杂,数据库、缓存、中间件、WEB服务器、前端、网络、消息管理队列等,当出现问题时,排查难度也增加,但只要理清业务逻辑、程序逻辑、对资源、日志有监控,处理起来也会事半功倍。

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zljun8210

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值