Isilon: Перезапуск довготривалих фінальних завдань роботи
Summary: Роботи не показують прогресу через довготривалі фінальні завдання.
Symptoms
Цю проблему можна побачити на всіх роботах, найчастіше при оцінці jobs(Collect, IntegrityScan) і restriping jobs(SmartPools, AB/ABL, FP/FPL).
Системні завдання можуть не показувати прогресу під час виконання останніх завдань на кожному етапі.
Під час перегляду часто спостерігаються результати відкидання завдань isi_job_d.log коли завдання перезапускаються.
Це може призвести до того, що робота так і не буде завершена, оскільки одне або кілька фінальних завдань не можуть бути виконані до деактивації.
Це відбувається з кількох причин, наприклад, коли починає виконувати завдання з вищим пріоритетом у тому ж наборі виключень.
Це також може бути пов'язано з обмеженням виконання завдань і початком виконання новіших завдань з вищим пріоритетом.
Інші можливі проблеми можуть бути з самим рушієм завдань або кластерними проблемами, такими як конфлікт блокування, розділення вузлів, перезавантаження/паніка вузлів, продуктивність системи та інші можливі причини.
Cause
Перевірте, чи є робота в очікуванні або запуску, що може призвести до змін стану роботи та перезапуску завдань.
Якщо ви бачите велику кількість змін статусу очікування або виконання, перевірте завдання для підтвердження пріоритету.
Якщо інші вакансії, що починаються, мають вищий пріоритет (1 — найвищий пріоритет), це може призвести до очікування.
Щоб перевірити наживо:
isi job events list --job-id=<JobID>
isi_for_array -sQ 'grep -hi "<JobName>.*Run\|<JobName>.*Wait" /var/log/messages' |sort -u |tail
Щоб перевірити журнали:
zgrep -h '<JobName>.*Run\|<JobName>.*Wait' */varlog.tar/log/messages* |grep <JobID>|sort -u |tail
Іноді один і той самий ID завдання часто перезапускається і не може успішно завершитися.
Можливо, кілька ідентифікаторів завдань часто перезапускаються.
У будь-якому випадку переконайтеся, що завдання не переходить у режим очікування або призупинення, що призводить до відкинутих завдань із попередніми кроками.
Перевірте, чи немає деактивованих або відкинутих завдань, які можуть бути спричинені гальмуванням двигуна роботи.
Щоб перевірити наживо:
isi_for_array -sQ 'grep -hi "deactivat\|discard" /var/log/isi_job_d.log' |grep <JobName> | sort -u | tail
Щоб перевірити журнали:
grep -hi "deactivat\|discard" *-*/varlog.tar/log/isi_job_d.log* |grep <JobName> |sort -u|tail
У цьому прикладі той самий ідентифікатор завдання відкидається для FlexProtectLin Вакансія розглядає "tid=28-1" У результаті:
[martid32@elvis 2024-10-29_20-31]$ zgrep -hi "deactivat\|discard" *-*/varlog.tar/log/isi_job_d.log* |grep 'FlexProtectLin jid=6894' |sort -u |tail
2024-10-10T06:01:53.217905-05:00 <3.6> CLUSTER-22(id22) isi_job_d[92144]: Worker 12 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=57916 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T11:50:02.236664-05:00 <3.6> CLUSTER-5(id5) isi_job_d[79762]: Worker 77 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60525 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T16:24:26.930667-05:00 <3.6> CLUSTER-7(id7) isi_job_d[68876]: Worker 21 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58508 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T19:14:46.876445-05:00 <3.6> CLUSTER-11(id11) isi_job_d[28510]: Worker 39 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60665 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-11T20:30:49.232915-05:00 <3.6> CLUSTER-8(id8) isi_job_d[58489]: Worker 20 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=74387 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T00:09:39.969852-05:00 <3.6> CLUSTER-26(id26) isi_job_d[12284]: Worker 13 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58255 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T00:39:46.999158-05:00 <3.6> CLUSTER-2(id2) isi_job_d[78458]: Worker 485 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58365 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T01:18:53.867843-05:00 <3.6> CLUSTER-11(id11) isi_job_d[28510]: Worker 53 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60666 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T02:21:01.143101-05:00 <3.6> CLUSTER-28(id28) isi_job_d[11777]: Worker 18 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=58221 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
2024-10-12T03:19:07.198836-05:00 <3.6> CLUSTER-1(id1) isi_job_d[87488]: Worker 561 Stopped: (task_state_clean, 614) FlexProtectLin[6894].0: Discarding unsent task result: { task_result={ jtid=FlexProtectLin jid=6894 phase=0 tid=28-1 rid=60128 ready=false errors=[] } data={ lins=0 files=0 dirs=0 blocks=0 lins_processed=0 sins=0 sins_processed=0 } start_linsid=0::INVALID end_linsid=0::INVALID }
Наведені нижче команди можна використати для підтвердження поточної кількості завдань і того, над чим вони працюють:
for i in $(isi job list|grep '^[0-9].*Running'|awk '{print $1}'); do isi job view $i; isi job statistics view -v --job-id=$i|grep -o 'Workers: [0-9]*'|sort |uniq -c; echo $(find /ifs/.ifsvar/modules/jobengine/cp/$i/tasks -type f | wc -l) tasks remaining; done;
Замінити JOBID з JobID номер для відповідної роботи:--
isi_for_array -XQ 'for n in $(sysctl efs.bam.busy_vnodes | grep "pid $(pgrep -f JOBID)" | egrep -o "[[:alnum:]]{1,4}:[[:alnum:]]{1,4}:[[:alnum:]]{1,4}"|sort|uniq); do isi get -L "$n" 2>&1; done' | grep -v 'job_d\|modules/jobengine' | sort | uniq -c
Resolution
Якщо підтверджено, що вакансія часто чекає або виконується через початок інших завдань, тимчасово змініть її на вищий пріоритет.
Пріоритет 2 може бути використаний для запобігання перериванню завдання, що викликає занепокоєння,
і його можна повернути до стандартного стану після завершення завдання.Зверніться до підтримки для допомоги та зверніться до цієї статті в базі знань, якщо робота, здається, обмежує роботу працівників і неодноразово відкидає завдання.