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

#!/bin/sh -e
while [ true ] ; do
  url=""`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!

Pawel Kudzia
resin-interest mailing list

Reply via email to