Skip to content

Log file handler rotation maximum size is exceeded when process name is long #44346

@michalvavrik

Description

@michalvavrik

Describe the bug

I am using Quarkus Log File Handler rotation and set maximum file size to 5K, quarkus.log.handler.file.access-log.rotation.max-file-size=5K, however when my process name is long (like in native, or when my JDK is installed in quite nested directory), maximum file size is exceeded.

Expected behavior

Regardless of a process name value, maximum file size should be respected.

Actual behavior

When the process name is long, log file size is longer (5335 or 5336 bytes). When I add Runtime.getRuntime().halt(1) after failing test assertion, I can see that log file is too big.

mvavrik@fedora:/tmp/aaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccccccccccccccccccccc/ddddddddddddddddddddddddddd/eeeeeeeeeeeeeeeeeeeeeeeeeee/fffffffffffffffffffff/guesswhat/ggggggggggggggggggggggg/quarkus-test-suite/logging/jboss$ ls -la target/AccessLoggingIT/app/appAccess.log
-rw-r--r--. 1 mvavrik mvavrik 5336 Nov  6 14:02 target/AccessLoggingIT/app/appAccess.log

How to Reproduce?

Steps to reproduce the behavior:

cd /tmp
mkdir -p aaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccccccccccccccccccccc/ddddddddddddddddddddddddddd/eeeeeeeeeeeeeeeeeeeeeeeeeee/fffffffffffffffffffff/guesswhat/ggggggggggggggggggggggg
cd aaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccccccccccccccccccccc/ddddddddddddddddddddddddddd/eeeeeeeeeeeeeeeeeeeeeeeeeee/fffffffffffffffffffff/guesswhat/ggggggggggggggggggggggg
git clone git@github.com:michalvavrik/quarkus-test-suite.git -b feature/jboss-logging-max-size-reproducer
cd quarkus-test-suite/logging/jboss

NATIVE:
mvn clean verify -Dit.test=AccessLoggingIT#logRotationTest -Dnative -Dreruns=0

JVM:
# download and unzip OpenJDK from https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=core.service.openjdk&downloadType=distributions
export JAVA_HOME="/tmp/aaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbb/ccccccccccccccccccccccccccc/ddddddddddddddddddddddddddd/eeeeeeeeeeeeeeeeeeeeeeeeeee/fffffffffffffffffffff/guesswhat/ggggggggggggggggggggggg/quarkus-test-suite/long-java-home/java-21-openjdk-21.0.5.0.11-1.portable.jdk.x86_64"
export PATH="$JAVA_HOME/bin:$PATH"
mvn clean verify -Dit.test=AccessLoggingIT#logRotationTest -Dreruns=0

Output of uname -a or ver

Fedora 41, RHEL8

Output of java -version

OpenJDK Runtime Environment (Red_Hat-21.0.5.0.11-1) (build 21.0.5+11-LTS)

Quarkus version or git rev

3.15.1, 999-SNAPSHOT

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions