You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by "Jens Geyer (Jira)" <ji...@apache.org> on 2026/09/22 10:43:00 UTC
[jira] [Resolved] (THRIFT-6354) Java nonblocking servers keep reading a connection whose frame waits for read buffer memory
[ https://issues.apache.org/jira/browse/THRIFT-6354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer resolved THRIFT-6354.
--------------------------------
Fix Version/s: 0.26.0
Resolution: Fixed
> Java nonblocking servers keep reading a connection whose frame waits for read buffer memory
> -------------------------------------------------------------------------------------------
>
> Key: THRIFT-6354
> URL: https://issues.apache.org/jira/browse/THRIFT-6354
> Project: Thrift
> Issue Type: Bug
> Components: Java - Library
> Reporter: Jens Geyer
> Priority: Minor
> Fix For: 0.26.0
>
>
> When a frame does not fit into the read buffer memory that is left ({{maxReadBufferBytes}}), the nonblocking servers defer it but leave the connection registered for reading. The selector then returns for that connection straight away, again and again, and the selector thread stays busy until memory is released. With {{maxReadBufferBytes}} set below the maximum frame size, a frame larger than the whole limit is never admitted. Related to THRIFT-5494.
> Fixed on master by [6e992c1d1|https://github.com/apache/thrift/commit/6e992c1d1b3ad0670ec424cf1823e4dccb6a1529]: {{TNonblockingServer}}, {{THsHaServer}} and {{TThreadedSelectorServer}} now clear the read interest of such a connection and restore it once memory is released. A frame larger than the read buffer memory limit closes its connection, as a frame over the maximum frame size does.
> Reported by Sylwester Lachiewicz.
> _Drafted with AI assistance (Claude Opus 5); reviewed and posted by Jens Geyer._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)