Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
michalvavrik opened this issue Nov 6, 2024 · 18 comments · Fixed by #44376
Closed

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

michalvavrik opened this issue Nov 6, 2024 · 18 comments · Fixed by #44376
Labels
area/logging kind/bug Something isn't working
Milestone

Comments

@michalvavrik
Copy link
Member

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

@michalvavrik michalvavrik added area/logging kind/bug Something isn't working labels Nov 6, 2024
@gsmet
Copy link
Member

gsmet commented Nov 6, 2024

I will defer to @jamezp and @dmlloyd but I'm not convinced it's worth fixing.

@dmlloyd
Copy link
Member

dmlloyd commented Nov 6, 2024

This is not really fixable. The user could create a directory that only allows for one-character log file names for example. There's not much we can do about it at our end.

To work around the specific problem, change the output directory of the log handler using the quarkus.log.file.path property to put the log files in a less-nested directory. Otherwise my recommendation is: don't do that!

@michalvavrik
Copy link
Member Author

Alright, thank you. Can you please document scenarios under which quarkus.log.handler.file."file-handlers".rotation.max-file-size works? I just spend 2 days to figure why this test is failing and I can assure you I wouldn't if it was documented, which is my motivation to have this documented. Thank you

@michalvavrik
Copy link
Member Author

michalvavrik commented Nov 6, 2024

For context, it only failed in FIPS-enabled environment in native mode when run in Jenkins, so it can be quite a fun to try to figure why this log is bigger. Small docs note would be enough.

@michalvavrik
Copy link
Member Author

michalvavrik commented Nov 6, 2024

To work around the specific problem, change the output directory of the log handler using the quarkus.log.file.path property to put the log files in a less-nested directory.

Change output directory of the log handler? You mean quarkus.log.handler.file.access-log.path=path-to-log to some short path? That doesn't work, I have tried it.

Also, it doesn't surprise me. Both issue title and description speaks about "process name" and not output directory of the log handler. More specifically, I tested it and it matters what how long this part is:

"processName":"/home/hudson/hudson_workspace/workspace/rhbq-3.15-baremetal-ts-native/420ae479/quarkus-test-suite/logging/jboss/target/logging-jboss-1.0.0-SNAPSHOT-runner"

here is "full" log (not the access log):

