netch80: (Default)
[personal profile] netch80
Период смешных ошибок с неожиданными последствиями.

Не моя: в pidfile пишется просто число - PID, ничем не терминируется, файл предварительно (или после) не зачищается. Работало под pid=12347, запущен новый с pid=3642, в pidfile оказалось 36427.

Моя: в кластере живут данные, реплицирующиеся между нодами, но функция вычистки устаревших данных не доработана. Запускается узел, пытается одновременно добавить новую запись истории о своём запуске и синхронизироваться с остальными, умирает под тяжестью данных и приложений (не хватает виртуальной памяти), но остальные, кто ещё жив, запомнили этот запуск. Запускается заново, ещё добавляет, снова умирает... Когда нашли и идентифицировали проблему, уже вычитка базы с другого узла оказывалась слишком тяжёлой и рвала синхронизацию в кластере. Пришлось полностью погасить сервис динамических данных, чтобы остановить размножение мусора.

Пока не знаю, какие выводы тут делать.

Date: 2012-08-29 11:20 am (UTC)
From: [identity profile] dadv.livejournal.com
Ну как это нет кодов ошибок. Если программа не умещается в лимит, она просто не стартует.

Date: 2012-08-30 06:22 am (UTC)
From: [identity profile] netch80.livejournal.com
> Ну как это нет кодов ошибок.

Их нет.

Программа запускается, забирает у соседа данные (на это памяти ещё хватает), парсит и складывает в постоянную копию (а вот на то чтобы держать и полученное, и сохранённое - уже нет). Никаких кодов. Просто переполнение.

> Если программа не умещается в лимит, она просто не стартует.

Я не знаю, о какой программе ты говоришь, но это точно не у меня.

Date: 2012-08-30 06:45 am (UTC)
From: [identity profile] dadv.livejournal.com
> Программа запускается, забирает у соседа данные (на это памяти ещё хватает), парсит и складывает в постоянную копию (а вот на то чтобы держать и полученное, и сохранённое - уже нет). Никаких кодов. Просто переполнение.

Если мы говорим о прикладных программах, они работают с виртуальной памятью. Чтобы начать работать с такой памятью, надо сначала получить её от операционой системы. Если памяти не хватает, она вернет ошибку вместо памяти (NULL/MAP_FAILED/что там ещё). Вот тебе код.

Date: 2012-08-30 06:46 am (UTC)
From: [identity profile] dadv.livejournal.com
>> Если программа не умещается в лимит, она просто не стартует.
>Я не знаю, о какой программе ты говоришь, но это точно не у меня.

Это про limit datasize.

Profile

netch80: (Default)
netch80

January 2026

S M T W T F S
    1 23
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 7th, 2026 11:38 pm
Powered by Dreamwidth Studios