Bug 64743

Summary: When set maxSwallowSizeto -1, the value of connection must be set to close.
Product: Tomcat 8 Reporter: Autumn <398418153>
Component: PackagingAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: 8.5.57   
Target Milestone: ----   
Hardware: PC   
OS: All   

Description Autumn 2020-09-16 09:14:38 UTC
I set "maxSwallowSize" to -1, in order to unlimited the uploaded file size. But in 8.5.57 version, I found the following content was inserted into response header. The most important point is "Connection: close". But the value of Connection is keepalive in 8.5.56 version.
______________________________________________________
Keep-Alive: timeout=60, max=100
Pragma: requestnum="235"
Content-Type: application/fastinfoset;charset=utf-8
Transfer-Encoding: chunked
Date: Wed, 16 Sep 2020 08:20:40 GMT
Connection: close
Server: WEB
______________________________________________________

So I had a look at changelogs and found tomcat can check the value in 8.5.57 version, when the size of content is larger than the value of maxSwallowSize, the keepAlive is set to false, so the connection is closed.

So if unlimited the uploaded file size(maxSwallowSize" = -1), the connection must be closed ?
Comment 1 Mark Thomas 2020-09-17 08:31:41 UTC
That is a regression in the handling of aborted uploads. We need to ignore the case where maxSwallowSize has been set to less than 0. I'll get this fixed.
Comment 2 Mark Thomas 2020-09-17 08:52:06 UTC
Fixed in:
- master for 10.0.0-M9 onwards
- 9.0.x for 9.0.39 onwards
- 8.5.x for 8.5.59 onwards