Hi All: This could have nothing to do with HttpCore code and all to do with whatever else was going on on my machine at the time but I still wanted to post this as I got the following running AsyncFileServerExample in a 'forever' test.
... 2018-11-20 22:35:15.489 -0700 | 127.0.0.1:8080<->127.0.0.1:36505 | serving file C:\temp\one-byte.txt 2018-11-20 22:35:15.489 -0700 | 127.0.0.1:8080<->127.0.0.1:36507 | serving file C:\temp\one-byte.txt 2018-11-20 22:35:15.489 -0700 | 127.0.0.1:8080<->127.0.0.1:36509 | serving file C:\temp\one-byte.txt File C:\temp\one-byte.txt not found Exception in thread "server-dispatch-2" java.lang.OutOfMemoryError at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.apache.hc.core5.http.nio.BasicResponseProducer.<init>(BasicResponseProducer.java:66) at org.apache.hc.core5.http.nio.BasicResponseProducer.<init>(BasicResponseProducer.java:74) at org.apache.hc.core5.http.examples.AsyncFileServerExample$1.handle(AsyncFileServerExample.java:120) at org.apache.hc.core5.http.examples.AsyncFileServerExample$1.handle(AsyncFileServerExample.java:1) at org.apache.hc.core5.http.nio.support.BasicServerExchangeHandler.handle(BasicServerExchangeHandler.java:67) at org.apache.hc.core5.http.nio.support.AbstractServerExchangeHandler$2.completed(AbstractServerExchangeHandler.java:139) at org.apache.hc.core5.http.nio.BasicRequestConsumer.consumeRequest(BasicRequestConsumer.java:99) at org.apache.hc.core5.http.nio.support.AbstractServerExchangeHandler.handleRequest(AbstractServerExchangeHandler.java:134) at org.apache.hc.core5.http.nio.support.BasicAsyncServerExpectationDecorator.handleRequest(BasicAsyncServerExpectationDecorator.java:90) at org.apache.hc.core5.http.impl.nio.ServerHttp1StreamHandler.consumeHeader(ServerHttp1StreamHandler.java:251) at org.apache.hc.core5.http.impl.nio.ServerHttp1StreamDuplexer.consumeHeader(ServerHttp1StreamDuplexer.java:327) at org.apache.hc.core5.http.impl.nio.ServerHttp1StreamDuplexer.consumeHeader(ServerHttp1StreamDuplexer.java:1) at org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer.onInput(AbstractHttp1StreamDuplexer.java:283) at org.apache.hc.core5.http.impl.nio.AbstractHttp1IOEventHandler.inputReady(AbstractHttp1IOEventHandler.java:63) at org.apache.hc.core5.http.impl.nio.ServerHttp1IOEventHandler.inputReady(ServerHttp1IOEventHandler.java:1) at org.apache.hc.core5.reactor.InternalDataChannel.onIOEvent(InternalDataChannel.java:163) at org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:51) at org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:174) at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:124) at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:80) at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44) at java.lang.Thread.run(Thread.java:745) I launched this example with the argument 'C:\temp', from Eclipse, using Oracle Java 7 on Windows 10: Java version: 1.7.0_80, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.7.0_80\jre Default locale: en_US, platform encoding: Cp1252 OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows" I had left this test running while AFK, but based on the JMeter output, I'd say the test had been running for 334K requests over 2,654,360 milliseconds or ~44 minutes. As a side question, I am wondering if, in the design of HttpCore 5, any effort was made to put less pressure on the GC, regardless of whether the above is a real issue or not? Thank you, Gary
