LINUX.ORG.RU

История изменений

Исправление 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.