精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品久久久久久久龚玥菲| 国产亚洲精品久久久久久打不开 | 国产精品久久午夜| 国产免费观看久久黄| 欧美另类视频在线观看| 色哟哟精品丝袜一区二区| 欧美日韩亚洲国产综合| 国产一区 在线播放| 韩日视频在线| 国产91高潮流白浆在线麻豆| 欧美一级成年大片在线观看 | 欧美日韩国产综合视频| 久久精品国产久精国产爱| 欧美极品少妇xxxxⅹ免费视频| 在线免费观看成年人视频| 2019中文亚洲字幕| 欧美日韩中文字幕在线视频| 视色,视色影院,视色影库,视色网| 深夜福利视频在线免费观看| 国产真实乱偷精品视频免| 91精品国产乱码久久久久久久久| 永久免费看片直接| 国产精品最新| 亚洲国内高清视频| 超碰91在线播放| 91成人抖音| 欧美日韩精品在线播放| 成人在线免费观看网址| 川上优的av在线一区二区| 成人av中文字幕| 亚洲japanese制服美女| 中文字字幕在线中文乱码| 亚洲作爱视频| 欧美激情视频免费观看| 四虎地址8848| 欧美天天综合| 亚洲欧美在线一区| 7788色淫网站小说| 大奶在线精品| 日韩女优电影在线观看| 99久久99精品| 99re8精品视频在线观看| 在线视频综合导航| 成人一区二区三| 三级在线观看视频| 黄色一区二区在线| 成人毛片一区二区| 国产美女精品写真福利视频| 亚洲一区二区三区四区在线免费观看 | 四季av日韩精品一区| 狠狠色综合日日| 91精品综合久久久久久五月天| 国产精品欧美综合| 日本不卡视频在线| 国产精品免费一区| 做爰视频毛片视频| 蜜臀av亚洲一区中文字幕| 国产精品久久久av久久久| 波多野结衣视频免费观看| 久久综合九色| 国产精品久久久久久av| 成年人晚上看的视频| 日本成人在线一区| 成人疯狂猛交xxx| 国产精品久久久久久久免费| 国产最新精品免费| 亚洲aⅴ日韩av电影在线观看 | 亚洲黄色在线看| 五月婷婷综合在线观看| 国产欧美日韩精品一区二区三区 | 在线视频中文字幕第一页| 亚洲精品国久久99热| 蜜臀在线免费观看| av人人综合网| 日韩欧美精品免费在线| 天天爽天天爽夜夜爽| 国产福利一区二区三区在线播放| 欧美日韩电影一区| 农村末发育av片一区二区| 永久免费精品视频| 日韩精品欧美激情| 日韩亚洲欧美中文字幕| 中文无码久久精品| 欧美一区二区三区图| 做爰视频毛片视频| 成人小视频在线| 日韩电影天堂视频一区二区| 欧美13一16娇小xxxx| 亚洲综合色婷婷| 久久婷婷国产精品| 国产日韩一区二区三免费高清| 精品奇米国产一区二区三区| 人妻少妇精品视频一区二区三区| 日韩在线观看| 国模吧一区二区| 中文字幕二区三区| 成人深夜福利app| 天堂资源在线亚洲资源| 色女人在线视频| 在线免费不卡电影| 国产精品欧美性爱| 日韩黄色大片| 91精品国产高清久久久久久| 97精品久久人人爽人人爽| 成人精品一区二区三区四区| 日韩一区不卡| av丝袜在线| 91精品国产aⅴ一区二区| 800av在线播放| 亚洲草久电影| 3d成人动漫网站| 91传媒在线免费观看| 五月天激情开心网| 亚洲男同1069视频| 国产免费人做人爱午夜视频| 亚洲1区在线| 中文在线资源观看视频网站免费不卡| 久久精品欧美一区二区| 麻豆国产精品777777在线| 久久精品丝袜高跟鞋| 成人看片免费| 欧美日韩亚洲高清一区二区| 粉嫩av懂色av蜜臀av分享| 亚洲区综合中文字幕日日| 国产成人av网址| 西西人体44www大胆无码| 亚洲久草在线视频| 91 在线视频观看| 欧美男男gaytwinkfreevideos| 久久久久久91香蕉国产| 国产毛片在线视频| 亚洲国产精品高清| 日本熟妇人妻xxxxx| 欧美成人专区| 91精品国产91久久久久久吃药| 国产极品999| 国产精品高潮呻吟| 色噜噜狠狠一区二区| 国产精品一区二区av日韩在线| 欧美性资源免费| 熟妇人妻一区二区三区四区| 午夜精品福利一区二区蜜股av | 日韩国产一二三区| 中文字幕日韩精品在线观看| 中文字幕精品无| 日本一区二区三区高清不卡| 日韩免费高清在线| 操欧美老女人| 国产女人精品视频| 成人在线观看亚洲| 欧美一区二区日韩一区二区| 日韩一级片大全| 国产真实乱对白精彩久久| 裸体大乳女做爰69| 五月亚洲婷婷| 久久噜噜噜精品国产亚洲综合| 黑人操亚洲女人| 无码av中文一区二区三区桃花岛| 午夜男人的天堂| 香蕉久久夜色精品| 欧美一区二区三区在线免费观看| 校园春色亚洲色图| 中文字幕久久亚洲| 国产女同91疯狂高潮互磨| 一区二区三区在线观看网站| 催眠调教后宫乱淫校园| 国产一级一区二区| 日韩.欧美.亚洲| 婷婷久久综合九色综合99蜜桃| 久久综合久久美利坚合众国| 亚洲精品久久久蜜桃动漫| 舔着乳尖日韩一区| 无码少妇精品一区二区免费动态| 蜜臀精品久久久久久蜜臀| 中文字幕在线中文字幕日亚韩一区| 97久久中文字幕| 午夜精品久久久久久久99热 | 久久久精品2019中文字幕神马| 国产高清在线免费| 精品成人在线视频| 国产传媒在线看| 国产激情视频一区二区三区欧美 | 免费一级肉体全黄毛片| 91蜜桃网址入口| 污污网站在线观看视频| 狠狠爱www人成狠狠爱综合网 | 精品伦一区二区三区| 久久久www| 9l视频自拍9l视频自拍| 日本中文字幕在线一区| 成人在线激情视频| 涩涩视频在线免费看| 日韩中文在线中文网三级| 亚洲国产一二三区| 欧美午夜不卡在线观看免费| 国产亚洲精品码| 亚洲国产精品av| 精品人妻在线视频| 毛片av中文字幕一区二区| 69sex久久精品国产麻豆| 欧美在线电影| 国产一区二区三区四区hd| 香蕉久久一区| 2019亚洲男人天堂| 性直播体位视频在线观看| 亚洲视频视频在线| 天天操天天操天天| 欧美一区二区观看视频| jizz国产在线观看| 亚洲1区2区3区4区| 国产黄色的视频| 中文字幕的久久| 9.1成人看片免费版| 国产精品一区二区黑丝| 日本在线观看免费视频| 99视频在线精品国自产拍免费观看| 性欧美18一19内谢| 国产精品日韩精品中文字幕| 国产在线视频欧美一区二区三区| 色婷婷成人网| 国产v综合v亚洲欧美久久| 第一av在线| 久久人人爽人人爽人人片亚洲 | 欧美国产日本视频| 国产精品一区二区入口九绯色| 国产成人亚洲综合色影视| 欧美成人福利在线观看| 丝袜诱惑亚洲看片| 欧美日韩亚洲第一| 国产日韩1区| 激情五月婷婷六月| 欧美精品97| 女人床在线观看| 91精品国产麻豆国产在线观看 | 99国产高清| 精品国产一区二| 91在线中文字幕| 伊人亚洲精品| 91久久久久久久久久久久久| 免费成人黄色网| 国产三级精品网站| 亚洲资源在线| 91天堂在线观看| 欧美电影院免费观看| 91中文在线观看| 日本成人手机在线| 官网99热精品| 欧美亚洲tv| 麻豆亚洲一区| 狠狠综合久久av一区二区蜜桃| 欧美一级二级三级| 日韩精品一区二区三区免费观影| 视频一区二区精品| 欧美3p视频| 日韩国产精品毛片| 国产精品www994| 久久视频这里有精品| 亚洲综合另类| 91淫黄看大片| 激情另类小说区图片区视频区| 九九九九九国产| 国产91丝袜在线18| 国产伦精品一区二区三区妓女 | 91人妻一区二区三区蜜臀| 亚洲人成精品久久久久久| 538精品在线观看| 亚洲成av人**亚洲成av**| 久久久久久久久久久影院| 欧美性色综合网| 国产男男gay体育生白袜| 亚洲成人黄色网| 日韩在线免费看| 中文字幕日韩av| 天堂8中文在线| 欧美在线视频导航| 欧美aⅴ在线观看| 91免费精品国偷自产在线在线| 国产伦视频一区二区三区| 亚洲精品国模| 在线综合视频网站| 亚洲午夜精品久久久久久app| 黄色a级片免费| 国产在线一区观看| 欧美色图亚洲激情| 亚洲欧美日韩国产另类专区| 国产福利拍拍拍| 欧美日韩国产综合一区二区| 国产高清免费av| 亚洲日韩欧美视频| 在线中文免费视频| 国产高清在线不卡| 97青娱国产盛宴精品视频| 欧美日韩免费精品| 香蕉视频国产精品| 青青草精品视频在线| 美日韩一区二区| 在线天堂www在线国语对白| 国产精品美女久久福利网站| 日韩精品无码一区二区| 欧美日韩精品二区第二页| 无码国产色欲xxxx视频 | 污视频在线看网站| 国产成人久久久精品一区| 日韩成人精品| 亚洲一区二区三区色| 亚洲三级影院| 亚洲男人天堂2021| 国产日韩成人精品| 久久不卡免费视频| 日韩精品中文字幕在线不卡尤物| 成人动漫在线免费观看| 国产69精品久久久久9| 亚洲综合视频| 天堂av一区二区| 亚洲综合二区| 无码成人精品区在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久久久美女| 美女黄色片视频| 91视频国产资源| 日本熟女一区二区| 日韩亚洲欧美在线| 黄色一级片在线观看| 国产精品久久久久久久一区探花| 任我爽精品视频在线播放| 青草全福视在线| 久久99国产精品尤物| 中文字幕在线1| 色综合天天综合给合国产| 天天干天天操av| 国产69精品久久久| 大奶一区二区三区| 国产日韩av网站| 成人免费毛片a| 国语对白一区二区| 欧美不卡在线视频| 日本在线观看大片免费视频| 成人网在线观看| 五月精品视频| 久国产精品视频| 亚洲欧洲日韩一区二区三区| 91免费视频播放| 中文字幕国产亚洲2019| 日本精品另类| 在线看成人av电影| 精品一区二区三区日韩| 国内毛片毛片毛片毛片毛片| 欧美色网一区二区| 中文字幕日本在线| 国产在线播放不卡| 中文字幕乱码亚洲无线精品一区| 国产黄色一区二区三区| 亚洲一区二区免费视频| 国模私拍视频在线| 69av视频在线播放| 免费久久久久久久久| wwww.国产| 亚洲色图欧美偷拍| 性中国古装videossex| 国a精品视频大全| 亚洲精品蜜桃乱晃| 污污网站免费看| 亚洲精品中文在线| 欧美自拍偷拍一区二区| 日本一区二区在线免费播放| 日韩久久精品| 下面一进一出好爽视频| 亚洲成人免费av| 国产免费永久在线观看| 国产日韩亚洲欧美| 国产精品99一区二区| 人妻丰满熟妇av无码久久洗澡| 91国产成人在线| 超碰在线网址| 精品网站在线看| 人人超碰91尤物精品国产| 国产高潮流白浆| 精品视频—区二区三区免费| 日韩电影精品| 成人午夜精品久久久久久久蜜臀| 国产欧美日韩在线| 国产精品欧美激情在线| 97视频在线观看免费高清完整版在线观看| 免费av一区| 中文字幕1区2区| 在线日韩av片| 国产网红女主播精品视频| 欧美日韩一区二| 粉嫩嫩av羞羞动漫久久久| 免费看一级视频| 九九热99久久久国产盗摄| 欧美日韩播放| 午夜影院免费版| 色悠悠久久综合| 毛片网站在线看| 亚洲国产精品www| 99精品视频在线播放观看| 一个人看的www日本高清视频| 久久久亚洲福利精品午夜| 日韩一区电影|