缓冲区满与磁盘刷新冲突导致写入阻塞问题分析.pdfVIP

  • 2
  • 0
  • 约1.05千字
  • 约 2页
  • 2026-06-01 发布于北京
  • 举报

缓冲区满与磁盘刷新冲突导致写入阻塞问题分析.pdf

如果此时一个现场在刷bufReady缓冲区里的数据到磁盘文件的同时,bufCurrent缓冲区又被

写满了512kb该呢?是有可能的,我们之前遇到的一个生产的故障

第二个打算刷磁盘的线程会卡在logSync里的while循环中,不能动弹,排在他的线程

会卡在logEdit方法的while循环里,不懂动弹,不能再继续写bufCurrent缓冲区了,

isAutoSyncScheduled变量是true

此时最大的一个问题就在于说,无法继续写入editslog了,导致NameNode大量的工作线程

在执行元数据修改的时候,大量hang死在写入editslog这块了,无法写入,被卡在了内存

双缓冲的写入这里了

Whatif,whiledatainthebufReadybufferisbeingflushedtothediskfile,thebufCurrentbuffer

getsfilledupagainwith512kb?Thisispossible,asweencounteredinaproductionissuebefore.

ThesecondthreadnningtoflushtothediskwillgetstuckinthelogSync

文档评论(0)

1亿VIP精品文档

相关文档