You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by David Latorre <dv...@gmail.com> on 2009/01/12 18:32:57 UTC

[FTPServer] IOException under high load <- FTPSERVER-260

Johh Hearn reported this issue with FTPServer
https://issues.apache.org/jira/browse/FTPSERVER-260 where under
not-that-high loads connections get closed and an Exception is thrown:

 java.io.IOException: An established connection was aborted by the software
in your host machine
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
at sun.nio.ch.IOUtil.read(IOUtil.java:206)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:207)
at
org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:175)
at
org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:42)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:561)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:540)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:532)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:58)
at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:857)
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)

This bug can be reproduced in windows using John's simple test case.   Do
you have any ideas about this one?

Re: [FTPServer] IOException under high load <- FTPSERVER-260

Posted by Niklas Gustavsson <ni...@protocol7.com>.
On Wed, Jan 14, 2009 at 6:25 PM, David Latorre <dv...@gmail.com> wrote:
>  I also failed to reproduce it on Linux and although it seems specific to
> JMeter as you said ( I tried to reproduce it with a simple java.net.URL or
> my ftpclient but i wasn't able to), John said it happened to him during
>  normal working.

That's good to know. Would you be able to have a go at trying to
replicate the JMeter code for the FTP sampler in our unit test style?
JMeter uses common-net (albeit an ancient version) so it should be
doable.

> For me, besides the logged exception everything seems to
> be working nicely. Maybe John can tell us more about this issue.

That's good, it seems like it would at most only kill the session.

/niklas

Re: [FTPServer] IOException under high load <- FTPSERVER-260

Posted by David Latorre <dv...@gmail.com>.
2009/1/12 Niklas Gustavsson <ni...@protocol7.com>

> On Mon, Jan 12, 2009 at 6:32 PM, David Latorre <dv...@gmail.com> wrote:
> > Johh Hearn reported this issue with FTPServer
> > https://issues.apache.org/jira/browse/FTPSERVER-260 where under
> > not-that-high loads connections get closed and an Exception is thrown:
>
> I've failed to reproduce anything similar on Linux (I don't have a
> Windows box handy). Also, I failed to pretty much use JMeter at all,
> would it be possible to create a JUnit test case for this problem? The
> JMeter code seems to be fairly brutal (not logging out, seems to be
> opening multiple FileOutputStreams for the same local file) so this
> might be specific to JMeter (not that we shouldn't handle that, but it
> would be good to narrow it down a bit).
>



>
> Looking at what the net says about the exception
> (http://www.sockets.com/err_lst1.htm look for WSAECONNABORTED), it
> seems to happen when the TCP socket times out due to the client (since
> we get the error in the server) not sending an ACK (if I understand
> the description correctly). Here's further explaining the error:
> http://www.chilkatsoft.com/p/p_299.asp
>
> Also, what effects to you see on the server when this happens? I'm
> guessing only the session dies, right?



 I also failed to reproduce it on Linux and although it seems specific to
JMeter as you said ( I tried to reproduce it with a simple java.net.URL or
my ftpclient but i wasn't able to), John said it happened to him during
 normal working.  For me, besides the logged exception everything seems to
be working nicely. Maybe John can tell us more about this issue.


>
> /niklas
>

Re: [FTPServer] IOException under high load <- FTPSERVER-260

Posted by Niklas Gustavsson <ni...@protocol7.com>.
On Mon, Jan 12, 2009 at 6:32 PM, David Latorre <dv...@gmail.com> wrote:
> Johh Hearn reported this issue with FTPServer
> https://issues.apache.org/jira/browse/FTPSERVER-260 where under
> not-that-high loads connections get closed and an Exception is thrown:

I've failed to reproduce anything similar on Linux (I don't have a
Windows box handy). Also, I failed to pretty much use JMeter at all,
would it be possible to create a JUnit test case for this problem? The
JMeter code seems to be fairly brutal (not logging out, seems to be
opening multiple FileOutputStreams for the same local file) so this
might be specific to JMeter (not that we shouldn't handle that, but it
would be good to narrow it down a bit).

Looking at what the net says about the exception
(http://www.sockets.com/err_lst1.htm look for WSAECONNABORTED), it
seems to happen when the TCP socket times out due to the client (since
we get the error in the server) not sending an ACK (if I understand
the description correctly). Here's further explaining the error:
http://www.chilkatsoft.com/p/p_299.asp

Also, what effects to you see on the server when this happens? I'm
guessing only the session dies, right?

/niklas