当前位置: 首页 > news >正文

记录工作中遇到的关于更新丢失商品超开的一个坑

场景:
工作中使用MybatisPlus以及Oracle进行数据库操作,收到RocketMQ消息开始并发分摊不同清货单的商品的批次,并对商品更新冻结数量。

上线后频繁出现商品超库存开票问题。(还好是内部业务,人工替换批次记账即可)
当询问组长时,组长说不可能有这种问题。确实,放在MySQL中RR隔离级别确实不会出现这种问题。
询问另一位领导时,说我学艺不精,并告诉我MyBatisPlus会自动帮我们管理事务,不用加for update。
Oracle默认隔离级别是RC,MySQL默认隔离级别是RR。
RC级别会出现更新丢失问题,导致冻结数量<开票数量,进而导致超开。
事实上,底层还有一个复用的记账方法也没加for update,导致了两张库存表不一致的问题。

自从上线以来,好几个月,修单子修得人都麻了。属实是刻骨铭心的记忆了。

http://www.lryc.cn/news/403862.html

相关文章:

  • 形状之美:WebKit中CSS形状的实现与创新
  • 项目管理进阶之RACI矩阵
  • docker: No space left on device处理与迁移目录
  • 设计模式使用场景实现示例及优缺点(结构型模式——外观模式)
  • Artix7系列FPGA实现SDI视频编解码+UDP以太网传输,基于GTP高速接口,提供工程源码和技术支持
  • 加拿大上市药品查询-加拿大药品数据库
  • qt自定义控件(QLabel)
  • 阿里云国际站:海外视频安全的DRM加密
  • 【Apache Doris】周FAQ集锦:第 15 期
  • verilog实现ram16*8 (vivado)
  • 框架使用及下载
  • 通用图形处理器设计GPGPU基础与架构(四)
  • 会Excel就会sql?
  • MyBatis-Plus的几种常见用法
  • 【LeetCode】day15:110 - 平衡二叉树, 257 - 二叉树的所有路径, 404 - 左叶子之和, 222 - 完全二叉树的节点个数
  • 【网络安全的神秘世界】Error:Archives directory /var/cache/apt/archives/partial is missing.
  • 网络编程中的TCP和UDP
  • 基于python的时空地理加权回归(GTWR)模型
  • 什么是单例模式,有哪些应用?
  • adb命令操作手机各种开关
  • 【分布式存储系统HDFS】架构和使用
  • Linux 实验一Linux系统安装
  • 【人工智能】深度剖析AI伦理:强化隐私防线,推动算法公平性的核心议题
  • 如何解决微服务下引起的 分布式事务问题
  • 牛客周赛50轮+cf955+abc363
  • 【MySQL】:对库和表的基本操作方法
  • Library not found for -lstdc++.6.0.9
  • 防火墙之双机热备篇
  • 终端里面ifconfig命令无法运行
  • 掌握Python中的文件序列化:Json和Pickle模块解析