Fusionneur CFIFO Frein-filet
Résumé: Blocage du cluster à cause d’un conflit de thread cfifo
Symptômes
Il est possible qu’il ne réponde pas isi Les commandes, la dégradation des performances et la connexion client peuvent sembler ne plus répondre en raison d’un conflit de verrouillage.
Cause
Dans de rares cas, le cluster peut rencontrer un blocage en raison d’un conflit d’accès aux threads.
Cela peut se produire lorsque plusieurs threads effectuent une insertion tandis qu’un autre thread effectue un vidage du fusionneur.
Résolution
Ce problème a été résolu dans les versions 9.4.0.17+, 9.5.0.3, 9.5.0.7.
Pour confirmer que le problème se produit en direct, recherchez la case «cfifo' thread locking sur le cluster à l’aide de la commande ci-dessous :
# isi_for_array ‘sysctl kern.proc.all_stacks |grep cfifo’
Si cfifo s’affiche en attente de plus de 100 000 ticks, une panique du nœud est nécessaire pour libérer le verrou.
Exemple--
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 --------------------------------------------------
Si vous craignez de rencontrer le problème ci-dessus, un cas d’incident doit être créé auprès du support avec une collecte complète des logs pour examen.