8 May 2018 |
| anatolVasin (Gitter) set a profile picture. | 10:02:51 |
anatolVasin (Gitter) | пришёл парниша, предлагает кэчить Throwable, базовых контраргументов не слышит | 10:02:53 |
anatolVasin (Gitter) | утверждает, что после OOM JVM находится в работоспособном состоянии | 10:03:27 |
anatolVasin (Gitter) | если что - там робота с нативным кодом | 10:03:56 |
| @gitterbot:matrix.org invited Tagir Valeev (Gitter). | 10:04:16 |
| Tagir Valeev (Gitter) joined the room. | 10:04:16 |
Tagir Valeev (Gitter) | Надо просто понимать, где когда и зачем кэтчить. После ООМ JVM может находиться в работоспособном состоянии | 10:04:16 |
| @gitterbot:matrix.org invited Artjom Kalita (Gitter). | 10:04:25 |
| Artjom Kalita (Gitter) joined the room. | 10:04:25 |
anatolVasin (Gitter) | ну не throwable же | 10:04:25 |
Artjom Kalita (Gitter) | а зачем ему что-то делать с JVM после ООМ ? | 10:04:26 |
Artjom Kalita (Gitter) | Для чего | 10:04:31 |
anatolVasin (Gitter) | не, речь о том, что он кэтчит не чтото конкретныое, а всё подряд, потомучто мы все не знаем | 10:05:01 |
anatolVasin (Gitter) | чтобы если чтото случается на проде - не пришлось код переписывать | 10:05:14 |
Tagir Valeev (Gitter) | Если он это кэтчит, например, в коде, который диспатчит запросы или сессии, и потом аккуратно логирует и алертит и пытается восстановиться, то почему бы и нет | 10:06:01 |
Tagir Valeev (Gitter) | Если из-за ошибки в коде отвалится одна сессия, это лучше, чем если отвалятся все сессии | 10:06:12 |
Artjom Kalita (Gitter) | Я думаю это очень специфик кейс | 10:06:55 |
Tagir Valeev (Gitter) | Есть шанс, что та сессия, которая сожрала всю кучу, и словит OOM. Соответственно стек раскрутится и гц подчистит всё что она сожрала | 10:06:55 |
Artjom Kalita (Gitter) | и нужно подумать на самом деле ли это нужно :) | 10:07:08 |
anatolVasin (Gitter) | можешь пояснить, что значит пытается восстановиться | 10:07:15 |
Artjom Kalita (Gitter) | А почему так сессия сожрала все | 10:07:16 |
Tagir Valeev (Gitter) | Вдумчивая обработка ошибок как раз нужна, чтобы покрыть специфик-кейсы | 10:07:22 |
Artjom Kalita (Gitter) | (edited) ... почему так сессия ... => ... почему та сессия ... | 10:07:42 |
Tagir Valeev (Gitter) | @anatolVasin пожно прочитать причину OOM. Если, например, пытались выделить слишком большой массив и не вышло, то ничего делать не надо | 10:08:16 |
anatolVasin (Gitter) | но это если ООМ | 10:08:26 |
anatolVasin (Gitter) | давайте обсудим trowable в целом | 10:08:35 |
Tagir Valeev (Gitter) | Не ну разумеется в этом самом catch(Throwable t) надо обработать некоторые исключения специальным образом | 10:08:53 |
Tagir Valeev (Gitter) | Если у вас система с плагинами и какой-то плагин оказался несовместимой версии, попытки работать с ним могут сыпать IncompatibleClassChangeError | 10:09:31 |
Tagir Valeev (Gitter) | Тут вам надо подумать что ценнее - уронить весь сервер или оставить сервер в рабочем состоянии, чтобы те, кто этот плагин не трогают, ничего не заметили | 10:10:02 |
Tagir Valeev (Gitter) | И пострадали только те, кто его трогают | 10:10:22 |