成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

日常Bug排查-應用Commit報錯事務并沒有回滾

運維 數據庫運維
日常Bug排查系列都是一些簡單Bug排查,筆者將在這里介紹一些排查Bug的簡單技巧,同時順便積累素材_。

[[405728]]

日常Bug排查系列都是一些簡單Bug排查,筆者將在這里介紹一些排查Bug的簡單技巧,同時順便積累素材_。

應用Commit報錯并不一定回滾

事實上,這篇文章并沒有什么排查過程。但這個問題卻又是筆者經常遇到的。

筆者僅僅是想闡述一下當我們在事務Commit報錯時候,數據庫中的數據并不一定會是我們以為的回滾狀態。筆者舉個例子:

在這種情況下,很明顯的DB的數據肯定是處于已經提交的狀態。而如果App認為是回滾狀態,并基于這個信息去做操作的話,很明顯會導致數據不一致。

非IO or 超時異常 也不一定回滾

可能有人會問了,是不是僅僅是IO異常或者超時異常才會出現這種不一定回滾的問題呢?這里還真不一定,筆者在一次Case中,就發現Oracle在commit的時候返回死鎖異常時候,數據庫內部的commit竟然也成功了!這就牽涉到數據庫內部的處理了。

應用應該怎么做呢?

事實上,由于數據庫保證了原子性。所以我們在遇到這種情況時候,需要從數據庫中重建狀態,而不是依賴現在應用里面的信息。所以遇到異常直接將流程結束,然后等定時任務等補單操作是個比較簡單安全的做法。

當然,數據庫中重建狀態時候,也要考慮到上一個相應的commit還在commit的過程中,只不過這個commit非常慢而已。由于我們更新數據或者最終判斷的時候往往會鎖住數據,而數據庫一般都是采用了二階段鎖(S2PL)。

在上一個commit成功提交之后,我們對相應數據的操作才會執行下去。所以只要小心的控制好鎖的范圍,數據一致性還是能保證的。

總結

Commit報錯但事務并沒有回滾,這個雖然有點反直覺,但這確是在產線真實存在的,尤其在數據庫壓力大的時候極易出現。這個坑在我們編寫代碼的時候需要牢記!

本文轉載自微信公眾號「解Bug之路」,可以通過以下二維碼關注。轉載本文請聯系解Bug之路公眾號。

 

責任編輯:武曉燕 來源: 解Bug之路
相關推薦

2021-06-07 09:37:05

異常Bug排查

2009-02-17 09:11:42

Unix時間錯誤

2023-08-28 08:24:07

myloaderMySQLGreatSQL

2013-05-06 09:19:36

云應用趨勢云服務云管理工具

2009-02-19 20:25:34

SunSolaris發展趨勢

2011-09-23 09:42:25

2018-12-18 09:20:06

2021-06-04 11:33:50

消息技巧排查

2022-07-11 12:37:15

安全運營網絡攻擊

2020-12-14 09:35:20

CentOSRockyLinux

2020-11-04 10:33:19

數據

2024-05-13 10:21:43

Bug排查TCP

2025-03-27 15:21:59

2016-02-15 09:52:21

虛擬現實

2009-07-20 18:11:52

iBATIS事務Spring

2015-08-27 09:43:00

開發者移動應用

2017-11-10 09:00:02

Linux桌面版市場占有率

2013-01-06 13:45:14

2010-05-19 09:15:31

云計算

2009-03-24 14:16:14

LinuxWindows多核芯片
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人99久久亚洲综合精品 | 亚洲精品电影在线观看 | 欧美成人一区二区三区片免费 | av综合站| 免费的色网站 | 欧美一区二区三区免费电影 | 国产1区| 久色激情 | 一区二区三区欧美 | 九九热这里| 91视频一区二区 | 成人午夜视频在线观看 | 欧美一级片在线播放 | www.亚洲一区 | 欧美夜夜 | 91私密视频 | 免费a大片 | 久久精品一区二区三区四区 | 国产一区二区三区四区hd | 国产成人在线播放 | 视频一区二区在线 | 91大神xh98xh系列全部 | 国产精品视频在线播放 | 在线观看av网站永久 | 99福利视频导航 | 狠狠色狠狠色综合系列 | 国产精品伦一区二区三级视频 | 欧美一级观看 | 国产精品一区二区在线免费观看 | www日日日| 欧美中文在线 | 亚洲一二三视频 | 中文字幕av网 | 婷婷福利| 日韩欧美中文 | 中文字幕不卡视频在线观看 | 一区二区三区四区在线免费观看 | 羞羞视频免费观看 | 一区二区三区视频在线免费观看 | 一级欧美一级日韩片免费观看 | 91久久精品国产 |