Am 02.04.25 um 15:07 schrieb Rainer Jung:
I get sporadic failures in test[62: Name[pct-t-begin:umlaut_time_S], Type[text]] and in test[63: Name[pct-t-begin:umlaut_time_S], Type[json]]

It seems it has to do with malformed SSS:

JSON:

'{"time-begin:'Ä'HH 'ä' mm 'ö' ss 'ü' SSS'Ü'":"0\u00c414 \u00e4 18 \u00f6 48 \u00fc 08\u00dc"}' '\{"time-begin:'Ä'HH 'ä' mm 'ö' ss 'ü' SSS'Ü'":"\\u00c4\d\d \\u00e4 \d\d \\u00f6 \d\d \\u00fc \d\d\d\\u00dc"\}'

Text:

'0\u00c411 \u00e4 20 \u00f6 36 \u00fc 70\u00dc'
'\\u00c4\d\d \\u00e4 \d\d \\u00f6 \d\d \\u00fc \d\d\d\\u00dc'

we can see double digit "08" resp. "70" at the SSS position, but an additional leading "0" at the start of the line.

Observed for TC 9.0.103 and 10.1.40, tests for TC 11 not started yet.

Unfortunately this seems to be a real regression. Using

pattern="%{begin:'X' SSS'Y'}t"

for the org.apache.catalina.valves.AccessLogValve in server.xml I can reproduce output like

0X 62Y

in the written access log file with version 10.1.40. With 10.1.39 output seems fine, so eg.

X 062Y

I think the problem always occurs, when leading zeros are needed to fill the three requested digits. The prefix seems to applied at the wrong position.

I will have a look at the AccessLogValve and/or timestamp formatting changes.

The problem would only occur, when the timestamp has a leading zero in the milliseconds, so 1/10th of the times.

Although SSS is not used in the default config, I tend to vote this as a -1 as it breaks access log parsing especially under high load with explicit milliseconds output defined as it might be normal in enterprise use. Any other views on how bad this is?

Best regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to