Mantis - Resin
Viewing Issue Advanced Details
6187 minor always 09-19-18 15:12 09-26-18 16:09
wileysaw  
ferg  
normal  
closed 4.0.58  
fixed  
none    
none 4.0.59  
0006187: 501 response after 200 with python requests
Issuing multiple session.get('http://localhost:8080/c.html',data='aaa') [^] requests results in circular 200/500 response:


{resin-port-8080-36} Http[app-0, 2] GET /c.html HTTP/1.1
{resin-port-8080-36} Http[app-0, 2] Remote-IP: 0:0:0:0:0:0:0:1:60253
{resin-port-8080-36} Http[app-0, 2] Host: localhost:8080
{resin-port-8080-36} Http[app-0, 2] User-Agent: python-requests/2.19.1
{resin-port-8080-36} Http[app-0, 2] Accept-Encoding: gzip, deflate
{resin-port-8080-36} Http[app-0, 2] Accept: */*
{resin-port-8080-36} Http[app-0, 2] Connection: keep-alive
{resin-port-8080-36} Http[app-0, 2] Content-Length: 3
{resin-port-8080-36} WebApp[production/webapp/default/ROOT] map (uri:/c.html -> resin-file)
{resin-port-8080-36} Dispatch '/c.html' to AccessLogFilterChain[http://localhost:8080, [^] next=WebAppFilterChain[http://localhost:8080, [^] next=ServletFilterChain[resin-file]]]
{resin-port-8080-36} InjectManager[web-app:production/webapp/default/ROOT] add bean SingletonBean[FileServlet, {@Default(), @Any()}]
{resin-port-8080-36} Servlet[resin-file] active
{resin-port-8080-36} Servlet[resin-file] active
{resin-port-8080-36} Http[app-0, 2] HTTP/1.1 200 OK
{resin-port-8080-36} Http[app-0, 2] ETag: "8berscn1WIo"
{resin-port-8080-36} Http[app-0, 2] Last-Modified: Wed, 19 Sep 2018 21:52:40 GMT
{resin-port-8080-36} Http[app-0, 2] Accept-Ranges: bytes
{resin-port-8080-36} Http[app-0, 2] Content-Type: text/html; charset=utf-8
{resin-port-8080-36} Http[app-0, 2] Content-Length: 102
{resin-port-8080-36} Http[app-0, 2] write-set-offset(330)
{resin-port-8080-36} Http[app-0, 2] finish/keepalive
{resin-port-8080-36} TcpSocketLink[id=2,app-0] keepalive (thread)
{resin-port-8080-36} Http[app-0, 2] AAAGET /c.html HTTP/1.1
{resin-port-8080-36} Http[app-0, 2] Remote-IP: 0:0:0:0:0:0:0:1:60253
{resin-port-8080-36} Http[app-0, 2] Host: localhost:8080
{resin-port-8080-36} Http[app-0, 2] User-Agent: python-requests/2.19.1
{resin-port-8080-36} Http[app-0, 2] Accept-Encoding: gzip, deflate
{resin-port-8080-36} Http[app-0, 2] Accept: */*
{resin-port-8080-36} Http[app-0, 2] Connection: keep-alive
{resin-port-8080-36} Http[app-0, 2] Content-Length: 3
{resin-port-8080-36} Dispatch '/c.html' to AccessLogFilterChain[http://localhost:8080, [^] next=WebAppFilterChain[http://localhost:8080, [^] next=ServletFilterChain[resin-file]]]
{resin-port-8080-36} Http[app-0, 2] HTTP/1.1 501 Method not implemented
{resin-port-8080-36} Http[app-0, 2] Content-Type: text/html; charset=utf-8
{resin-port-8080-36} Http[app-0, 2] Content-Length: 178
{resin-port-8080-36} Http[app-0, 2] write-set-offset(337)
{resin-port-8080-36} Http[app-0, 2] finish/keepalive
{resin-port-8080-36} TcpSocketLink[id=2,app-0] keepalive (thread)
{resin-port-8080-36} Http[app-0, 2] GET /c.html HTTP/1.1
{resin-port-8080-36} Http[app-0, 2] Remote-IP: 0:0:0:0:0:0:0:1:60253
{resin-port-8080-36} Http[app-0, 2] Host: localhost:8080
{resin-port-8080-36} Http[app-0, 2] User-Agent: python-requests/2.19.1
{resin-port-8080-36} Http[app-0, 2] Accept-Encoding: gzip, deflate
{resin-port-8080-36} Http[app-0, 2] Accept: */*
{resin-port-8080-36} Http[app-0, 2] Connection: keep-alive
{resin-port-8080-36} Http[app-0, 2] Content-Length: 3
{resin-port-8080-36} Dispatch '/c.html' to AccessLogFilterChain[http://localhost:8080, [^] next=WebAppFilterChain[http://localhost:8080, [^] next=ServletFilterChain[resin-file]]]
{resin-port-8080-36} Http[app-0, 2] HTTP/1.1 200 OK
{resin-port-8080-36} Http[app-0, 2] ETag: "8berscn1WIo"
{resin-port-8080-36} Http[app-0, 2] Last-Modified: Wed, 19 Sep 2018 21:52:40 GMT
{resin-port-8080-36} Http[app-0, 2] Accept-Ranges: bytes
{resin-port-8080-36} Http[app-0, 2] Content-Type: text/html; charset=utf-8
{resin-port-8080-36} Http[app-0, 2] Content-Length: 102
{resin-port-8080-36} Http[app-0, 2] write-set-offset(330)
{resin-port-8080-36} Http[app-0, 2] finish/keepalive
{resin-port-8080-36} TcpSocketLink[id=2,app-0] keepalive (thread)
{resin-port-8080-36} Http[app-0, 2] AAAGET /c.html HTTP/1.1
{resin-port-8080-36} Http[app-0, 2] Remote-IP: 0:0:0:0:0:0:0:1:60253
{resin-port-8080-36} Http[app-0, 2] Host: localhost:8080
{resin-port-8080-36} Http[app-0, 2] User-Agent: python-requests/2.19.1
{resin-port-8080-36} Http[app-0, 2] Accept-Encoding: gzip, deflate
{resin-port-8080-36} Http[app-0, 2] Accept: */*
{resin-port-8080-36} Http[app-0, 2] Connection: keep-alive
{resin-port-8080-36} Http[app-0, 2] Content-Length: 3
{resin-port-8080-36} Dispatch '/c.html' to AccessLogFilterChain[http://localhost:8080, [^] next=WebAppFilterChain[http://localhost:8080, [^] next=ServletFilterChain[resin-file]]]
{resin-port-8080-36} Http[app-0, 2] HTTP/1.1 501 Method not implemented
{resin-port-8080-36} Http[app-0, 2] Content-Type: text/html; charset=utf-8
{resin-port-8080-36} Http[app-0, 2] Content-Length: 178
{resin-port-8080-36} Http[app-0, 2] write-set-offset(337)
{resin-port-8080-36} Http[app-0, 2] finish/keepalive
{resin-port-8080-36} TcpSocketLink[id=2,app-0] keepalive (thread)
{resin-port-8080-36} Http[app-0, 2] GET /c.html HTTP/1.1
{resin-port-8080-36} Http[app-0, 2] Remote-IP: 0:0:0:0:0:0:0:1:60253
{resin-port-8080-36} Http[app-0, 2] Host: localhost:8080
{resin-port-8080-36} Http[app-0, 2] User-Agent: python-requests/2.19.1
{resin-port-8080-36} Http[app-0, 2] Accept-Encoding: gzip, deflate
{resin-port-8080-36} Http[app-0, 2] Accept: */*
{resin-port-8080-36} Http[app-0, 2] Connection: keep-alive
{resin-port-8080-36} Http[app-0, 2] Content-Length: 3
{resin-port-8080-36} Dispatch '/c.html' to AccessLogFilterChain[http://localhost:8080, [^] next=WebAppFilterChain[http://localhost:8080, [^] next=ServletFilterChain[resin-file]]]

Notes
(0006855)
xiong   
09-19-18 18:47   
Not only with python request,but also all GET request with a body through persistent connection
(0006857)
ferg   
09-26-18 16:09   
server/055h

Technically, this is a client error, because GETs don't have bodies, but Resin should clean up even for those errors.