Очищення ресурсів після знищення топології шторму

У нас є топологія шторму, яка взаємодіє з базою даних MariaDB. Наші болти реалізують інтерфейс IRichBolt і замінюють методи життєвого циклу. Ми відкриваємо з'єднання db у нашому методі підготовки та закриваємо його в методі очищення. У документації до методу очищення сказано:

топології

Викликається, коли IBolt буде вимкнено. Немає гарантії, що буде викликано очищення, оскільки наглядач вбиває робочі процеси -9 на кластері. Одним із контекстів, де гарантовано буде викликано очищення, є вбивання топології під час запуску Storm у локальному режимі

А команда kill -9 вбиває процес, не очищаючи жодних ресурсів. Отже, ми дійшли такого висновку, що при знищенні топології не обов'язково викликати метод очищення, а з'єднання db буде закрито.

Отже, переходячи до мого питання, у нас є сценарій оболонки для розгортання топології, який при виконанні вбиває поточну топологію з таймаутом 0 і розгортає нову топологію. Ми стикаємося з проблемою на рівні db, що відкрито багато з'єднань, що дає нам натяк на те, що попередні з'єднання не були закриті. (Той, що відкрився в попередній топології).

Чи правильне наше припущення? Збільшення часу очікування очистить всі ресурси?