Bug 35760

Summary: girar-task abort выполняется слишком долго
Product: Infrastructure Reporter: Aleksei Nikiforov <darktemplaralt>
Component: girarAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: Andrey Cherepanov <cas>
Severity: enhancement    
Priority: P3 CC: glebfm, grenka, ldv
Version: unspecified   
Hardware: all   
OS: Linux   

Description Aleksei Nikiforov 2018-12-12 16:55:34 MSK
После посылки запроса на прерывание сборки задания, задание продолжает собираться до обычного завершения сборки текущих подзаданий. Этот процесс может занять несколько часов.

Пример:
https://lists.altlinux.org/pipermail/sisyphus-incominger/2018-December/511712.html

> 2018-Dec-10 06:39:59 :: [aarch64] #200 racket.git 7.1-alt1: build start
> 2018-Dec-10 07:47:31 :: task abort requested by darktemplar.
> 2018-Dec-10 14:38:48 :: [aarch64] #200 racket.git 7.1-alt1: build FAILED

Ожидаемое поведение:
Немедленная остановка сборки текущего задания и всех собирающихся подзаданий. Раз сборка задания прерывается, то результаты сборки собиращихся в данный момент подзаданий тоже не нужны.
Comment 1 Dmitry V. Levin 2018-12-12 17:03:57 MSK
Мне тоже иногда не хватает instant abort'а.
Comment 2 Aleksei Nikiforov 2018-12-12 17:05:01 MSK
(В ответ на комментарий №1)
> Мне тоже иногда не хватает instant abort'а.

Может для этого можно использовать что-то типа kill -SIGKILL ... ?
Comment 3 Grigory Ustinov 2018-12-12 17:07:05 MSK
А я столкнулся с проблемой того, что делаешь аборт, а потом пока оно продолжает собираться понимаешь, что не надо было его делать. Если нет инстант-аборта, то может быть добавить фичу отмены аборта?
Comment 4 Aleksei Nikiforov 2018-12-12 17:14:16 MSK
Я думаю, лучше мгновенный аборт, чем отмена аборта. Если аборт - мгновенный, то сразу после его выполнения задание можно и перезапустить, если нужно. Либо можно поправить то, что нужно, и запустить ещё раз.
Comment 5 Dmitry V. Levin 2020-10-22 18:15:08 MSK
(In reply to Aleksei Nikiforov from comment #2)
> (В ответ на комментарий №1)
> > Мне тоже иногда не хватает instant abort'а.
> 
> Может для этого можно использовать что-то типа kill -SIGKILL ... ?

В нынешней архитектуре есть некоторые сложности с реализацией этой фичи: надо найти все удалённые сборки этого задания, пойти туда, и завершить все hasher-priv'ы, которые там ещё и в ps не показывают.