Should I expect resin to handle correctly HTTP requests with URI length of
I've run into a curious problem that can be reproduced in the following
On the server side:
* Debian 8 amd64
* Oracle's jdk1.8.0_91 from
* resin-4.0.48 - unpacked; with ./configure; make; make install and a
single change in the conf/cluster-default.xml
- <max-uri-length>10000</max-uri-length> is added within
the <cluster-default> tag
there's flat L2 network connecting both servers without any routers,
firewalls or other packet filters.
On the testing client side - also Debian 8 amd64 - i run the following
while [ true ] ; do
url="http://10.14.11.58:8080/?"`head -c 3500 < /dev/zero | tr '\0' 'z'`
wget -t 1 -O fout "$url"
FILESIZE=$(stat -c%s fout)
if [ $FILESIZE != 366 ]; then
After few iterations wget stalls and eventually times out after 120s.
Network traffic capture shows that the full HTTP request was received by
the server and there was no response header/body sent at all.
I can reproduce the problem when:
* server and client run on two not-virtualized servers
* client runs on a non-virtualized server, server runs as VMWare's VM
* client and server run on two VMWare VMs running on two different physical
* the issue can be reproduced in configurations using different network
cards, different switches
* when using older JDKs 1.7.0_17, 1.8.0_51, 1.8.0_65
* when using older resin 4.0.38, 4.0.46
I cannot reproduce the problem when:
* client and server run on the same Linux machine / via loopback
* client and server run on two VMs running on the same physical server [
this part is puzzling ]
* i'm using a different HTTP server - jetty 9.3.8 or apache 2.4.10
* If the request length is under ~2800B
thanks in advance for suggestions!
resin-interest mailing list