История изменений
Исправление Reset, (текущая версия) :
Если это система обработки более-менее независимых друг от друга запросов
То есть будет работать в простейших случаях. Например, из последнего, в той же apache kafka мы ловили None.get (это аналог обращения к null в scala), который приводил к остановке тредов-обработчиков сети. Да, приложение работает, но уже не может обслуживать клиентов. Почему оно возникает не знают даже разрабы кафки (тикет в jira, естественно, завели), как восстанавливаться, тоже х.з., так как там довольно нетривиальный код инициализации структур, поэтому просто обложили try/catch/Runtime.halt и стало всё зашибись — если возникнет, то упадет, переподнимется, опять будет обслуживать клиентов.
Всякие файловые дескрипторы будут нормально закрыты, память будет нормально освобождена, транзакции будут нормально откачены.
В идеальном мире так и будет, а в реальности потекут и дескрипторы и объекты и транзакции, если нет обработчиков в блоке finally.
Исходная версия Reset, :
Если это система обработки более-менее независимых друг от друга запросов
То есть будет работать в простейших случаях. Например, из последнего, в той же apache kafka мы ловили None.get (это аналог обращения к null в scala), который приводил к остановке тредов-обработчиков сети. Да, приложение работает, но уже не может обслуживать клиентов. Почему оно возникает не знают даже разрабы кафки (тикет в jira, естественно, завели), как восстанавливаться, тоже х.з., так как там довольно нетривиальный код инициализации структур, поэтому просто обложили try/catch/Runtime.halt и стало всё зашибись — если возникнет, то упадет, переподнимется, опять будет обслуживает клиентов.
Всякие файловые дескрипторы будут нормально закрыты, память будет нормально освобождена, транзакции будут нормально откачены.
В идеальном мире так и будет, а в реальности потекут и дескрипторы и объекты и транзакции, если нет обработчиков в блоке finally.