Оказалось, что если используется Apache, то сессии сами завершаются по таймауту, но остаются блокировки сессий (призрачная блокировка). Соответственно такие сессии не видны в оснастке управления сервером приложений.
При обновлении выдается запрос на уничтожение блокировок активных сессий и если ответить отрицательно, то обновление начинает зависать.
Почему так происходит не понятно. Либо пользователи просто закрывают вкладку браузера вместо того, чтобы воспользоваться кнопкой "выход" либо это происходит постоянно.
Стало быть баг в сервере приложений, а конкретно в модуле для Apache. Решений несколько:
- При запросе на уничтожение блокировок активных сессий ответить положительно.
- Перезапустить сервер приложений и веб-сервер.
- Перезагрузить сервер целиком.