精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Dubbo 2.7.12 bug導致線上故障

開發 前端
最近某天的深夜,剛洗完澡就接到業務方打來電話,說他們的 dubbo 服務出故障了,要我協助排查一下。

本文轉載自微信公眾號「捉蟲大師」,作者捉蟲大師。轉載本文請聯系捉蟲大師公眾號。

背景

最近某天的深夜,剛洗完澡就接到業務方打來電話,說他們的 dubbo 服務出故障了,要我協助排查一下。

電話里,詢問了他們幾點

  • 是線上有損故障嗎?——是
  • 止損了嗎?——止損了
  • 有保留現場嗎?——沒有

于是我打開電腦,連上 網絡看問題。為了便于理解,架構簡化如下

只需要關注 A、B、C 三個服務,他們之間調用都是 dubbo 調用。

發生故障時 B 服務有幾臺機器完全夯死,處理不了請求,剩余正常機器請求量激增,耗時增加,如下圖(圖一請求量、圖二耗時)

問題排查

由于現場已被破壞,只能先看監控和日志

  • 監控

除了上述監控外,翻看了 B 服務 CPU 和內存等基礎監控,發現故障的幾臺機器內存上漲比較多,都達到了 80% 的水平線,且 CPU 消耗也變多

這時比較懷疑內存問題,于是看了下 JVM 的 fullGC 監控

果然 fullGC 時間上漲很多,基本可以斷定是內存泄漏導致服務不可用了。但為什么會內存泄漏,還無法看出端倪。

  • 日志

申請機器權限,查看日志,發現了一條很奇怪的 WARN 日志

  1. [dubbo-future-timeout-thread-1] WARN org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelTimeout 
  2. (HashedWheelTimer.java:651)  
  3. -  [DUBBO] An exception was thrown by TimerTask., dubbo version: 2.7.12, current host: xxx.xxx.xxx.xxx 
  4. java.util.concurrent.RejectedExecutionException:  
  5. Task org.apache.dubbo.remoting.exchange.support.DefaultFuture$TimeoutCheckTask$$Lambda$674/1067077932@13762d5a  
  6. rejected from java.util.concurrent.ThreadPoolExecutor@7a9f0e84[Terminated, pool size = 0,  
  7. active threads = 0, queued tasks = 0, completed tasks = 21] 

可以看出業務方使用的是2.7.12版本的 dubbo

拿這個日志去 dubbo 的 github 倉庫搜了一下,找到了如下這個 issue:

https://github.com/apache/dubbo/issues/6820

但很快排除了該問題,因為在 2.7.12 版本中已經是修復過的代碼了。

繼續又找到了這兩個 issue:

https://github.com/apache/dubbo/issues/8172

https://github.com/apache/dubbo/pull/8188

從報錯和版本上來看,完全符合,但沒有提及內存問題,先不管內存問題,看看是否可以按照 #8188 這個 issue 復現

issue 中也說的比較清楚如何復現,于是我搭了這樣三個服務來復現,剛開始還沒有復現。通過修復代碼來反推

刪除代碼部分是有問題,但我們復現卻難以進入這塊,怎么才能進入呢?

這里一個 feature 代表一個請求,只有當請求沒有完成時才會進入,這就好辦了,讓 provider 一直不返回,肯定可以實現,于是在 provider 端測試代碼加入

  1. Thread.sleep(Integer.MAX_VALUE); 

經過測試果然復現了,如 issue 所說,當 kill -9 掉第一個 provider 時,消費者全局 ExecutorService 被關閉,當 kill -9 第二個 provider 時,SHARED_EXECUTOR 也被關閉。

那么這個線程池是用來干什么的呢?

它在 HashedWheelTimer 中被用來檢測 consumer 發出的請求是否超時。

HashedWheelTimer 是 dubbo 實現的一種時間輪檢測請求是否超時的算法,具體這里不再展開,改天可以詳細寫一篇 dubbo 中時間輪算法。

當請求發出后,如果可以正常返回還好,但如果超過設定的超時時間還未返回,則需要這個線程池的任務來檢測,對已經超時的任務進行打斷。

