Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
3.1.0.Final
-
None
Description
There are some problems with the SSL implementation, that I believe may be the root cause of UNDERTOW-115. Some of the problems are:
- It uses synchronization all over the place. This should no longer be necessary as the general Channel contract no longer requires them to be thread safe.
- wakeupReads() is called internally, without setting a listener. This is bogus because there is no guarantee that there will be a read listener set (e.g. if the channel is being used in blocking mode).
- It sometimes writes on a read, which means that if the write() fails then the client will call either resumeReads() or awaitReadable(). As the actual problem was that the other side was not writeable this will hang.