-
Bug
-
Resolution: Done
-
Critical
-
3.3.1.Final, 3.3.5.Final, 4.0.9.Final
-
None
-
Workaround Exists
-
ByteBufferSlicePool uses a ThreadLocal-based ByteBuffer caching scheme that pretty much results in uncollectable ByteBuffers. That's ok, if the number of ByteBufferSlicePool instances is limited, which I believe was the design intent.
But HttpUpgradeConnectionProvider is not limiting the number of instances. One is created per channel creation, in ConnectionAdaptorImpl.adapt(). This is the cause of WFLY-4881.
Possible solution is to cache the ByteBufferSlicePool in the outer HttpUpgradeConnectionProvider and reuse it for each ConnectionAdaptorImpl.adapt call.
RemoteConnectionProvider.connect also creates a pool for each connect call. Perhaps it could be cached in RemoteConnectionProvider and reused.
David in chat mentioned switching to using global pools as the solution.
- causes
-
WFCORE-974 Cli calls leak memory in Host Controller when reading children names in domain mode
- Resolved