如下代碼為提交任務,當這個線程池被關閉后,提交任務就會拋出異常,超時也就無法檢測。

  1. public void expire() { 
  2.     if (!compareAndSetState(ST_INIT, ST_EXPIRED)) { 
  3.         return
  4.     } 
  5.     try { 
  6.         task.run(this); 
  7.     } catch (Throwable t) { 
  8.         if (logger.isWarnEnabled()) { 
  9.             logger.warn("An exception was thrown by " + TimerTask.class.getSimpleName() + '.', t); 
  10.         } 
  11.     } 

到這里恍然大悟:如果請求一直發送,不超時,那是不是有可能撐爆內存?于是我又模擬了一下,并且開了 3 個線程一直請求 provider,果然復現出內存被撐爆的場景,而當不觸發這個問題時,內存是一直穩定在一個低水平上。

這里我用的 arthas 來看的內存變化,非常方便

得出結論

在本地復現后,于是跟業務方求證一下,這個問題復現還是比較苛刻的,首先得是異步調用,其次 provider 需要非正常下線,最后 provider 需要有阻塞,即請求一直不返回。

異步調用得到業務方的確認,provider 非正常下線,這個比較常見,物理機的故障導致的容器漂移就會出現這個情況,最后 provider 有阻塞這點也得到業務方的確認,確實 C 服務有一臺機器在那個時間點附近僵死,無法處理請求,但進程又是存活的。

所以這個問題是 dubbo 2.7.12 的 bug 導致。翻看了下這個 bug 是 2.7.10 引入, 2.7.13 修復。

復盤

差不多花了1天的時間來定位和復現,還算順利,運氣也比較好,沒怎么走彎路,但這中間也需要有些地方需要引起重視。

  • 止損的同時最好能保留現場,如本次如果在重啟前 dump 下內存或摘除流量保留機器現場,可能會幫助加速定位問題。如配置 OOM 時自動 dump 內存等其他手段。這也是本起事故中不足的點
  • 服務的可觀測性非常重要,不管是日志、監控或其他,都要齊全。基本的如日志、出口、進口請求監控、機器指標(內存、CPU、網絡等)、JVM 監控(線程池、GC 等)。這點做的還可以,基本該有的都有
  • 開源產品,可從關鍵日志去網絡查找,極大概率你遇到的問題大家也遇到過。這也是這次幸運的點,少走了很多彎路

【責任編輯:武曉燕 TEL:(010)68476606】

 

責任編輯:武曉燕 來源: 捉蟲大師
相關推薦

2021-03-11 00:27:42

Windows 10Windows微軟

2021-07-04 22:29:12

MySQL死鎖云日志

2021-05-12 09:15:48

Facebook 開發技術

2021-04-13 17:17:08

線上故障交付

2025-02-13 07:00:00

Dubbo-goJava服務端

2021-06-11 21:25:45

Dubbo源碼機制

2022-12-22 17:46:19

2022-02-07 15:12:17

系統日志定位

2018-03-26 11:14:13

程序猿bug代碼

2019-03-29 10:22:08

Linux系統故障技巧

2020-05-18 07:50:47

線上故障排查

2024-06-11 00:04:00

對象AdvisorAdvice

2023-11-29 14:20:16

iOS 17Bug蘋果

2022-07-01 08:14:28

Dubbo異步代碼

2024-03-26 09:29:27

MySQLDDL

2022-07-22 15:38:40

Teams服務癱瘓服務器

2012-11-20 10:49:52

2012-07-02 09:55:28

閏秒技術故障

2021-05-19 14:03:48

磁盤故障

2021-10-16 17:51:49

通信
點贊
收藏

51CTO技術棧公眾號

欧美熟妇一区二区| 久久久久久久久网| 午夜视频网站在线观看| 一区二区三区日本久久久| 亚洲毛片av在线| 不卡日韩av| 在线精品免费视| 不卡视频在线| 日韩亚洲欧美综合| 2018中文字幕第一页| 少妇av在线播放| 久久成人精品| 日韩在线视频一区| 两性午夜免费视频| 9999在线视频| 久久久久久久综合色一本| 国产精品美女免费看| 午夜国产福利一区二区| 丁香婷婷成人| 欧日韩精品视频| 亚洲三区在线| 亚洲AV无码成人片在线观看 | 91精品国产乱码久久久久久久久| 欧美在线91| 精品乱码一区内射人妻无码| 国产精品一品| av在线不卡网| 国产日产亚洲精品| 日本少妇bbwbbw精品| 欧美老女人另类| 日韩欧美在线影院| 亚洲熟妇国产熟妇肥婆| 国产经典自拍视频在线观看| 国产精品2024| 97香蕉超级碰碰久久免费软件| 永久免费av无码网站性色av| 国产主播性色av福利精品一区| 欧美色图片你懂的| www在线观看免费| 欧美成人三区| 欧美国产一区视频在线观看| 国产无套精品一区二区| 91肉色超薄丝袜脚交一区二区| 综合激情婷婷| 亚洲视频999| 日韩精品国产一区| 91精品一区| 日本道精品一区二区三区| 日韩网站在线免费观看| 黄视频网站在线| 国产片一区二区| 久久精品日产第一区二区三区| 精品国产一级片| 国产亚洲午夜| 日韩中文字幕视频| 国产肉体xxxx裸体784大胆| 麻豆一区在线| 欧美日韩黄色一区二区| 北条麻妃69av| 24小时免费看片在线观看| 国产精品福利在线播放| 国产女主播一区二区| 国产精品视频在线观看免费| 久久电影网站中文字幕| 久久久久女教师免费一区| 午夜写真片福利电影网| 欧美日韩在线二区| 亚洲性视频网址| 丰满圆润老女人hd| 九九热线有精品视频99| 亚洲精品久久久久中文字幕二区| 亚洲麻豆一区二区三区| 亚洲精品在线a| 91成人免费网站| 亚洲国产精品毛片av不卡在线| 美女在线视频免费| 亚洲自拍偷拍欧美| 欧洲大片精品免费永久看nba| 综合电影一区二区三区| 亚洲国产精品一区二区第一页 | 午夜欧美视频在线观看| 99国产精品白浆在线观看免费| 亚洲伦理在线观看| 少女频道在线观看免费播放电视剧| 成人18视频日本| 国产欧美精品一区二区三区| 午夜在线视频免费| 久久久国产精华| 亚洲 国产 欧美一区| 免费在线观看av网站| 自拍偷拍亚洲激情| 婷婷五月综合缴情在线视频| 羞羞的视频在线看| 亚洲成在人线免费| 免费在线a视频| 欧美精品日日操| 欧美日韩在线免费视频| www.色.com| 极品尤物一区| 亚洲视频国产视频| www.毛片com| 一区二区动漫| 国产综合福利在线| 亚洲精品国产手机| 久久九九全国免费| 午夜探花在线观看| 91资源在线观看| 天天综合色天天综合色h| 日韩欧美xxxx| 精品国产一区二| 国产视频精品xxxx| 国产第一页浮力| 亚洲女同同性videoxma| 国产欧美一区二区三区在线看 | 91啦中文在线| 亚洲视频一二区| 人妻精品无码一区二区三区| 国产情侣一区二区三区| 日韩欧美国产综合一区 | 999在线精品| 在线视频亚洲欧美| 亚洲精品视频在线观看免费视频| 美女视频黄 久久| 激情视频在线观看一区二区三区| 欧美视频久久久| 国产精品成人免费| 午夜肉伦伦影院| 日韩激情精品| 尤物精品国产第一福利三区| 精品少妇一二三区| 爽爽淫人综合网网站| 福利视频一区二区三区| 日本美女高清在线观看免费| 激情成人中文字幕| 中文字幕avav| 久久一区二区三区喷水| 欧美一级大片在线观看| www.蜜臀av.com| 国产精品久久久久久久浪潮网站| 久久久久久久久久伊人| 日韩欧美看国产| 亚洲激情视频在线| 神马久久精品综合| 美女任你摸久久| 欧美在线视频一区二区三区| 手机av在线| 欧美精品一区二区三区视频 | 福利在线播放| 欧美在线综合视频| 少妇视频一区二区| 精品一区在线看| 成人免费看片视频在线观看| 精品视频一二| 久久久久久久影院| 手机看片1024日韩| 欧美性色视频在线| 公侵犯人妻一区二区三区| 美女诱惑黄网站一区| 日本一区二区三区视频在线播放| 亚洲综合在线电影| 一色桃子一区二区| 99热这里只有精品9| 亚洲精品国产a久久久久久| 国产大学生av| 日韩一级大片| 无码免费一区二区三区免费播放| 国产成人精品一区二区三区视频 | 亚洲白虎美女被爆操| 97超碰人人干| 国产免费成人在线视频| 手机av在线网| 极品av少妇一区二区| 精品一区在线播放| 国产亚洲精彩久久| 中文字幕久精品免费视频| 国产女人18毛片18精品| 亚洲综合一区二区三区| 久久无码人妻精品一区二区三区 | 日本a级片电影一区二区| 黄色网址在线播放| 欧美精品丝袜中出| 国产亚洲欧美精品久久久久久| 91最新地址在线播放| 亚洲高清在线免费观看| 一区二区在线影院| 国外成人免费视频| 欧美亚洲人成在线| 欧美精品videossex88| 国产黄色片在线观看| 欧美一区二区三区在线电影| 色婷婷av国产精品| 中文字幕一区二区三区乱码在线| 国产一级免费片| 青青草91视频| av高清在线免费观看| 色婷婷一区二区三区| 国产三区二区一区久久| 国产91亚洲精品久久久| 97久久国产精品| 久久精品视频观看| 亚洲色图色老头| 成人毛片在线免费观看| 欧美色综合网站| 久久久久久久久久免费视频| 中文字幕乱码亚洲精品一区| 日本精品一二三区| 久草在线在线精品观看| 日本久久久精品视频| 欧美成人首页| 亚洲一区二区免费视频软件合集| 理论片一区二区在线| 亚洲综合视频1区| 成人黄色毛片| 日本久久精品视频| 3344国产永久在线观看视频| 久久在精品线影院精品国产| 精品视频二区| 亚洲精品二三区| 国产福利视频导航| 欧美日韩国产bt| 免费观看日批视频| 精品国产福利在线| 日韩av在线播| 亚洲高清不卡在线观看| 亚洲一级生活片| 中文字幕在线视频一区| 九色porny自拍视频| 99久久国产免费看| www男人天堂| 国产成人精品免费一区二区| 美女在线视频一区二区| 日本欧美一区二区| 东京热加勒比无码少妇| 在线亚洲观看| www.av中文字幕| 91久久综合| 男人添女荫道口女人有什么感觉| 亚洲免费二区| 在线日韩av永久免费观看| 成人久久久久| 亚洲高清视频在线观看| 欧美一区二区麻豆红桃视频| 欧美性色黄大片人与善| 狠狠操综合网| 神马欧美一区二区| 久久影视一区| 日韩人妻一区二区三区蜜桃视频| 午夜精品毛片| 米仓穗香在线观看| 国产精品豆花视频| 欧美男女爱爱视频| 亚洲在线日韩| 日本成人中文字幕在线| 日韩国产欧美视频| 一级黄色录像在线观看| 精品一区二区三区在线观看国产 | 欧美成人手机在线| 伊人春色在线观看| 韩国三级日本三级少妇99| 漫画在线观看av| 日韩av123| 久久精品资源| 成人一区二区在线| 日韩深夜福利| 亚洲va韩国va欧美va精四季| 色喇叭免费久久综合网| 精品免费久久久久久久| 在线日韩av| caoporn超碰97| 黄页视频在线91| 国产不卡一二三| 久久久99精品久久| av最新在线观看| 亚洲国产日韩a在线播放性色| 国产成人精品一区二三区| 一本一本久久a久久精品综合麻豆| 国产黄网在线观看| 777午夜精品视频在线播放| 亚洲精选一区二区三区| 亚洲精品xxxx| 91在线导航| 欧美精品videossex88| 澳门av一区二区三区| 亚洲a成v人在线观看| 欧美美女啪啪| 亚洲成年人专区| 中日韩男男gay无套| 男人添女人下面免费视频| 成人自拍视频在线观看| 国内精品卡一卡二卡三| 亚洲精品国产品国语在线app| 久久夜色精品国产噜噜亚洲av| 欧美人妇做爰xxxⅹ性高电影| 神马午夜精品95| 久热爱精品视频线路一| 成人动漫一区| 亚洲最大福利视频网站| 国产精品一国产精品| 日韩专区第三页| 日韩av电影一区| 国产精品久久无码| 日韩理论片一区二区| av手机天堂网| 亚洲高清av在线| 1stkiss在线漫画| 国产精品丝袜久久久久久不卡| 极品一区美女高清| 91传媒免费视频| 另类小说欧美激情| 欧美狂猛xxxxx乱大交3| 亚洲国产日韩综合久久精品| 一区二区三区黄色片| 亚洲乱码一区av黑人高潮 | 亚洲欧美色图| 无码少妇一区二区三区芒果| av中文字幕亚洲| 九九视频免费观看| 欧美精品在线观看一区二区| 国产女主播在线直播| 孩xxxx性bbbb欧美| 98视频精品全部国产| 日韩精品一区二区三区电影| 日本成人在线视频网站| 中文幕无线码中文字蜜桃| 天天色图综合网| 亚洲精品国产片| 色综合天天狠天天透天天伊人| 99精品美女视频在线观看热舞| 日韩高清av电影| 老司机久久99久久精品播放免费| 亚洲精品久久一区二区三区777| 亚洲天堂久久久久久久| 亚洲一级视频在线观看| 国产一区二区三区免费视频| 国产超碰精品| 日韩欧美精品一区二区| 久久精品午夜| 久久成人激情视频| 91黄色在线观看| 国产精品秘入口| 国产精品免费在线免费| 日本久久精品| 国产精品一区二区小说| 国产精品美女久久久久久久久| 少妇无套内谢久久久久| 中文字幕精品在线| 日本久久二区| 久久综合亚洲精品| 国产成a人亚洲精| 日本一区二区三区四区五区| 亚洲精品成人网| 日韩免费电影| 一区二区三区视频在线播放| 久久99热这里只有精品| 五月天色婷婷丁香| 日韩精品在线网站| 手机在线观看av| 色综合久久88色综合天天提莫| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲欧美精品久久| 欧美成人在线直播| av资源中文在线天堂| 蜜桃日韩视频| 久久精品国产亚洲高清剧情介绍| 潘金莲一级黄色片| 精品国产乱码久久久久久久| 国产精品yjizz视频网| 日韩欧美视频一区二区三区四区 | 北条麻妃亚洲一区| 亚洲国产精品久久人人爱| 免费毛片在线| 国产中文字幕91| 亚洲人成在线影院| 一区二区三区在线观看免费视频| 欧美一区二区三区免费在线看| 欧美bbbxxxxx| 日韩电影免费观看高清完整| 韩国视频一区二区| 中文字幕在线观看视频网站| 伊人一区二区三区久久精品| 日韩高清在线观看一区二区| 免费黄色日本网站| 亚洲欧美在线aaa| 亚洲AV第二区国产精品| 成人午夜高潮视频| 一本色道久久| 亚洲色图100p| 亚洲精品久久久久国产| 九七电影院97理论片久久tvb| 99久久免费观看| 国产偷国产偷精品高清尤物| 精品黑人一区二区三区国语馆| 欧美在线xxx| 欧美精品aa| 欧美一区二区三区粗大| 亚洲第一在线视频| 亚洲综合资源| 精品国产成人av在线免| 亚洲国产美国国产综合一区二区| 尤物网在线观看|