Folks,

I am working again on some stuff in Maven Wagon, WAGON-570. After some tests I do not understand why this does not fail:

main] DEBUG org.apache.http.headers - http-outgoing-0 >> PUT 
/test-secured-put-resource HTTP/1.1
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> Cache-control: 
no-cache
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> Cache-store: no-store
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> Pragma: no-cache
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> Content-Length: 14
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> Host: localhost:49248
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> Connection: Keep-Alive
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> User-Agent: 
Apache-HttpClient/4.5.11 (Java/1.7.0_252)
[main] DEBUG org.apache.http.headers - http-outgoing-0 >> Accept-Encoding: 
gzip,deflate
#[main] DEBUG org.apache.http.headers - http-outgoing-0 << HTTP/1.1 303 See 
Other
[main] DEBUG org.apache.http.headers - http-outgoing-0 << Date: Sun, 16 Feb 
2020 22:26:39 GMT
[main] DEBUG org.apache.http.headers - http-outgoing-0 << Location: 
http://localhost:49243/test-secured-put-resource
[main] DEBUG org.apache.http.headers - http-outgoing-0 << Content-Length: 0
[main] DEBUG org.apache.http.headers - http-outgoing-0 << Server: 
Jetty(9.2.24.v20180105)
[main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection can be 
kept alive indefinitely
[main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection [id: 0][route: {}->http://localhost:49248] can be kept alive 
indefinitely
[main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - 
http-outgoing-0: set socket timeout to 0
[main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection released: [id: 0][route: {}->http://localhost:49248][total 
available: 1; route allocated: 1 of 20; total allocated: 1 of 40]
[main] DEBUG org.apache.http.impl.execchain.RedirectExec - Resetting target 
auth state
[main] DEBUG org.apache.http.impl.execchain.RedirectExec - Redirecting to 
'http://localhost:49243/test-secured-put-resource' via 
{}->http://localhost:49243
[main] DEBUG org.apache.http.client.protocol.RequestAddCookies - CookieSpec 
selected: compatibility
[main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection request: [route: {}->http://localhost:49243][total available: 1; 
route allocated: 0 of 20; total allocated: 1 of 40]
[main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - 
Connection leased: [id: 1][route: {}->http://localhost:49243][total available: 
1; route allocated: 1 of 20; total allocated: 2 of 40]
[main] DEBUG org.apache.http.impl.execchain.MainClientExec - Opening connection 
{}->http://localhost:49243
[main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - 
Connecting to localhost/127.0.0.1:49243
[main] DEBUG org.apache.http.impl.conn.DefaultHttpClientConnectionOperator - 
Connection established 127.0.0.1:49254<->127.0.0.1:49243
[main] DEBUG org.apache.http.impl.conn.DefaultManagedHttpClientConnection - 
http-outgoing-1: set socket timeout to 1800000
[main] DEBUG org.apache.http.impl.execchain.MainClientExec - Executing request 
PUT /test-secured-put-resource HTTP/1.1
[main] DEBUG org.apache.http.impl.execchain.MainClientExec - Target auth state: 
UNCHALLENGED
[main] DEBUG org.apache.http.impl.execchain.MainClientExec - Proxy auth state: 
UNCHALLENGED
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> PUT 
/test-secured-put-resource HTTP/1.1
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> Cache-control: 
no-cache
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> Cache-store: no-store
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> Pragma: no-cache
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> Content-Length: 14
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> Host: localhost:49243
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> Connection: Keep-Alive
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> User-Agent: 
Apache-HttpClient/4.5.11 (Java/1.7.0_252)
[main] DEBUG org.apache.http.headers - http-outgoing-1 >> Accept-Encoding: 
gzip,deflate
[qtp582804106-15] WARN org.eclipse.jetty.server.HttpChannel - 
/test-secured-put-resource
java.io.IOException: java.util.concurrent.TimeoutException: Idle timeout 
expired: 30021/30000 ms
        at 
org.eclipse.jetty.util.SharedBlockingCallback$Blocker.block(SharedBlockingCallback.java:213)
        at 
org.eclipse.jetty.server.HttpInputOverHTTP.blockForContent(HttpInputOverHTTP.java:66)
        at 
org.eclipse.jetty.server.HttpInput$1.waitForContent(HttpInput.java:489)
        at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:122)
        at java.io.InputStream.read(InputStream.java:101)
        at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:169)
        at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:156)
        at 
org.apache.maven.wagon.http.HttpWagonTestCase$PutHandler.handle(HttpWagonTestCase.java:2124)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
        at org.eclipse.jetty.server.Server.handle(Server.java:499)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258)
        at 
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.TimeoutException: Idle timeout expired: 
30021/30000 ms
        at 
org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:161)
        at org.eclipse.jetty.io.IdleTimeout$1.run(IdleTimeout.java:50)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:473)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:622)
        ... 1 more
[main] DEBUG org.apache.http.headers - http-outgoing-1 << HTTP/1.1 500 
java.util.concurrent.TimeoutException: Idle timeout expired: 30021/30000 ms
[main] DEBUG org.apache.http.headers - http-outgoing-1 << Date: Sun, 16 Feb 
2020 22:26:39 GMT
[main] DEBUG org.apache.http.headers - http-outgoing-1 << Cache-Control: 
must-revalidate,no-cache,no-store
[main] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Type: 
text/html; charset=ISO-8859-1
[main] DEBUG org.apache.http.headers - http-outgoing-1 << Content-Length: 369
[main] DEBUG org.apache.http.headers - http-outgoing-1 << Connection: close
[main] DEBUG org.apache.http.headers - http-outgoing-1 << Server: 
Jetty(9.2.24.v20180105)


The supplied entity is non-repeatable, DefaultRedirectStrategy has been instructed to retry the PUT for this case. (https://github.com/apache/maven-wagon/commit/58a646776fa4811090063360e80280e21287e92b)

For some strange reason the PUT is retried although the entity is unusable. The peer (server) fails with request timeout. I would expect this to behave like the RetryHandler. If it cannot be retried, fail.

Michael

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to