Skip to content

Instantly share code, notes, and snippets.

@cstamas
Created February 3, 2011 21:08
Show Gist options
  • Save cstamas/810206 to your computer and use it in GitHub Desktop.
Save cstamas/810206 to your computer and use it in GitHub Desktop.
cstamas@marvin async-http-client$ mvn clean install -Dtest=NettyBodyDeferringAsyncHandlerTest
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building async-http-client 1.5.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ async-http-client ---
[INFO] Deleting /Users/cstamas/worx/async-http-client/target
[INFO]
[INFO] --- maven-enforcer-plugin:1.0-beta-1:enforce (enforce-maven) @ async-http-client ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.0-beta-1:enforce (enforce-versions) @ async-http-client ---
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ async-http-client ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/cstamas/worx/async-http-client/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ async-http-client ---
[INFO] Compiling 115 source files to /Users/cstamas/worx/async-http-client/target/classes
[INFO]
[INFO] --- animal-sniffer-maven-plugin:1.6:check (check-java-1.5-compat) @ async-http-client ---
[INFO] Checking unresolved references to org.codehaus.mojo.signature:java15:1.0
[INFO]
[INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ async-http-client ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 6 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ async-http-client ---
[INFO] Compiling 88 source files to /Users/cstamas/worx/async-http-client/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.7.1:test (default-test) @ async-http-client ---
[INFO] Surefire report directory: /Users/cstamas/worx/async-http-client/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
22:05:15,897 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
22:05:15,898 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [file:/Users/cstamas/worx/async-http-client/target/test-classes/logback-test.xml]
22:05:16,048 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
22:05:16,054 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
22:05:16,058 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [CONSOLE]
22:05:16,158 |-WARN in ch.qos.logback.core.ConsoleAppender[CONSOLE] - This appender no longer admits a layout as a sub-component, set an encoder instead.
22:05:16,158 |-WARN in ch.qos.logback.core.ConsoleAppender[CONSOLE] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
22:05:16,158 |-WARN in ch.qos.logback.core.ConsoleAppender[CONSOLE] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
22:05:16,159 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
22:05:16,159 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[ROOT]
2011-02-03 22:05:16,337 [main] DEBUG org.eclipse.jetty.util.log - Logging to Logger[org.eclipse.jetty.util.log] via org.eclipse.jetty.util.log.Slf4jLog
2011-02-03 22:05:16,364 [main] DEBUG org.eclipse.jetty.util.log - Container org.eclipse.jetty.server.Server@455fc40c + SelectChannelConnector@127.0.0.1:59877 as connector
2011-02-03 22:05:16,389 [main] DEBUG org.eclipse.jetty.util.log - Container org.eclipse.jetty.server.Server@455fc40c + SelectChannelConnector@127.0.0.1:59878 as connector
2011-02-03 22:05:16,415 [main] DEBUG org.eclipse.jetty.util.log - Container org.eclipse.jetty.server.Server@455fc40c + BodyDeferringAsyncHandlerTest$SlowAndBigHandler@2cba5bdb as handler
2011-02-03 22:05:16,415 [main] DEBUG org.eclipse.jetty.util.log - Starting org.eclipse.jetty.server.Server@455fc40c
2011-02-03 22:05:16,415 [main] INFO org.eclipse.jetty.util.log - jetty-7.1.4.v20100610
2011-02-03 22:05:16,525 [main] DEBUG org.eclipse.jetty.util.log - Container org.eclipse.jetty.server.Server@455fc40c + qtp921745400{8<=0<=0/254,-1} as threadpool
2011-02-03 22:05:16,526 [main] DEBUG org.eclipse.jetty.util.log - Starting qtp921745400{8<=0<=0/254,-1}
2011-02-03 22:05:16,553 [main] DEBUG org.eclipse.jetty.util.log - STARTED qtp921745400{8<=8<=8/254,0}
2011-02-03 22:05:16,553 [main] DEBUG org.eclipse.jetty.util.log - Starting BodyDeferringAsyncHandlerTest$SlowAndBigHandler@2cba5bdb
2011-02-03 22:05:16,555 [main] DEBUG org.eclipse.jetty.util.log - starting BodyDeferringAsyncHandlerTest$SlowAndBigHandler@2cba5bdb
2011-02-03 22:05:16,556 [main] DEBUG org.eclipse.jetty.util.log - STARTED BodyDeferringAsyncHandlerTest$SlowAndBigHandler@2cba5bdb
2011-02-03 22:05:16,557 [main] DEBUG org.eclipse.jetty.util.log - starting org.eclipse.jetty.server.Server@455fc40c
2011-02-03 22:05:16,557 [main] DEBUG org.eclipse.jetty.util.log - Starting SelectChannelConnector@127.0.0.1:59877
2011-02-03 22:05:16,557 [main] DEBUG org.eclipse.jetty.util.log - Starting org.eclipse.jetty.server.nio.SelectChannelConnector$1@215f7107
2011-02-03 22:05:16,579 [main] DEBUG org.eclipse.jetty.util.log - STARTED org.eclipse.jetty.server.nio.SelectChannelConnector$1@215f7107
org.eclipse.jetty.server.Server@455fc40c STOPPED
+-BodyDeferringAsyncHandlerTest$SlowAndBigHandler@2cba5bdb started
2011-02-03 22:05:16,590 [main] INFO org.eclipse.jetty.util.log - Started SelectChannelConnector@127.0.0.1:59877
2011-02-03 22:05:16,591 [main] DEBUG org.eclipse.jetty.util.log - STARTED SelectChannelConnector@127.0.0.1:59877
2011-02-03 22:05:16,591 [main] DEBUG org.eclipse.jetty.util.log - Starting SelectChannelConnector@127.0.0.1:59878
2011-02-03 22:05:16,591 [main] DEBUG org.eclipse.jetty.util.log - Starting org.eclipse.jetty.server.nio.SelectChannelConnector$1@197200b4
2011-02-03 22:05:16,591 [main] DEBUG org.eclipse.jetty.util.log - STARTED org.eclipse.jetty.server.nio.SelectChannelConnector$1@197200b4
2011-02-03 22:05:16,591 [main] INFO org.eclipse.jetty.util.log - Started SelectChannelConnector@127.0.0.1:59878
2011-02-03 22:05:16,591 [main] DEBUG org.eclipse.jetty.util.log - STARTED SelectChannelConnector@127.0.0.1:59878
2011-02-03 22:05:16,591 [main] DEBUG org.eclipse.jetty.util.log - STARTED org.eclipse.jetty.server.Server@455fc40c
2011-02-03 22:05:16,591 [main] INFO com.ning.http.client.async.AbstractBasicTest - Local HTTP server started successfully
2011-02-03 22:05:16,829 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Non cached Request http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true
2011-02-03 22:05:17,011 [qtp921745400-12 - /] DEBUG org.eclipse.jetty.util.log - REQUEST / on org.eclipse.jetty.server.nio.SelectChannelConnector$2@b3e75a5
2011-02-03 22:05:17,080 [New I/O client worker #1-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
Response DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610)
2011-02-03 22:05:18,510 [qtp921745400-12 - /] WARN org.eclipse.jetty.util.log - Committed before 500 null
2011-02-03 22:05:18,511 [qtp921745400-12 - /] WARN org.eclipse.jetty.util.log - /: java.lang.IllegalStateException: Committed
2011-02-03 22:05:18,516 [qtp921745400-12 - /] DEBUG org.eclipse.jetty.util.log - EXCEPTION
java.lang.IllegalStateException: Committed
at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1052) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:270) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:372) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at com.ning.http.client.async.BodyDeferringAsyncHandlerTest$SlowAndBigHandler.handle(BodyDeferringAsyncHandlerTest.java:76) ~[test-classes/:na]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Server.handle(Server.java:333) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1038) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) [jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:05:18,522 [New I/O client worker #1-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Channel Closed: [id: 0x53fcc0a2, /127.0.0.1:59880 :> /127.0.0.1:59877]
2011-02-03 22:05:18,539 [New I/O client worker #1-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Trying to recover request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
2011-02-03 22:05:18,541 [New I/O client worker #1-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Non cached Request http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true
2011-02-03 22:05:18,552 [qtp921745400-12] DEBUG org.eclipse.jetty.util.log - EOF
org.eclipse.jetty.io.EofException: null
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:905) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:432) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
Caused by: java.nio.channels.ClosedChannelException: null
at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:126) ~[na:1.6.0_22]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:324) ~[na:1.6.0_22]
at org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:169) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:256) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:849) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
... 4 common frames omitted
2011-02-03 22:05:18,558 [qtp921745400-16 - /] DEBUG org.eclipse.jetty.util.log - REQUEST / on org.eclipse.jetty.server.nio.SelectChannelConnector$2@181b7c76
2011-02-03 22:05:18,564 [New I/O client worker #1-2] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
Response DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610)
2011-02-03 22:05:19,694 [qtp921745400-16 - /] WARN org.eclipse.jetty.util.log - Committed before 500 null
2011-02-03 22:05:19,695 [qtp921745400-16 - /] WARN org.eclipse.jetty.util.log - /: java.lang.IllegalStateException: Committed
2011-02-03 22:05:19,695 [qtp921745400-16 - /] DEBUG org.eclipse.jetty.util.log - EXCEPTION
java.lang.IllegalStateException: Committed
at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1052) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:270) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:372) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at com.ning.http.client.async.BodyDeferringAsyncHandlerTest$SlowAndBigHandler.handle(BodyDeferringAsyncHandlerTest.java:76) ~[test-classes/:na]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Server.handle(Server.java:333) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1038) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) [jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:05:19,696 [New I/O client worker #1-2] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Channel Closed: [id: 0x098adae2, /127.0.0.1:59883 :> /127.0.0.1:59877]
2011-02-03 22:05:19,696 [qtp921745400-16] DEBUG org.eclipse.jetty.util.log - EOF
org.eclipse.jetty.io.EofException: null
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:905) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:432) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
Caused by: java.nio.channels.ClosedChannelException: null
at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:126) ~[na:1.6.0_22]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:324) ~[na:1.6.0_22]
at org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:169) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:256) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:849) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
... 4 common frames omitted
2011-02-03 22:05:30,068 [AsyncHttpClient-Reaper] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Request Timeout expired for NettyResponseFuture{latch=java.util.concurrent.CountDownLatch@61250ff2[Count = 1], isDone=false, isCancelled=false, asyncHandler=com.ning.http.client.BodyDeferringAsyncHandler@483a0ab1, responseTimeoutInMs=10000, request=http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true, nettyRequest=DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0, content=null, uri=http://127.0.0.1:59877/, keepAlive=true, httpResponse=DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610), exEx=null, redirectCount=0, reaperFuture=com.ning.http.client.providers.netty.NettyAsyncHttpProvider$ReaperFuture@5a940f82, inAuth=false, statusReceived=true, touch=1296767119694}
2011-02-03 22:05:30,069 [AsyncHttpClient-Reaper] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - aborting Future NettyResponseFuture{latch=java.util.concurrent.CountDownLatch@61250ff2[Count = 1], isDone=false, isCancelled=false, asyncHandler=com.ning.http.client.BodyDeferringAsyncHandler@483a0ab1, responseTimeoutInMs=10000, request=http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true, nettyRequest=DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0, content=null, uri=http://127.0.0.1:59877/, keepAlive=true, httpResponse=DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610), exEx=null, redirectCount=0, reaperFuture=com.ning.http.client.providers.netty.NettyAsyncHttpProvider$ReaperFuture@5a940f82, inAuth=false, statusReceived=true, touch=1296767119694}
2011-02-03 22:05:30,070 [AsyncHttpClient-Reaper] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - No response received after 10000
java.util.concurrent.TimeoutException: No response received after 10000
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider$ReaperFuture.run(NettyAsyncHttpProvider.java:1718) [classes/:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [na:1.6.0_22]
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [na:1.6.0_22]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [na:1.6.0_22]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [na:1.6.0_22]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) [na:1.6.0_22]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) [na:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_22]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:06:22,715 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Non cached Request http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true
2011-02-03 22:06:22,726 [qtp921745400-12 - /] DEBUG org.eclipse.jetty.util.log - REQUEST / on org.eclipse.jetty.server.nio.SelectChannelConnector$2@7db5391b
2011-02-03 22:06:22,727 [New I/O client worker #2-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
Response DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610)
2011-02-03 22:06:23,585 [qtp921745400-12 - /] WARN org.eclipse.jetty.util.log - Committed before 500 null
2011-02-03 22:06:23,585 [qtp921745400-12 - /] WARN org.eclipse.jetty.util.log - /: java.lang.IllegalStateException: Committed
2011-02-03 22:06:23,585 [qtp921745400-12 - /] DEBUG org.eclipse.jetty.util.log - EXCEPTION
java.lang.IllegalStateException: Committed
at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1052) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:270) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:372) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at com.ning.http.client.async.BodyDeferringAsyncHandlerTest$SlowAndBigHandler.handle(BodyDeferringAsyncHandlerTest.java:76) ~[test-classes/:na]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Server.handle(Server.java:333) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1038) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) [jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:06:23,591 [New I/O client worker #2-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Channel Closed: [id: 0x3b19e583, /127.0.0.1:59897 :> /127.0.0.1:59877]
2011-02-03 22:06:23,591 [New I/O client worker #2-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Trying to recover request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
2011-02-03 22:06:23,591 [qtp921745400-12] DEBUG org.eclipse.jetty.util.log - EOF
org.eclipse.jetty.io.EofException: null
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:905) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:432) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
Caused by: java.nio.channels.ClosedChannelException: null
at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:126) ~[na:1.6.0_22]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:324) ~[na:1.6.0_22]
at org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:169) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:256) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:849) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
... 4 common frames omitted
2011-02-03 22:06:23,591 [New I/O client worker #2-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Non cached Request http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true
2011-02-03 22:06:23,602 [qtp921745400-13 - /] DEBUG org.eclipse.jetty.util.log - REQUEST / on org.eclipse.jetty.server.nio.SelectChannelConnector$2@37e55794
2011-02-03 22:06:23,603 [New I/O client worker #2-2] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
Response DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610)
2011-02-03 22:06:24,642 [qtp921745400-13 - /] WARN org.eclipse.jetty.util.log - Committed before 500 null
2011-02-03 22:06:24,643 [qtp921745400-13 - /] WARN org.eclipse.jetty.util.log - /: java.lang.IllegalStateException: Committed
2011-02-03 22:06:24,643 [qtp921745400-13 - /] DEBUG org.eclipse.jetty.util.log - EXCEPTION
java.lang.IllegalStateException: Committed
at org.eclipse.jetty.server.Response.resetBuffer(Response.java:1052) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:270) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Response.sendError(Response.java:372) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at com.ning.http.client.async.BodyDeferringAsyncHandlerTest$SlowAndBigHandler.handle(BodyDeferringAsyncHandlerTest.java:76) ~[test-classes/:na]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.Server.handle(Server.java:333) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1038) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) [jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) [jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) [jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:06:24,644 [qtp921745400-13] DEBUG org.eclipse.jetty.util.log - EOF
org.eclipse.jetty.io.EofException: null
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:905) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:432) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
Caused by: java.nio.channels.ClosedChannelException: null
at sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:126) ~[na:1.6.0_22]
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:324) ~[na:1.6.0_22]
at org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:169) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:256) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:849) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
... 4 common frames omitted
2011-02-03 22:06:24,645 [New I/O client worker #2-2] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Channel Closed: [id: 0x05c09624, /127.0.0.1:59898 :> /127.0.0.1:59877]
2011-02-03 22:06:35,099 [AsyncHttpClient-Reaper] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Request Timeout expired for NettyResponseFuture{latch=java.util.concurrent.CountDownLatch@482d59a3[Count = 1], isDone=false, isCancelled=false, asyncHandler=com.ning.http.client.BodyDeferringAsyncHandler@1958015a, responseTimeoutInMs=10000, request=http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true, nettyRequest=DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0, content=null, uri=http://127.0.0.1:59877/, keepAlive=true, httpResponse=DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610), exEx=null, redirectCount=0, reaperFuture=com.ning.http.client.providers.netty.NettyAsyncHttpProvider$ReaperFuture@60c0c8b5, inAuth=false, statusReceived=true, touch=1296767184642}
2011-02-03 22:06:35,100 [AsyncHttpClient-Reaper] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - aborting Future NettyResponseFuture{latch=java.util.concurrent.CountDownLatch@482d59a3[Count = 1], isDone=false, isCancelled=false, asyncHandler=com.ning.http.client.BodyDeferringAsyncHandler@1958015a, responseTimeoutInMs=10000, request=http://127.0.0.1:59877/ GET X-FAIL-TRANSFER:true, nettyRequest=DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
X-FAIL-TRANSFER: true
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0, content=null, uri=http://127.0.0.1:59877/, keepAlive=true, httpResponse=DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610), exEx=null, redirectCount=0, reaperFuture=com.ning.http.client.providers.netty.NettyAsyncHttpProvider$ReaperFuture@60c0c8b5, inAuth=false, statusReceived=true, touch=1296767184642}
2011-02-03 22:06:35,101 [AsyncHttpClient-Reaper] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - No response received after 10000
java.util.concurrent.TimeoutException: No response received after 10000
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider$ReaperFuture.run(NettyAsyncHttpProvider.java:1718) [classes/:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [na:1.6.0_22]
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [na:1.6.0_22]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [na:1.6.0_22]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [na:1.6.0_22]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) [na:1.6.0_22]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) [na:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_22]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_22]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:06:35,109 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Non cached Request http://127.0.0.1:59877/ GET
2011-02-03 22:06:35,116 [qtp921745400-12 - /] DEBUG org.eclipse.jetty.util.log - REQUEST / on org.eclipse.jetty.server.nio.SelectChannelConnector$2@30dc9065
2011-02-03 22:06:35,117 [New I/O client worker #3-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
Response DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610)
2011-02-03 22:06:37,096 [qtp921745400-12 - /] DEBUG org.eclipse.jetty.util.log - RESPONSE / 200
2011-02-03 22:06:37,099 [New I/O client worker #3-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Adding uri: http://127.0.0.1:59877 for channel [id: 0x4ad61aef, /127.0.0.1:59901 => /127.0.0.1:59877]
2011-02-03 22:06:37,103 [New I/O client worker #3-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - ConnectionsPool increment totalConnections 1
2011-02-03 22:06:37,104 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Removing uri: http://127.0.0.1:59877 for channel []
2011-02-03 22:06:37,104 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - ConnectionsPool decrementAndGet totalConnections 0
2011-02-03 22:06:37,105 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Channel Closed: [id: 0x4ad61aef, /127.0.0.1:59901 :> /127.0.0.1:59877]
2011-02-03 22:06:37,116 [qtp921745400-14] DEBUG org.eclipse.jetty.util.log - EOF
org.eclipse.jetty.io.EofException: null
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:318) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:06:37,117 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Non cached Request http://127.0.0.1:59877/ GET
2011-02-03 22:06:37,125 [qtp921745400-13 - /] DEBUG org.eclipse.jetty.util.log - REQUEST / on org.eclipse.jetty.server.nio.SelectChannelConnector$2@4f62198b
2011-02-03 22:06:37,141 [New I/O client worker #4-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider -
Request DefaultHttpRequest(chunked: false)
GET / HTTP/1.1
Host: 127.0.0.1:59877
Connection: keep-alive
Accept: */*
User-Agent: NING/1.0
Response DefaultHttpResponse(chunked: true)
HTTP/1.1 200 OK
Content-Length: 53687091
Content-Type: application/octet-stream
Server: Jetty(7.1.4.v20100610)
2011-02-03 22:06:38,777 [qtp921745400-13 - /] DEBUG org.eclipse.jetty.util.log - RESPONSE / 200
2011-02-03 22:06:38,779 [New I/O client worker #4-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Adding uri: http://127.0.0.1:59877 for channel [id: 0x66da9ea4, /127.0.0.1:59902 => /127.0.0.1:59877]
2011-02-03 22:06:38,779 [New I/O client worker #4-1] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - ConnectionsPool increment totalConnections 1
2011-02-03 22:06:38,782 [main] DEBUG com.ning.http.client.providers.netty.NettyAsyncHttpProvider - Channel Closed: [id: 0x66da9ea4, /127.0.0.1:59902 :> /127.0.0.1:59877]
2011-02-03 22:06:38,789 [qtp921745400-14] DEBUG org.eclipse.jetty.util.log - EOF
org.eclipse.jetty.io.EofException: null
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:318) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) ~[jetty-http-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) ~[jetty-server-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) ~[jetty-io-7.1.4.v20100610.jar:7.1.4.v20100610]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) [jetty-util-7.1.4.v20100610.jar:7.1.4.v20100610]
at java.lang.Thread.run(Thread.java:680) [na:1.6.0_22]
2011-02-03 22:06:38,823 [main] DEBUG org.eclipse.jetty.util.log - STOPPED org.eclipse.jetty.server.nio.SelectChannelConnector$1@197200b4
2011-02-03 22:06:38,823 [main] DEBUG org.eclipse.jetty.util.log - STOPPED SelectChannelConnector@127.0.0.1:59878
2011-02-03 22:06:38,842 [main] DEBUG org.eclipse.jetty.util.log - STOPPED org.eclipse.jetty.server.nio.SelectChannelConnector$1@215f7107
2011-02-03 22:06:38,842 [main] DEBUG org.eclipse.jetty.util.log - STOPPED SelectChannelConnector@127.0.0.1:59877
2011-02-03 22:06:38,842 [main] DEBUG org.eclipse.jetty.util.log - stopping org.eclipse.jetty.server.Server@455fc40c
2011-02-03 22:06:38,842 [main] DEBUG org.eclipse.jetty.util.log - stopping BodyDeferringAsyncHandlerTest$SlowAndBigHandler@2cba5bdb
2011-02-03 22:06:38,842 [main] DEBUG org.eclipse.jetty.util.log - STOPPED BodyDeferringAsyncHandlerTest$SlowAndBigHandler@2cba5bdb
2011-02-03 22:06:38,895 [main] DEBUG org.eclipse.jetty.util.log - STOPPED qtp921745400{8<=0<=0/254,2}
2011-02-03 22:06:38,895 [main] DEBUG org.eclipse.jetty.util.log - STOPPED org.eclipse.jetty.server.Server@455fc40c
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 83.294 sec
Results :
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ async-http-client ---
[INFO] Building jar: /Users/cstamas/worx/async-http-client/target/async-http-client-1.5.1-SNAPSHOT.jar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment