Bug 29823 - Логика удаления files-awaiting-filetriggers при выполнении posttrans-filetriggers
Summary: Логика удаления files-awaiting-filetriggers при выполнении posttrans-filetrig...
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: rpm (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL: http://bugs.etersoft.ru/show_bug.cgi?...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-12 23:51 MSK by Evgeny Sinelnikov
Modified: 2019-02-03 08:10 MSK (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Sinelnikov 2014-02-12 23:51:08 MSK
В ряде случаев выполнение posttrans-filetriggers может завершиться ошибкой. В этом случае в файле files-awaiting-filetriggers оказываются сохранёнными имена всех файлов с предыдущей транзакции.

В случае большого обновления files-awaiting-filetriggers может занимать несколько десятков мегабайт и содержать несколько сотен тысяч имён файлов, для которых требуется выполнить скрипты файловых триггеров.

В случае большого числа файлов вероятность ошибки в каком либо из триггеров существенно возрастает. В итоге, после установки и выполнения скриптов может быть выдана следующая ошибка:
error: execution of /usr/lib/rpm/posttrans-filetriggers scriptlet from (null)-(null)-(null) failed, exit status 1

В этом случае огромный файл files-awaiting-filetriggers сохранится и при следующей установке скрипты снова будут запущены для всех сотен тысяч файлов, для которых при выполнении скриптов в прошлый раз произошла ошибка.

При этом ошибка, как правило повторяется, файл files-awaiting-filetriggers сохранятся и возникает проблема:
- во время каждой последующей, даже самой простой, установки файловые триггеры запускаются снова и снова для всех предыдущих файлов, которые были установлены с момента сбоя.

Пример такого файла привожу в виде ссылки:
http://ftp.etersoft.ru/pub/people/sin/files-awaiting-filetriggers.xz
Comment 1 Dmitry V. Levin 2014-02-13 00:23:39 MSK
Что хотелось бы изменить в этой логике?
Comment 2 Gleb F-Malinovskiy 2016-12-19 17:16:39 MSK
(В ответ на комментарий №1)
> Что хотелось бы изменить в этой логике?

Женя, ping?  В rpm 4.13.0 реализована точно такая же логика.
Comment 3 Evgeny Sinelnikov 2016-12-19 23:17:35 MSK
В логике хотелось бы таких изменений, чтобы оно не падало и не тормозило.

Вообще, наверное, стоит разбивать файл на части, при превышении фиксированного размера. Запускать триггеры по частям, в таком случае. А в случае ошибки - выдавать предупреждения с указанием того, какой файл нужно, если что, удалить.