Эта проблема возникает, если наш сервер использует SSLHandler
, в то время как интерфейс не:
Когда интерфейс подключается к серверу, (1006) выдает (ожидаемое) исключение в серверную часть:"SSLException
: не запись SSL / TLS: 47455 ...".Затем сервер пытается закрыть канал, который был ответственен за это исключение, но ChannelFuture.awaitUninterruptibly()
, возвращаемый Channel.close()
, зависает неопределенно.Кроме того, нет никаких исключений в веб-интерфейсе.ChannelFuture
из Channel.write()
завершается без проблем.
Как можно принудительно закрыть этот канал в бэкэнде и почему Channel.close()
зависает?
РЕДАКТИРОВАТЬ:
Сервер во внешнем интерфейсе
Сервер во внутреннем интерфейсе
StatefulTcpServer.haltConnection(String connectionId)
зависает, поскольку future.awaitUninterruptibly();
не возвращается.
Мы используем версию 3.3.1.Final.
EDIT 2:
Дамп потока в бэкэнде, когда ChannelFuture.awaitUninterruptibly()
зависает