Blokada gwintu Coalescer CFIFO
Summary: Blokowanie klastra z rywalizacji wątków cfifo
Symptoms
Możliwy brak odpowiedzi isi Może się wydawać, że polecenia, obniżenie wydajności i połączenie z klientem przestają odpowiadać z powodu rywalizacji o blokadę.
Cause
W niektórych rzadkich przypadkach w klastrze może wystąpić zakleszczenie z powodu rywalizacji wątków.
Może to mieć miejsce, gdy wiele wątków wykonuje wstawianie, podczas gdy inny wątek wykonuje opróżnianie koalescencyjne.
Resolution
Problem został rozwiązany w wersji 9.4.0.17+, poprawka 9.5.0.3, 9.5.0.7.
Aby potwierdzić, że problem występuje na żywo, sprawdź, czy "cfifo' blokowanie wątku w klastrze za pomocą poniższego polecenia--
# isi_for_array ‘sysctl kern.proc.all_stacks |grep cfifo’
Jeśli cfifo oczekuje ponad 100 tys. ticków, do zwolnienia blokady wymagana będzie panika węzła.
Przykład--
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 --------------------------------------------------
Jeśli istnieje obawa wystąpienia powyższego problemu, należy zgłosić sprawę do pomocy technicznej z pełnym dziennikiem zebranym do wglądu.