On 2/24/26 8:43 AM, David Cleary wrote:
> A customer is asking why the number of bytes written can appear as - in the 
> access log when compression is enabled. They use this value in one of their 
> monitoring tools.
>
> AI tells me this:
>
> When compression is enabled:
>
>    1.  Compressed data is buffered in the compression filter layer
>    2.  getBytesWritten(false) returns the count of bytes that have already 
> been written to the socket
>    3.  Any compressed data still residing in the buffer is not included 
> because the buffer was never flushed
>    4.  This can result in zero or an inaccurate byte count being logged
>
> Is there any way to ensure this value gets logged when compression is enabled?

>It sounds like your report says that only *sometimes* is the value
>appearing as - in the logs. Can you confirm that? Can you tell us
>roughly what percentage of access log entries contain - versus a real value?

>Is there any pattern to the URLs that are being requested that show - as
>the bytes-written value?

>My initial reaction is that Tomcat should be flushing that buffer even
>if the application isn't doing it, and should therefore be able to give
>an accurate number.

>What version are you using, and are there any unusual things going on
>such as other Filters that might be altering the number of bytes passing
>through the pipeline?

>-chris

Sorry. My tech support guys went dark with some clarifying questions. This is 
Tomcat 10.1.x. Not sure of the exact version they reproduced on because we 
patch Tomcat regularly. Here are two concurrent requests, one with a browser 
and one with curl that show the issue.

>From the browser (payload is - i.e. not expected ): 127.0.0.1 - anonymousUser 
>"GET /web/tsCustomer.p HTTP/1.1" 200 - ROOT:w:0000003e 82

With curl ( payload is 500540 i.e. expected ): 0:0:0:0:0:0:0:1 - anonymousUser 
"GET /web/tsCustomer.p HTTP/1.1" 200 500540 ROOT:w:0000003f 83

I would be shocked if IPv4 vs IPv6 has anything to do with it. I do not know if 
the curl request negotiated compression, but am pretty sure the browser did. It 
isn't the bytes being off. It is them being missing. And sorry for any 
formatting issues. Not top posting with Outlook is hard. If I get anything 
more, I will update.

Thanks
Dave



Reply via email to