Should I expect resin to handle correctly HTTP requests with URI length of
~3-4kB?

I've run into a curious problem that can be reproduced in the following
setup:

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
shell:

#!/bin/sh -e
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
    exit
  fi
done

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.

Observations:

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
servers
* 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!

-- 
regards,
Pawel Kudzia
_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to