Closed GoogleCodeExporter closed 9 years ago
I came across this bug also whilst load testing the JDiameter stack. It is a
big problem for running the stack in proxy mode as it causes a leak in the
message router table. The knock on consequence is that the proxy falls over in
a heap.
The suggested fix is problem okay but the write should really be integrated in
the select loop where the socket reads are done (see
http://rox-xmlrpc.sourceforge.net/niotut/ for example of the select with
SelectionKey.OP_WRITE).
Original comment by dpalmer...@gmail.com
on 30 Jun 2014 at 11:08
Indeed, this is a severe problem. We'll probably follow with int999 suggestion
for now, although in the long run we should do the right thing and implement it
using SelectionKey.OP_WRITE as suggested by dpalmer895 and nicely explained in
the referenced tutorial.
int999: you seem to have re-enabled the locks, any reason for that ?
dpalmer895: feel free to provide a patch if you feel like, we'd be more than
happy to help you with it if needed, review it and integrate.
(Adding PCB and Richard Good to discussion as they have made some contributions
to the non-blocking NIO part)
Original comment by brainslog
on 8 Jul 2014 at 1:34
Issue 55 has been merged into this issue.
Original comment by brainslog
on 8 Jul 2014 at 1:36
From Richard and Paul -
A simple fix such as :
rc = 0;
while(rc<bytes.array().length)rc+= socketChannel.write(bytes);
resolved the issue.
We are happy with this fix and have it implemented and running fine on our
platforms.
Thanks for the patch!
Original comment by richard....@smilecoms.com
on 16 Jul 2014 at 1:45
This issue was updated by revision 08e54137c429.
Fixed according to suggestion.
Original comment by brainslog
on 1 Aug 2014 at 12:33
Original issue reported on code.google.com by
int...@gmail.com
on 7 Mar 2013 at 9:33