Red Hat Bugzilla – Bug 455247
with protectio enabled, java client can deadlock
Last modified: 2014-12-01 18:14:26 EST
With -Dprotectio=true, the java client adds a MINA filter that will block writes
if there are more than N bytes of outstanding writes being held in memory.
Unfortunately, this can cause deadlocks in the client because MINA only uses one
thread to process all I/O (both reads and writes). The deadlock can occur when
the client tries to write directly from the callback made by the MINA I/O
thread. If this write attempt should block, then MINAs I/O thread will block
until some outstanding writes have been made, but no more writes can ever be
made because the MINA I/O thread that is supposed to do those writes is being
blocked by the callback.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.