Travamento de rosca Coalescer CFIFO
Summary: Impasse do cluster a partir do conflito de threads cfifo
Symptoms
Possível sem responder isi Os comandos, a degradação do desempenho e a conexão do client podem parecer não responder devido ao conflito de acesso de bloqueio.
Cause
Em alguns casos raros, o cluster pode enfrentar um deadlocking devido ao conflito de threads.
Isso pode ocorrer quando vários threads estão realizando uma inserção, enquanto outro thread está realizando flush do coalescer.
Resolution
Isso foi resolvido no hotfix 9.4.0.17+, 9.5.0.3 e 9.5.0.7.
Para confirmar se o problema está ocorrendo ao vivo, verifique 'cfifo' thread travando no cluster com o comando abaixo:
# isi_for_array ‘sysctl kern.proc.all_stacks |grep cfifo’
Se cfifo for mostrado aguardando mais de 100 mil marcações, uma pane do nó será necessária para liberar o bloqueio.
Exemplo--
Waiting on 0xfffff8142b2dd580 with msg "cfifo" for 32619857 ticks <------ cfifo waiting for over 100k ticks Stack: -------------------------------------------------- kernel:sched_switch+0xbcc kernel:mi_switch+0x128 kernel:sleepq_wait+0x2b kernel:_sleep+0x264 kernel:write_sleep+0x4e kernel:coalescer_insert+0x1e26 kernel:coalescer_write+0x2bfe kernel:bam_coal_write+0x64 kernel:_ifs_write_mbuf+0x6b kernel:ifs_vnop_wrapunlocked_write_mbuf+0xdc kernel:VOP_UNLOCKED_WRITE_MBUF_APV+0x93 isi_lwext.ko:lwextsvc_write+0x4ff kernel:amd64_syscall+0x380 --------------------------------------------------
Caso haja preocupação de enfrentar o problema acima, um caso deverá ser gerado para o suporte com uma coleta completa de logs para análise.