19:05:41,379 INFO  ## Running test AccessLoggingIT.logRotationTest()
19:05:43,391 INFO  [app] Service stopped (Quarkus NATIVE mode)
19:05:43,392 INFO  Running command: /home/hudson/hudson_workspace/workspace/rhbq-3.15-baremetal-ts-native/420ae479/quarkus-test-suite/logging/jboss/target/logging-jboss-1.0.0-SNAPSHOT-runner -Dquarkus.log.handler.file.access-log.format=%d{yyyy-MM-dd HH:mm:ss} -Dquarkus.http.access-log.enabled=true -Dquarkus.http.access-log.log-to-file=false -Dquarkus.log.handler.file.access-log.path=/tmp/AccessLoggingIT2298614165834377554/appAccess.log -Dquarkus.log.handler.file.access-log.rotation.max-backup-index=2 -Dquarkus.log.handler.file.access-log.enable=true -Dquarkus.log.handler.file.access-log.rotation.max-file-size=5K -Dquarkus.log.category."io.quarkus.http.access-log".use-parent-handlers=false -Dquarkus.log.handler.file.access-log.rotation.file-suffix=yyyy-MM-dd.zip -Dquarkus.log.console.format=%d{HH:mm:ss,SSS} %s%e%n -Dquarkus.log.category."io.quarkus.http.access-log".handlers=access-log -Dquarkus.http.port=1105
19:05:46,397 INFO  [app] {"timestamp":"2024-11-06T19:05:43.469657Z","sequence":516,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"logging-jboss 1.0.0-SNAPSHOT native (powered by Quarkus 3.15.1.redhat-00005) started in 0.073s. Listening on: http://0.0.0.0:1105","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"rhel8-fips-xlarge-431","processName":"/home/hudson/hudson_workspace/workspace/rhbq-3.15-baremetal-ts-native/420ae479/quarkus-test-suite/logging/jboss/target/logging-jboss-1.0.0-SNAPSHOT-runner","processId":27608}
19:05:46,398 INFO  [app] {"timestamp":"2024-11-06T19:05:43.469727Z","sequence":517,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"Profile prod activated. ","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"rhel8-fips-xlarge-431","processName":"/home/hudson/hudson_workspace/workspace/rhbq-3.15-baremetal-ts-native/420ae479/quarkus-test-suite/logging/jboss/target/logging-jboss-1.0.0-SNAPSHOT-runner","processId":27608}
19:05:46,398 INFO  [app] {"timestamp":"2024-11-06T19:05:43.469742Z","sequence":518,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus","level":"INFO","message":"Installed features: [cdi, resteasy, smallrye-context-propagation, vertx]","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"rhel8-fips-xlarge-431","processName":"/home/hudson/hudson_workspace/workspace/rhbq-3.15-baremetal-ts-native/420ae479/quarkus-test-suite/logging/jboss/target/logging-jboss-1.0.0-SNAPSHOT-runner","processId":27608}
19:05:46,399 INFO  [app] Service started (Quarkus NATIVE mode)
19:05:48,746 INFO  [app] Service stopped (Quarkus NATIVE mode)

Otherwise my recommendation is: don't do that!

Issue as I understand it naively is long path to native executable (AKA process name) is included into log but is not included into max-file-size. So I think "don't do that" means "use short paths only". I don't agree this is reasonable request.

@michalvavrik
Copy link
Member Author

FYI @dmlloyd my colleague created this test based on your suggestion in https://issues.redhat.com/browse/QUARKUS-4663.

@michalvavrik
Copy link
Member Author

Hope I don't overwhelm you with information, but here is how access log looks like on my local machine with short paths in JVM (just FYI):

{"timestamp":"2024-11-06T20:54:13.67287682+01:00","sequence":228,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}
{"timestamp":"2024-11-06T20:54:13.679976273+01:00","sequence":229,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}
{"timestamp":"2024-11-06T20:54:13.685111704+01:00","sequence":230,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}
{"timestamp":"2024-11-06T20:54:13.690072301+01:00","sequence":231,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}
{"timestamp":"2024-11-06T20:54:13.696166336+01:00","sequence":232,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}
{"timestamp":"2024-11-06T20:54:13.702358258+01:00","sequence":233,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}
{"timestamp":"2024-11-06T20:54:13.707562972+01:00","sequence":234,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}
{"timestamp":"2024-11-06T20:54:13.714684917+01:00","sequence":235,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}

@dmlloyd
Copy link
Member

dmlloyd commented Nov 7, 2024

OK I misread the error, I thought you were saying "the file name is too long when the process name is long". Let me look at the code before I answer to make sure I don't give wrong information (again).

@michalvavrik
Copy link
Member Author

OK I misread the error, I thought you were saying "the file name is too long when the process name is long". Let me look at the code before I answer to make sure I don't give wrong information (again).

no worry, and yes, I think it is "operation name" because that was the only difference I could see from my machine to Jenkins run. And only way I could reproduce it, but I can easily be wrong.

What makes this weird for me is that I would expect this line

{"timestamp":"2024-11-06T20:54:13.714684917+01:00","sequence":235,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.http.access-log","level":"INFO","message":"127.0.0.1 - - [06/Nov/2024:20:54:13 +0100] \"GET /access HTTP/1.1\" 200 12","threadName":"executor-thread-1","threadId":34,"mdc":{},"ndc":"","hostName":"fedora","processName":"/home/mvavrik/.sdkman/candidates/java/21.0.5-tem/bin/java","processId":21426}

to be treated as any other log message, in which case I don't know why max size doesn't work.

@dmlloyd
Copy link
Member

dmlloyd commented Nov 7, 2024

OK the way the logic works, the file size check is performed after the log record is written. So, if your rotation limit is a hard limit on the file size, and particularly when that limit is quite small, it's going to cause a problem because it's quite possible to (for example) fabricate e.g. a GET URI which itself already exceeds the size.

So, I'm not quite sure how to proceed here. What is the use case which requires such a limited file size?

@michalvavrik
Copy link
Member Author

OK the way the logic works, the file size check is performed after the log record is written. So, if your rotation limit is a hard limit on the file size, and particularly when that limit is quite small, it's going to cause a problem because it's quite possible to (for example) fabricate e.g. a GET URI which itself already exceeds the size.

got it

So, I'm not quite sure how to proceed here. What is the use case which requires such a limited file size?

QUARKUS-4663 spoke about max-file-size, so we (Quarkus QE) tried to check this property works. I think that small extra size is not an issue, but I will appreciate if you document it. Thank you

@geoand
Copy link
Contributor

geoand commented Nov 7, 2024

@michalvavrik are you trying to stress the logging rotation subsystem or is there an actual use case for the 5k size limit?
If it's the former, I think we should just document that having a very low limit can be problematic

@michalvavrik
Copy link
Member Author

@michalvavrik are you trying to stress the logging rotation subsystem or is there an actual use case for the 5k size limit? If it's the former, I think we should just document that having a very low limit can be problematic

Just to be clear, I can think of loads of better things to do than finding unimportant bugs :-D Here is why I opened this issue #44346 (comment).

@geoand
Copy link
Contributor

geoand commented Nov 7, 2024

Sure yeah, I didn't mean that you were mindlessly looking to break things :)

@michalvavrik
Copy link
Member Author

Yeah, I can see the other side. But usually when a test is failing in very rare circumstances, I cannot just say "give it up". Now that @dmlloyd explained the issue to me, I'll fix the test for us (allow bigger size). From user POV, note to docs would be good.

@dmlloyd
Copy link
Member

dmlloyd commented Nov 7, 2024

OK, here's what the documentation states:

[quarkus.log.file.rotation.max-file-size](https://quarkus.io/guides/logging#quarkus-core_quarkus-log-file-rotation-max-file-size)

The maximum log file size, after which a rotation is executed.

Environment variable: QUARKUS_LOG_FILE_ROTATION_MAX_FILE_SIZE

The key word here is "after". But it's subtle so maybe we need to expand on that a little bit?

@geoand
Copy link
Contributor

geoand commented Nov 7, 2024

The key word here is "after". But it's subtle so maybe we need to expand on that a little bit?

Makes sense

@michalvavrik
Copy link
Member Author

OK, here's what the documentation states:

[quarkus.log.file.rotation.max-file-size](https://quarkus.io/guides/logging#quarkus-core_quarkus-log-file-rotation-max-file-size)

The maximum log file size, after which a rotation is executed.

Environment variable: QUARKUS_LOG_FILE_ROTATION_MAX_FILE_SIZE

The key word here is "after". But it's subtle so maybe we need to expand on that a little bit?

+1 for little more, I do interpret docs statement differently.

dmlloyd added a commit to dmlloyd/quarkus that referenced this issue Nov 7, 2024
@quarkus-bot quarkus-bot bot added this to the 3.17 - main milestone Nov 8, 2024
DeMol-EE added a commit to DeMol-EE/quarkus that referenced this issue Nov 12, 2024
commit d1394b6
Merge: 52ebb92 c41dfd6
Author: RobinDM <de.mol.robin@gmail.com>
Date:   Tue Nov 12 08:56:25 2024 +0100

    Merge branch 'quarkusio:main' into datasource-devservices-showLogs-squashed

commit c41dfd6
Merge: 52286bf 0611099
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Tue Nov 12 09:32:18 2024 +0200

    Merge pull request quarkusio#44431 from phillip-kruger/filename-openapi

    Add option to name stored openapi files

commit 52286bf
Merge: 81679eb 5a2d46c
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Tue Nov 12 08:08:49 2024 +0200

    Merge pull request quarkusio#44299 from Sgitario/41689_good

    REST Server/Client allows configuring the removal of trailing slashs

commit 52ebb92
Merge: 0348db6 81679eb
Author: RobinDM <de.mol.robin@gmail.com>
Date:   Tue Nov 12 06:59:08 2024 +0100

    Merge branch 'main' into datasource-devservices-showLogs-squashed

commit 0348db6
Author: RobinDM <de.mol.robin@gmail.com>
Date:   Tue Nov 12 06:58:50 2024 +0100

    Update extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DevServicesBuildTimeConfig.java

    Co-authored-by: George Gastaldi <gegastaldi@gmail.com>

commit 81679eb
Merge: 10ed7b1 0878a19
Author: George Gastaldi <gegastaldi@gmail.com>
Date:   Tue Nov 12 00:10:40 2024 -0300

    Merge pull request quarkusio#44415 from radcortez/quarkus-44400

    Propagate Runtime properties in JBang Dev mode

commit 0611099
Author: Phillip Kruger <phillip.kruger@gmail.com>
Date:   Tue Nov 12 13:54:41 2024 +1100

    Add option to name stored openapi files

    Signed-off-by: Phillip Kruger <phillip.kruger@gmail.com>

commit 10ed7b1
Merge: 6329fda f23faa2
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Mon Nov 11 19:53:21 2024 +0200

    Merge pull request quarkusio#44421 from mariofusco/q44417

    Fix deserialization of null maps in reflection-free Jackson deserializers

commit 6329fda
Merge: e7fb440 8ce3dc5
Author: Andy Damevin <ia3andy@gmail.com>
Date:   Mon Nov 11 18:36:35 2024 +0100

    Merge pull request quarkusio#44416 from mkouba/issue-44412

    QuteErrorPageSetup: support templates that are not backed by a file

commit e7fb440
Merge: 7a6b0ee 95fea0b
Author: Bruno Baptista <brunobat@gmail.com>
Date:   Mon Nov 11 16:48:59 2024 +0000

    Merge pull request quarkusio#43983 from alesj/simplespanprocessor_i29448

    Add SimpleSpanProcessor support

commit f23faa2
Author: mariofusco <mario.fusco@gmail.com>
Date:   Mon Nov 11 17:47:29 2024 +0100

    Fix deserialization of null maps in reflection-free Jackson deserializers

commit 8ce3dc5
Author: Martin Kouba <mkouba@redhat.com>
Date:   Mon Nov 11 14:56:20 2024 +0100

    QuteErrorPageSetup: support templates that are not backed by a file

    - fixes quarkusio#44412

commit 0878a19
Author: Roberto Cortez <radcortez@yahoo.com>
Date:   Mon Nov 11 13:37:42 2024 +0000

    Propagate Runtime properties in JBang Dev mode

commit 95fea0b
Author: Ales Justin <ales.justin@gmail.com>
Date:   Thu Oct 17 12:50:53 2024 +0200

    Add SimpleSpanProcessor support

commit 7a6b0ee
Merge: ddee2e0 686cc7d
Author: Clement Escoffier <clement@apache.org>
Date:   Mon Nov 11 09:03:11 2024 +0100

    Merge pull request quarkusio#44351 from cescoffier/workshop-structure-adr

    Propose ADR for restructuring Quarkus workshops organization

commit 686cc7d
Author: Clement Escoffier <clement.escoffier@gmail.com>
Date:   Wed Nov 6 16:28:07 2024 +0100

    Propose ADR for restructuring Quarkus workshops organization

    - Suggests moving from a single repository to individual repositories per workshop
    - Aims to simplify management, improve discoverability, and enable GitHub Pages for documentation
    - Addresses limitations of current structure in hosting and maintaining multiple workshops

commit ddee2e0
Merge: b3d5937 2ffe012
Author: Martin Kouba <mkouba@redhat.com>
Date:   Mon Nov 11 08:48:15 2024 +0100

    Merge pull request quarkusio#44224 from mkouba/issue-44048

    Quartz: introduce Nonconcurrent

commit b3d5937
Merge: b5a1eac bd03e6c
Author: Phillip Krüger <phillip.kruger@gmail.com>
Date:   Mon Nov 11 09:28:20 2024 +1100

    Merge pull request quarkusio#44407 from michalvavrik/feature/add-roles-allowed-vals-to-openapi

    Include allowed roles in security scheme scopes when OpenApi version is 3.1.0 or greater

commit bd03e6c
Author: Michal Vavřík <mvavrik@redhat.com>
Date:   Sun Nov 10 12:57:36 2024 +0100

    Include allowed roles in security scheme scopes in OpenApi 3.1+

commit b5a1eac
Merge: 0782ecc 998c3ee
Author: Sergey Beryozkin <sberyozkin@gmail.com>
Date:   Sun Nov 10 11:23:33 2024 +0000

    Merge pull request quarkusio#44406 from michalvavrik/feature/handle-oidc-extension-deprecations

    Handle InjectionPointsTransformer deprecations in OIDC extension

commit 998c3ee
Author: Michal Vavřík <mvavrik@redhat.com>
Date:   Sun Nov 10 10:39:10 2024 +0100

    Handle InjectionPointsTransformer deprecations in OIDC extension

commit 0782ecc
Merge: 1e2140d e5a21e4
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Sat Nov 9 19:28:37 2024 +0200

    Merge pull request quarkusio#44273 from Vinche59/kubernetest-nodeSelector-without-dekorate-bump

    Add nodeSelector capability to kubernetes extension

commit e5a21e4
Author: Vincent Sourin <sourin-v@bridgestone-bae.com>
Date:   Sun Oct 27 13:31:27 2024 +0100

    Add nodeSelect capability to kubernetes extension.

    Fix quarkusio#44122

    Signed-off-by: Vinche <sourin-v@bridgestone-bae.com>

commit 1e2140d
Merge: 00f271c 48d8fb7
Author: Guillaume Smet <guillaume.smet@gmail.com>
Date:   Sat Nov 9 16:53:01 2024 +0100

    Merge pull request quarkusio#44394 from quarkusio/dependabot/maven/io.quarkus.bot-build-reporter-maven-extension-3.9.6

    Bump io.quarkus.bot:build-reporter-maven-extension from 3.9.5 to 3.9.6

commit 00f271c
Merge: ee2100b 9361944
Author: Guillaume Smet <guillaume.smet@gmail.com>
Date:   Sat Nov 9 16:52:27 2024 +0100

    Merge pull request quarkusio#44396 from quarkusio/dependabot/maven/org.apache.groovy-groovy-4.0.24

    Bump org.apache.groovy:groovy from 4.0.23 to 4.0.24

commit ee2100b
Merge: 3321050 f983e20
Author: Sergey Beryozkin <sberyozkin@gmail.com>
Date:   Sat Nov 9 12:17:00 2024 +0000

    Merge pull request quarkusio#44389 from michalvavrik/feature/kc-dev-svc-for-kc-admin-client

    Start Keycloak Dev Services for standalone Keycloak Admin REST/RESTEasy clients

commit 3321050
Merge: 76cba8c 3f10b51
Author: Sergey Beryozkin <sberyozkin@gmail.com>
Date:   Sat Nov 9 11:29:52 2024 +0000

    Merge pull request quarkusio#44374 from sberyozkin/optimize_oidc_tenants_grouping

    Improve the way OIDC tenants are grouped and their properties are generated

commit 76cba8c
Merge: 4221467 af78f41
Author: Sergey Beryozkin <sberyozkin@gmail.com>
Date:   Sat Nov 9 11:28:55 2024 +0000

    Merge pull request quarkusio#44397 from quarkusio/dependabot/maven/com.nimbusds-nimbus-jose-jwt-9.46

    Bump com.nimbusds:nimbus-jose-jwt from 9.45 to 9.46

commit 4221467
Merge: 81d5343 bfb59fc
Author: George Gastaldi <gegastaldi@gmail.com>
Date:   Fri Nov 8 21:27:01 2024 -0300

    Merge pull request quarkusio#44398 from sberyozkin/keycloak_devservice_prop_doc_typo

    Fix Keycloak DevService property doc typo

commit bfb59fc
Author: Sergey Beryozkin <sberyozkin@gmail.com>
Date:   Fri Nov 8 23:18:02 2024 +0000

    Fix Keycloak DevService property doc typo

commit af78f41
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Nov 8 22:28:30 2024 +0000

    Bump com.nimbusds:nimbus-jose-jwt from 9.45 to 9.46

    Bumps [com.nimbusds:nimbus-jose-jwt](https://bitbucket.org/connect2id/nimbus-jose-jwt) from 9.45 to 9.46.
    - [Changelog](https://bitbucket.org/connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt)
    - [Commits](https://bitbucket.org/connect2id/nimbus-jose-jwt/branches/compare/9.46..9.45)

    ---
    updated-dependencies:
    - dependency-name: com.nimbusds:nimbus-jose-jwt
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

commit 9361944
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Nov 8 22:27:26 2024 +0000

    Bump org.apache.groovy:groovy from 4.0.23 to 4.0.24

    Bumps [org.apache.groovy:groovy](https://github.com/apache/groovy) from 4.0.23 to 4.0.24.
    - [Commits](https://github.com/apache/groovy/commits)

    ---
    updated-dependencies:
    - dependency-name: org.apache.groovy:groovy
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

commit 48d8fb7
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Nov 8 22:24:14 2024 +0000

    Bump io.quarkus.bot:build-reporter-maven-extension from 3.9.5 to 3.9.6

    Bumps [io.quarkus.bot:build-reporter-maven-extension](https://github.com/quarkusio/build-reporter) from 3.9.5 to 3.9.6.
    - [Commits](quarkusio/build-reporter@3.9.5...3.9.6)

    ---
    updated-dependencies:
    - dependency-name: io.quarkus.bot:build-reporter-maven-extension
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

commit 3f10b51
Author: Sergey Beryozkin <sberyozkin@gmail.com>
Date:   Thu Nov 7 19:12:09 2024 +0000

    Improve the way OIDC tenants are grouped and their properties are generated

commit 81d5343
Merge: 901675f a4d7e2f
Author: Guillaume Smet <guillaume.smet@gmail.com>
Date:   Fri Nov 8 22:26:14 2024 +0100

    Merge pull request quarkusio#44390 from gsmet/better-deployment-detection

    Fix runtime/deployment detection and propagate it

commit 901675f
Merge: d1c3ae8 3d110d1
Author: Clement Escoffier <clement@apache.org>
Date:   Fri Nov 8 19:34:29 2024 +0100

    Merge pull request quarkusio#43232 from troosan/quarkusio#23127

    Add support for Socket Logging Handler with basic ECS format logging

commit d1c3ae8
Merge: 7603085 1813c5a
Author: Sergey Beryozkin <sberyozkin@gmail.com>
Date:   Fri Nov 8 17:33:42 2024 +0000

    Merge pull request quarkusio#44388 from gsmet/fix-config-generation

    Fix some invalid configuration cases for doc generation and fail the build if some description are missing

commit 7603085
Merge: 30d733f 77747da
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Fri Nov 8 17:37:21 2024 +0200

    Merge pull request quarkusio#44373 from geoand/quarkusio#44231

    Ensure that custom Jackson modules work in dev-mode

commit a4d7e2f
Author: Guillaume Smet <guillaume.smet@gmail.com>
Date:   Fri Nov 8 15:46:23 2024 +0100

    Fix runtime/deployment detection and propagate it

    That way, we can assert if the module is a deployment module later in
    the process.

    Related to quarkusio#43513

commit f983e20
Author: Michal Vavřík <mvavrik@redhat.com>
Date:   Fri Nov 8 16:06:21 2024 +0100

    Start Keycloak Dev Svc for standalone KC Admin client

commit 1813c5a
Author: Guillaume Smet <guillaume.smet@gmail.com>
Date:   Fri Nov 8 14:47:20 2024 +0100

    Generate a report for missing Javadoc and fail the build if not empty

commit bab4a5a
Author: Guillaume Smet <guillaume.smet@gmail.com>
Date:   Fri Nov 8 14:46:20 2024 +0100

    Fix some invalid configuration cases

    TransactionManagerConfiguration was just plain weird so fixed it.
    For the others, we need to mark the interfaces as being config or we
    won't generate the Javadoc for them.

commit 30d733f
Merge: 5be2257 959a2e1
Author: Martin Kouba <mkouba@redhat.com>
Date:   Fri Nov 8 11:28:14 2024 +0100

    Merge pull request quarkusio#44385 from mkouba/issue-44366

    Qute: fix generation of qute-i18n-examples

commit 77747da
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Thu Nov 7 20:22:31 2024 +0200

    Ensure that custom Jackson modules work in dev-mode

    Fixes: quarkusio#44231

commit 959a2e1
Author: Martin Kouba <mkouba@redhat.com>
Date:   Fri Nov 8 08:43:36 2024 +0100

    Qute: fix generation of qute-i18n-examples

    - handle localized enums correctly
    - fixes quarkusio#44366

commit 611f5e0
Author: Robin De Mol <de.mol.robin@gmail.com>
Date:   Thu Nov 7 22:04:13 2024 +0100

    datasource devservices: showLogs

    Brings support for JBossLoggingConsumer to container-based datasource
    dev services, and adds a little section to the documentation about the
    new "showLogs" option.

    Also contains a minor correction to the AppCDS documentation.

commit 5be2257
Merge: 9761a6e b0339bd
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Fri Nov 8 08:25:50 2024 +0200

    Merge pull request quarkusio#44377 from quarkusio/dependabot/maven/flyway.version-10.21.0

    Bump flyway.version from 10.20.1 to 10.21.0

commit 9761a6e
Merge: 5810fca dd2201e
Author: Georgios Andrianakis <geoand@gmail.com>
Date:   Fri Nov 8 08:16:56 2024 +0200

    Merge pull request quarkusio#44376 from dmlloyd/log-docs

    Clarify logging rotation docs a little bit

commit 5a2d46c
Author: Roberto Cortez <radcortez@yahoo.com>
Date:   Wed Nov 6 12:02:09 2024 +0000

    Avoid possible concurrency issues with RestClientsConfig.RestClientKeysProvider.KEYS in build time

commit 606143b
Author: Jose <josecarvajalhilario@gmail.com>
Date:   Wed Nov 6 07:38:16 2024 +0100

    REST Server/Client allows configuring the removal of trailing slashs

    Before these changes, the REST server and client extensions were removing the trailing slashes that were set by users in the `@Path` annotations.

    For example, when creating a resource like:

    ```java
    @path("/a/")
    @produces(MediaType.TEXT_PLAIN)
    public class HelloResource {

            @get
            public String echo() {
                // ...
            }
    }
    ```

    The effective path was `/a` instead of `/a/`. Note that it does not matter whether we place the `@Path` annotation at method level because the behaviour will be the same.

    At the client side, when having the following client:

    ```
    @RegisterRestClient(configKey = "test")
    @path("/a/") <1>
    public interface HelloClient {
            @get
            @produces(MediaType.TEXT_PLAIN)
            @path("/b/")  <2>
            String echo();
    }
    ```

    In this case, the trailing slash will be removed from <1> but not from <2>.

    After these changes, we are adding the following properties:
    - `quarkus.rest.removes-trailing-slash`

    To configure the server extension to not remove any trailing slash from the `@Path` annotations.

    - `quarkus.rest-client.removes-trailing-slash`

    To configure the client extension to not remove any traling slash from the `@Path` annotations used at interface level. The annotations set at method level will behave the same.

    Note that this does not introduce any change in behaviour, so everything should keep working as before unless users use the new properties.

commit ae36baf
Author: Jose <josecarvajalhilario@gmail.com>
Date:   Wed Nov 6 07:36:36 2024 +0100

    REST Client build time fix for DevServices

commit b0339bd
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Nov 7 22:55:05 2024 +0000

    Bump flyway.version from 10.20.1 to 10.21.0

    Bumps `flyway.version` from 10.20.1 to 10.21.0.

    Updates `org.flywaydb:flyway-core` from 10.20.1 to 10.21.0
    - [Release notes](https://github.com/flyway/flyway/releases)
    - [Commits](flyway/flyway@flyway-10.20.1...flyway-10.21.0)

    Updates `org.flywaydb:flyway-sqlserver` from 10.20.1 to 10.21.0

    Updates `org.flywaydb:flyway-mysql` from 10.20.1 to 10.21.0

    Updates `org.flywaydb:flyway-database-oracle` from 10.20.1 to 10.21.0

    Updates `org.flywaydb:flyway-database-postgresql` from 10.20.1 to 10.21.0

    Updates `org.flywaydb:flyway-database-db2` from 10.20.1 to 10.21.0

    Updates `org.flywaydb:flyway-database-derby` from 10.20.1 to 10.21.0

    Updates `org.flywaydb:flyway-database-mongodb` from 10.20.1 to 10.21.0

    ---
    updated-dependencies:
    - dependency-name: org.flywaydb:flyway-core
      dependency-type: direct:production
      update-type: version-update:semver-minor
    - dependency-name: org.flywaydb:flyway-sqlserver
      dependency-type: direct:production
      update-type: version-update:semver-minor
    - dependency-name: org.flywaydb:flyway-mysql
      dependency-type: direct:production
      update-type: version-update:semver-minor
    - dependency-name: org.flywaydb:flyway-database-oracle
      dependency-type: direct:production
      update-type: version-update:semver-minor
    - dependency-name: org.flywaydb:flyway-database-postgresql
      dependency-type: direct:production
      update-type: version-update:semver-minor
    - dependency-name: org.flywaydb:flyway-database-db2
      dependency-type: direct:production
      update-type: version-update:semver-minor
    - dependency-name: org.flywaydb:flyway-database-derby
      dependency-type: direct:production
      update-type: version-update:semver-minor
    - dependency-name: org.flywaydb:flyway-database-mongodb
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...

    Signed-off-by: dependabot[bot] <support@github.com>

commit dd2201e
Author: David M. Lloyd <david.lloyd@redhat.com>
Date:   Thu Nov 7 15:32:47 2024 -0600

    Clarify logging rotation docs a little bit

    Fixes quarkusio#44346

commit 2ffe012
Author: Martin Kouba <mkouba@redhat.com>
Date:   Thu Oct 31 13:56:39 2024 +0100

    Quartz: introduce Nonconcurrent

    - the behavior is identical to a Job class annotated with DisallowConcurrentExecution
    - fixes quarkusio#44048

commit 3d110d1
Author: Antoine de Troostembergh <antoine.de.troostembergh@gmail.com>
Date:   Sun Nov 3 20:54:47 2024 +0100

    add socket log appender and basic ECS json formatting
bschuhmann pushed a commit to bschuhmann/quarkus that referenced this issue Nov 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/logging kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants