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

quarkus.oidc.auth-server-url causing weird start-up failure #29427

Closed
ambition-consulting opened this issue Nov 22, 2022 · 14 comments · Fixed by #31260
Closed

quarkus.oidc.auth-server-url causing weird start-up failure #29427

ambition-consulting opened this issue Nov 22, 2022 · 14 comments · Fixed by #31260
Assignees
Labels
area/oidc kind/bug Something isn't working triage/needs-reproducer We are waiting for a reproducer.
Milestone

Comments

@ambition-consulting
Copy link

ambition-consulting commented Nov 22, 2022

Describe the bug

adding this line makes all the difference:

%ecom-dev.quarkus.oidc.auth-server-url=http://ecom-portal-keycloak:8080/realms/quarkus

makes the application crash without much explanation on DEBUG log level:

exec java -Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager -XX:+UseG1GC -XX:+UseStringDeduplication -XX:InitialRAMPercentage=50.0 -XX:MaxRAMPercentage=50.0 -Xss256k -Xmx512m -cp . -jar /deployments/quarkus-run.jar
Nov 22, 2022 11:04:30 PM org.hibernate.validator.internal.util.Version
INFO: HV000001: Hibernate Validator %s
Nov 22, 2022 11:04:38 PM io.quarkus.opentelemetry.runtime.tracing.LateBoundSampler
WARN: No Sampler delegate specified, no action taken.
Nov 22, 2022 11:04:48 PM io.vertx.core.net.impl.ConnectionBase
ERROR: Connection reset
java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:394)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:426)
at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:258)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:831)
Nov 22, 2022 11:04:48 PM io.quarkus.runtime.ApplicationLifecycleManager run
ERROR: Failed to start application (with profile ecom-dev)
java.net.SocketException: Connection reset
at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:394)
at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:426)
at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:258)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:831)

The keycloak server 19.0.3 is ready and reachable:

/ $ curl -kv http://ecom-portal-keycloak:8080/realms/quarkus
*   Trying 172.20.93.10:8080...
* Connected to ecom-portal-keycloak (172.20.93.10) port 8080 (#0)
> GET /realms/quarkus HTTP/1.1
> Host: ecom-portal-keycloak:8080
> User-Agent: curl/7.79.1
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< referrer-policy: no-referrer
< x-frame-options: SAMEORIGIN
< strict-transport-security: max-age=31536000; includeSubDomains
< cache-control: no-cache
< x-content-type-options: nosniff
< x-xss-protection: 1; mode=block
< content-type: application/json
< content-length: 655
< x-envoy-upstream-service-time: 92
< date: Tue, 22 Nov 2022 23:08:14 GMT
< server: envoy
< 
* Connection #0 to host ecom-portal-keycloak left intact
{"realm":"quarkus","public_key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzNMrtvYNG/QBFl+wH+89/asjb+PFU5I+8c+7y1qVgR88NoG53vGKM6GJMnu22nEf24AxXiRLR6SNgiKXhYISNlONREoDJcz9J5Fupm+5MkujHyMn7wLrBTDlFVWwMyVdCTcbmSddM8CkNqMpc8M49HroxxlJLlyaQZNiUKjQVKIsxVMzP5jXfthUtR2eMLLxSyLb6TOZfVrIRouQcDdSdn4q4Oj5eaEWHUg9EH6Q3nGmbL/JnWcvTlb1wDV/LMd4AvOZYKXEuf2RrOdkmNrZ0yXGT0dCzjjRDr+GvH7xUqAw8yAkw6/LegaN8+MPb0Qd9sEnGbkAh2iNrEg+LYDnnQIDAQAB","token-service":"https://portal.ecom-dev.app.whirlpool.aws.fisv.cloud/realms/quarkus/protocol/openid-connect","account-service":"https://portal.ecom-dev.app.whirlpool.aws.fisv.cloud/realms/quarkus/account","tokens-not-before":0}/ $ 

Any ideas why such a configuration would make the application not start-up anymore?

Expected behavior

some meaningful error log, or for it to just work.

Actual behavior

quarkus dead, sad developer.

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

GraalVM version (if different from Java)

No response

Quarkus version or git rev

No response

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

No response

Additional information

No response

@ambition-consulting ambition-consulting added the kind/bug Something isn't working label Nov 22, 2022
@quarkus-bot
Copy link

quarkus-bot bot commented Nov 22, 2022

/cc @pedroigor, @sberyozkin

@geoand
Copy link
Contributor

geoand commented Nov 23, 2022

Any chance you can get us a sample application? Unfortunately the stacktrace does not provide any clues.

@geoand geoand added the triage/needs-reproducer We are waiting for a reproducer. label Nov 23, 2022
@ambition-consulting
Copy link
Author

Unlikely, I will only stay in this project for another week, and probably won't find time for a reproducer.

To increase logs, is there anything else I can do other than:

quarkus.log.category."io.quarkus.oidc".min-level=TRACE
quarkus.log.category."io.quarkus.oidc".level=TRACE

?

@geoand
Copy link
Contributor

geoand commented Nov 23, 2022

I doubt it, the problem is that the exception happens in async code, so we don;t have a proper stacktrace

@ambition-consulting
Copy link
Author

I forgot the min-level before, now I get additionally:
"message":"OIDC Server is not available:","processId":1,"processName":"quarkus-run.jar","sequence":5093,"stackTrace":"javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure\n\tat java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)\n\tat java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)\n\tat java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:356)\n\tat java.base/sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:293)\n\tat java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:202)\n\tat java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:171)\n\tat java.base/sun.security.ssl.SSLEngineImpl.decode(SSLEngineImpl.java:736)\n\tat java.base/sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:691)\n\tat java.base/sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:506)\n\tat java.base/sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:482)\n\tat java.base/javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:679)\n\tat io.netty.handler.ssl.SslHandler$SslEngineType$3.unwrap(SslHandler.java:296)\n\tat io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1343)\n\tat io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1236)\n\tat io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1285)\n\tat io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:519)\n\tat io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:458)\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:280)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base/java.lang.Thread.run(Thread.java:831)\n"

@ambition-consulting
Copy link
Author

despite having specified http scheme, it seems to insist on ssl

@sberyozkin
Copy link
Member

Hi @ambition-consulting Does it work without %ecom-dev. ? There a few issues around related to - in env properties

@sberyozkin
Copy link
Member

@ambition-consulting Or try may be %ecomdev., I'm pretty sure for some reasons this profile specific property is not activated

@gsmet
Copy link
Member

gsmet commented Nov 29, 2022

So for me, there are two issues here:

  • we need to understand why the exception is not propagated and you have absolutely no idea what's going on
  • secondly, we need to understand the connection issue

As for the former, @sberyozkin could you have a look at why the exception is somehow swallowed and there's no information in the log? Note that the log looks like garbage to me so I'm not sure the app is started as it should.

As for the latter, I think Sergey has a point and you should first try to simplify the config and see how it goes. If it still doesn't fix your issue without even using a profile then we probably need to have another look.

@andrm
Copy link

andrm commented Dec 2, 2022

Check your keycloak conf, it seems it insists on https. Make sure backchannel can be unencrypted.

@yyvess
Copy link

yyvess commented Dec 29, 2022

I was face to the same issue with Quarkus 15.1
It's was time consuming for me to find the root cause of this Quarkus startup exception 'java.net.SocketException: Connection reset' that give no context 👎

As work around I disabled the oidc.discovery as is =>

quarkus.oidc.discovery-enabled=false
quarkus.oidc.token-path=/protocol/openid-connect/token
quarkus.oidc.jwks-path=/protocol/openid-connect/certs
quarkus.oidc.user-info-path=/protocol/openid-connect/userinfo
quarkus.oidc.introspection-path=/protocol/openid-connect/tokens/introspect

Root cause on my case was due to different way to expose Keycloak on kubernetes
between internal and external network traffic.

Keycloak external traffic is overs https and use "standard" DNS, internal traffic is overs http (encrypted by Istio proxy) and use Kubernetes internal service name.

Keycloak auto discovery end-point /.well-known/openid-configuration return a configuration with https and external dns that cannot be use by the Quarkus backend application running inside the cluster .

A understandable error message will be more than welcome ;-)

@sberyozkin sberyozkin self-assigned this Dec 31, 2022
@sberyozkin
Copy link
Member

Sure, I'll try to look into having a better error message produced, sorry for a delay

@geoand
Copy link
Contributor

geoand commented Feb 6, 2023

@sberyozkin what's the status of this?

@sberyozkin
Copy link
Member

@yyvess @gsmet @geoand Sorry for the delay, when the connection attempt fails, an attempt is made to recover during the first request, I think the problem it is at a very low level like debug or trace, I'll need to get at info I guess at the startup and error if it fails again during the recovery attempt. Will try to close a few simple issues asap

@quarkus-bot quarkus-bot bot added this to the 3.0 - main milestone Feb 17, 2023
@gsmet gsmet modified the milestones: 3.0 - main, 2.16.4.Final Feb 22, 2023
benkard pushed a commit to benkard/mulkcms2 that referenced this issue Apr 2, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.200.0` -> `^0.201.0`](https://renovatebot.com/diffs/npm/flow-bin/0.200.0/0.201.0) |
| [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | patch | `4.19.0` -> `4.19.1` |
| [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | build | minor | `2.33.0` -> `2.34.0` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `2.16.3.Final` -> `2.16.4.Final` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | patch | `2.16.3.Final` -> `2.16.4.Final` |
| [org.apache.maven.plugins:maven-compiler-plugin](https://maven.apache.org/plugins/) | build | minor | `3.10.1` -> `3.11.0` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.201.0`](flow/flow-bin@d54e283...86aea9c)

[Compare Source](flow/flow-bin@d54e283...86aea9c)

### [`v0.200.1`](flow/flow-bin@b6c1eb0...d54e283)

[Compare Source](flow/flow-bin@b6c1eb0...d54e283)

</details>

<details>
<summary>liquibase/liquibase</summary>

### [`v4.19.1`](https://github.com/liquibase/liquibase/releases/tag/v4.19.1)

[Compare Source](liquibase/liquibase@v4.19.0...v4.19.1)

##### Liquibase v4.19.1 is a patch release

#### Enhancements

-   Publish liquibase-extension-testing to github packages (DAT-12833) by [@&#8203;abrackx](https://github.com/abrackx) in liquibase/liquibase#3697
-   Add support for multiple schemas to dbDoc command by [@&#8203;zpanderson](https://github.com/zpanderson) in liquibase/liquibase#1834
-   No need redundant conditions. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3553
-   Replace expressions with type arguments with diamond type <>. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3591
-   Remove duplicate conditions in expressions and branches of if statements. They are used due to oversight. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3548
-   Replace constant charset String literal with the predefined StandardC… by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3568
-   Normalize path of SQL changelog file when parsing (DAT-11891) by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3664
-   Delegate change set equality tests by [@&#8203;droy-sandbox](https://github.com/droy-sandbox) in liquibase/liquibase#3550
-   (DAT-6636)Refactor of TagExistsCommandStep and extraction of code to new LockServiceCommandStep  by [@&#8203;filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3667
-   Refactors CalculateChecksumCommandStep  by [@&#8203;filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3696
-   CORE-3044 avoid locking if no updates pending by [@&#8203;RichardBradley](https://github.com/RichardBradley) in liquibase/liquibase#2190
-   Warning in case of missing liquibase files instead of throwing an exception by [@&#8203;mhewedy](https://github.com/mhewedy) in liquibase/liquibase#3081
-   Remove redundant modifiers. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3594
-   Update maven-bundle-plugin instructions to export package containing XSD files by [@&#8203;GeertZondervan](https://github.com/GeertZondervan) in liquibase/liquibase#3597
-   Remove redundant conditions that covered by a subsequent condition. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3590
-   Add support for db2 view comments (DAT-12529) by [@&#8203;abrackx](https://github.com/abrackx) in liquibase/liquibase#3723
-   Remove unnecessary cast expressions. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3670
-   Performance improvements by [@&#8203;filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3588
-   Implemented a summary of change sets which get filtered out during update (DAT-12068) by [@&#8203;wwillard7800](https://github.com/wwillard7800) in liquibase/liquibase#3730
-   Support tabular format for history command by [@&#8203;fbiville](https://github.com/fbiville) in liquibase/liquibase#3541
-   Remove Unnecessary operation/modifier: by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3657
-   Update and rename bug_report.md to bug_report.yaml by [@&#8203;kevin-atx](https://github.com/kevin-atx) in liquibase/liquibase#3728
-   Improve command line help message format by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3829
-   Use StandardCharsets constant instead. (DAT-12853) by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3725
-   Update SnakeYAML usage - do not call deprecated methods by [@&#8203;asomov](https://github.com/asomov) in liquibase/liquibase#3632
-   Avoid global mutable state of Non-final fields in enumeration types. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3727
-   Use constants instead of arrays with known lengths of zero by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3716
-   Simplify lambda expressions when possible by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3736
-   \[MRO] Added new modifyChangeSets tag to support specification of `runWith` attribute for all change sets in `include` or `includeAll`
-   \[MRO] DAT-7922  Implement a check for one change per changeset by [@&#8203;wwillard7800](https://github.com/wwillard7800) in https://github.com/liquibase/liquibase-pro/pull/790
-   \[MRO] DAT-11915 Correctly escape SQL to enable and disable triggers on PostgreSQL by [@&#8203;wwillard7800](https://github.com/wwillard7800) in https://github.com/liquibase/liquibase-pro/pull/799
-   \[MRO] DAT-10157: add database scope for reserved words checks by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in https://github.com/liquibase/liquibase-pro/pull/802
-   \[MRO] DAT-13189 safely set code point limit for SnakeYaml by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in https://github.com/liquibase/liquibase-pro/pull/827
-   \[MRO] DAT-13440: show changesetsRolledback only after rollback is complete by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in https://github.com/liquibase/liquibase-pro/pull/838
-   \[MRO] DAT-12568 by [@&#8203;jnewton03](https://github.com/jnewton03) in https://github.com/liquibase/liquibase-pro/pull/844

#### Fixes

-   Fixes generate-changelog table/view comment and table/view column comment generation for MSSQL (DAT-12045) by [@&#8203;abrackx](https://github.com/abrackx) in liquibase/liquibase#3563
-   Fully qualified path to the changelog or snapshot in S3 is not allowed, so needs better msg (DAT-11478) by [@&#8203;diadiushko](https://github.com/diadiushko) in liquibase/liquibase#3564
-   (DAT-12039) :detect circular references in includeAll statement by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3695
-   improve logging around paths that do not exist (DAT-12038) by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3669
-   normalize path of json and yaml changelogs when parsing (DAT-11891)  by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3711
-   deprecate DefaultLoggerConfiguration (DAT-11970) by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3706
-   Rework dropProcedure for Snowflake Log message when dropAll fails (DAT-12916) by [@&#8203;wwillard7800](https://github.com/wwillard7800) in liquibase/liquibase#3702
-   fix: snowflake has wrong priority by [@&#8203;Yogurt-lei](https://github.com/Yogurt-lei) in liquibase/liquibase#3572
-   Do not add default schema name to getSchemas method to avoid one schema by [@&#8203;LonwoLonwo](https://github.com/LonwoLonwo) in liquibase/liquibase#3704
-   [#&#8203;3035](liquibase/liquibase#3035) add Double data type class to avoid incorrect double(0) database by [@&#8203;LonwoLonwo](https://github.com/LonwoLonwo) in liquibase/liquibase#3703
-   Stop publishing liquibase-extension-testing to Github on branch builds (DAT-13038) by [@&#8203;abrackx](https://github.com/abrackx) in liquibase/liquibase#3726
-   do not support setting column comments on a view in Snowflake (DAT-12530) by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3710
-   Fix NullPointerException for case sensitive collations by [@&#8203;ivan909020](https://github.com/ivan909020) in liquibase/liquibase#3699
-   (DAT-13269) pass proper branch name and add required field by [@&#8203;jnewton03](https://github.com/jnewton03) in liquibase/liquibase#3765
-   Consistent ARG-suffix for 'defaultSchemaName'-Parameter by [@&#8203;SIEDA-EliasHeydrich](https://github.com/SIEDA-EliasHeydrich) in liquibase/liquibase#3662
-   Removing explicit LiquibaseServletListener references by [@&#8203;Thunderforge](https://github.com/Thunderforge) in liquibase/liquibase#3677
-   Add Snowflake structured data types to unmodifiable Data Types by [@&#8203;LonwoLonwo](https://github.com/LonwoLonwo) in liquibase/liquibase#3752
-   Fix [#&#8203;3690](liquibase/liquibase#3690) primaryKeyExists does not work on DB2z by [@&#8203;MichaelKern-IVV](https://github.com/MichaelKern-IVV) in liquibase/liquibase#3691
-   Replace old stream creation with java.nio. by [@&#8203;arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3686
-   github-action (DAT-13527) by [@&#8203;jnewton03](https://github.com/jnewton03) in liquibase/liquibase#3827
-   Do not duplicate clearCheckSums logic by [@&#8203;fbiville](https://github.com/fbiville) in liquibase/liquibase#3628
-   Fixing [#&#8203;3708](liquibase/liquibase#3708) - AddColumn fix for H2 version 1.4.200 by [@&#8203;KarolyNevelos](https://github.com/KarolyNevelos) in liquibase/liquibase#3709
-   Added default values to private Scope constructor by [@&#8203;MarkTJohnson](https://github.com/MarkTJohnson) in liquibase/liquibase#3756
-   Improved concurrency support by using ConcurrentHashMaps by [@&#8203;jurgenkleverwal](https://github.com/jurgenkleverwal) in liquibase/liquibase#3799
-   fixing lookahead for last line comment method by [@&#8203;mwiede](https://github.com/mwiede) in liquibase/liquibase#3717
-   Do not calculate checksum when loading changelogs by [@&#8203;filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3790
-   set up maven using simpler GitHub action by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3835
-   safely set code point limit for SnakeYaml (DAT-13189) by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3807
-   Fix failing EnvironmentValueProviderTest by [@&#8203;nvoxland](https://github.com/nvoxland) in liquibase/liquibase#3783
-   show changesetsRolledback only after rollback is complete (DAT-13440) by [@&#8203;StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3846

#### Security, Driver and other updates

**OWASP Dependency Check: Reported Vulnerabilities**
`snakeyaml.jar` - This is a "critical" vulnerability reported against the snakeyaml library. Note: Liquibase code is not vulnerable to this attack, but users can manually upgrade to the newest version of snakeyaml library, and will be upgraded to the unaffected snakeyaml 2.0 version in the next release. If you are interested, you can track the MR at liquibase/liquibase#3865

-   Bump junit-jupiter-params from 5.9.1 to 5.9.2 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3673
-   Bump ant from 1.10.11 to 1.10.13 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3672
-   Bump firebird-testcontainers-java from 1.2.0 to 1.3.0 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3653
-   Bump actions/delete-package-versions from 3 to 4 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3649
-   Bump maven-plugin-plugin from 3.7.0 to 3.7.1 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3698
-   Bump assertj-core from 3.23.1 to 3.24.2 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3705
-   Bump jaybird from 4.0.8.java8 to 5.0.0.java8 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3659
-   Bump mariadb-java-client from 3.1.0 to 3.1.2 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3729
-   Bump snowflake-jdbc from 3.13.26 to 3.13.27 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3751
-   Bump picocli from 4.7.0 to 4.7.1 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3742
-   Bump actions/cache from 3.2.3 to 3.2.4 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3750
-   Bump actions/cache from 3.2.4 to 3.2.5 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3809
-   Bump maven-deploy-plugin from 3.0.0 to 3.1.0 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3802
-   Bump maven-shade-merge-manifest-transformer from 0.0.2 to 0.0.3 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3779
-   Bump postgresql from 42.5.1 to 42.5.3 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3778
-   Bump jaxb-runtime from 4.0.1 to 4.0.2 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3786
-   Bump jaxb-core from 4.0.1 to 4.0.2 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3787
-   Bump sqlite-jdbc from 3.40.0.0 to 3.40.1.0 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3772
-   Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3759
-   Bump jaybird from 5.0.0.java8 to 5.0.1.java8 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3760
-   Bump mssql-jdbc from 11.2.1.jre8 to 12.2.0.jre8 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3761
-   Bump ojdbc8 from 21.8.0.0 to 21.9.0.0 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3808
-   Bump postgresql from 42.5.3 to 42.5.4 by [@&#8203;dependabot](https://github.com/dependabot) in liquibase/liquibase#3831
-   Migrate setup-java action to use Temurin by [@&#8203;gdams](https://github.com/gdams) in liquibase/liquibase#3607

#### New Contributors

-   [@&#8203;zpanderson](https://github.com/zpanderson) made their first contribution in liquibase/liquibase#1834
-   [@&#8203;droy-sandbox](https://github.com/droy-sandbox) made their first contribution in liquibase/liquibase#3550
-   [@&#8203;mhewedy](https://github.com/mhewedy) made their first contribution in liquibase/liquibase#3081
-   [@&#8203;GeertZondervan](https://github.com/GeertZondervan) made their first contribution in liquibase/liquibase#3597
-   [@&#8203;Yogurt-lei](https://github.com/Yogurt-lei) made their first contribution in liquibase/liquibase#3572
-   [@&#8203;gdams](https://github.com/gdams) made their first contribution in liquibase/liquibase#3607
-   [@&#8203;ivan909020](https://github.com/ivan909020) made their first contribution in liquibase/liquibase#3699
-   [@&#8203;SIEDA-EliasHeydrich](https://github.com/SIEDA-EliasHeydrich) made their first contribution in liquibase/liquibase#3662
-   [@&#8203;Thunderforge](https://github.com/Thunderforge) made their first contribution in liquibase/liquibase#3677
-   [@&#8203;KarolyNevelos](https://github.com/KarolyNevelos) made their first contribution in liquibase/liquibase#3709
-   [@&#8203;MarkTJohnson](https://github.com/MarkTJohnson) made their first contribution in liquibase/liquibase#3756
-   [@&#8203;jurgenkleverwal](https://github.com/jurgenkleverwal) made their first contribution in liquibase/liquibase#3799
-   [@&#8203;mwiede](https://github.com/mwiede) made their first contribution in liquibase/liquibase#3717

**Full Changelog**: liquibase/liquibase@v4.17.2...v4.19.1

##### Get Certified

Learn all the Liquibase fundamentals from free online courses by Liquibase experts and see how to apply them in the real world at https://learn.liquibase.com/.

##### Read the Documentation

Please check out and contribute to the continually improving docs, now at https://docs.liquibase.com/.

##### Meet the Community

Our community has built a lot. From extensions to integrations, you’ve helped make Liquibase the amazing open source project that it is today. Keep contributing to making it stronger:

[Contribute code](https://www.liquibase.org/development/contribute.html)
[Make doc updates](https://github.com/Datical/liquibase-docs)
[Help by asking and answering questions](https://forum.liquibase.org/)
[Set up a chat with the Product team](https://calendly.com/liquibase-outreach/product-feedback)

Thanks to everyone who helps make the Liquibase community strong!

#### File Descriptions

-   **Liquibase CLI** -- Includes open source + commercial functionality
-   **liquibase-x.y.z.tar.gz** -- Archive in tar.gz format
-   **liquibase-x.y.z.zip** -- Archive in zip format
-   **liquibase-windows-x64-installer-x.y.z.exe** -- Installer for Windows
-   **liquibase-macos-installer-x.y.z.dmg** -- Installer for MacOS
-   **Primary Libraries** - For embedding in other software
    -   **liquibase-core-x.y.z.jar** – Base Liquibase library (open source)
    -   **liquibase-commerical-x.y.z.jar** – Additional commercial functionality
-   **liquibase-additional-x.y.z.zip** – Contains additional, less commonly used files
    -   Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar
    -   Javadocs for all the libraries
    -   Source archives for all the open source libraries
    -   ASC/MD5/SHA1 verification hashes for all files

**Full Changelog**: liquibase/liquibase@v4.19.0...v4.19.1

</details>

<details>
<summary>diffplug/spotless</summary>

### [`v2.34.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#&#8203;2340---2023-01-26)

##### Added

-   `Formatter` now has a field `public static final File NO_FILE_SENTINEL` which can be used to pass string content to a Formatter or FormatterStep when there is no actual File to format. ([#&#8203;1525](diffplug/spotless#1525))

</details>

<details>
<summary>quarkusio/quarkus</summary>

### [`v2.16.4.Final`](https://github.com/quarkusio/quarkus/releases/tag/2.16.4.Final)

[Compare Source](quarkusio/quarkus@2.16.3.Final...2.16.4.Final)

##### Complete changelog

-   [#&#8203;31510](quarkusio/quarkus#31510) - Add logging to CompiledJavaVersionBuildStep
-   [#&#8203;31507](quarkusio/quarkus#31507) - Adjust API in transaction.adoc code snippet
-   [#&#8203;31498](quarkusio/quarkus#31498) - Added a note to get correct OpenAPI documentation
-   [#&#8203;31486](quarkusio/quarkus#31486) - smallrye-openapi generates wrong definition for grouped parameters
-   [#&#8203;31483](quarkusio/quarkus#31483) - Fix documentation for quarkus.hibernate-orm.enabled
-   [#&#8203;31477](quarkusio/quarkus#31477) - Qute generated value resolvers - fix varArgs methods with 1 argument
-   [#&#8203;31471](quarkusio/quarkus#31471) - \[2.16] Make sure parent modules are loaded into workspace before those that depend on them
-   [#&#8203;31467](quarkusio/quarkus#31467) - Don't run kubernetes-client Dev Services transitively
-   [#&#8203;31465](quarkusio/quarkus#31465) - Propagate Quarkus related failsafe system properties
-   [#&#8203;31462](quarkusio/quarkus#31462) - Do not append single '&' with empty query params  in Resteasy Reactive
-   [#&#8203;31449](quarkusio/quarkus#31449) - Qute: VarArgs processing error with 1 element
-   [#&#8203;31447](quarkusio/quarkus#31447) - SmallRye GraphQL 1.9.3, test for Deprecated annotation
-   [#&#8203;31422](quarkusio/quarkus#31422) - Fix client jackson body writer to propagate the client context
-   [#&#8203;31418](quarkusio/quarkus#31418) - Fix doc generation for quarkus.hibernate-orm.enabled
-   [#&#8203;31416](quarkusio/quarkus#31416) - Fix copy paste error in qute docs
-   [#&#8203;31405](quarkusio/quarkus#31405) - Propagate SystemProperties set in Failsafe plugin to the Test launcher
-   [#&#8203;31394](quarkusio/quarkus#31394) - Fix afterEach callback for integration tests
-   [#&#8203;31393](quarkusio/quarkus#31393) - Integration Test AfterEach callbacks are not called
-   [#&#8203;31355](quarkusio/quarkus#31355) - \[Regression] Very slow startup in dev mode when the Kubernetes extension is present
-   [#&#8203;31350](quarkusio/quarkus#31350) - Also set io.netty.noUnsafe at runtime when set at build time
-   [#&#8203;31349](quarkusio/quarkus#31349) - Netty complaining about access to heap buffer in native
-   [#&#8203;31347](quarkusio/quarkus#31347) - Adjust image name substitution for Elasticsearch Dev Services
-   [#&#8203;31339](quarkusio/quarkus#31339) - Improve logging in DevServicesKubernetesProcessor
-   [#&#8203;31336](quarkusio/quarkus#31336) - Pass `--userns=keep-id` to podman only when in rootless mode
-   [#&#8203;31331](quarkusio/quarkus#31331) - Use idiomatic RESTEasy Reactive filter declaration for OpenTelemetry
-   [#&#8203;31316](quarkusio/quarkus#31316) - Improve CSRF documentation
-   [#&#8203;31302](quarkusio/quarkus#31302) - Updated OpenAPI `mp.openapi.extensions.smallrye.openapi` key mapping
-   [#&#8203;31300](quarkusio/quarkus#31300) - Support UUID serialization in REST Client multipart bodies
-   [#&#8203;31298](quarkusio/quarkus#31298) - RESTEasy Reactive doesn't support `java.util.UUID`
-   [#&#8203;31291](quarkusio/quarkus#31291) - Bump `org.jetbrains.annotations` from `17.0.0` to the latest(`24.0.0`)
-   [#&#8203;31289](quarkusio/quarkus#31289) - Return a null InputStream from REST Client when response is 204
-   [#&#8203;31280](quarkusio/quarkus#31280) - Bump SQL Server JDBC driver to 12.2.0
-   [#&#8203;31276](quarkusio/quarkus#31276) - Bump protobuf from 3.21.9 to 3.22.0
-   [#&#8203;31274](quarkusio/quarkus#31274) - Try to solve disk space issues on GitHub Actions
-   [#&#8203;31261](quarkusio/quarkus#31261) - Bump Microsoft SQL Server JDBC driver to 12.2.0
-   [#&#8203;31260](quarkusio/quarkus#31260) - Make OIDC connection error log messages more visible
-   [#&#8203;31250](quarkusio/quarkus#31250) - Clarify in keycloak-authorization doc when it should be used
-   [#&#8203;31249](quarkusio/quarkus#31249) - Empty array of values in WebTargetImpl.queryParam method is added to the final URI as an `&`
-   [#&#8203;31245](quarkusio/quarkus#31245) - \[Regression in 2.16.3] `NullPointerException: Cannot invoke "org.jboss.resteasy.reactive.server.SimpleResourceInfo.getResourceClass()" because "this.resourceInfo" is null`
-   [#&#8203;31240](quarkusio/quarkus#31240) - protobuf code generated w/ 3.22.0 broken w/ Quarkus
-   [#&#8203;31236](quarkusio/quarkus#31236) - Bump postgresql from 42.5.3 to 42.5.4
-   [#&#8203;31234](quarkusio/quarkus#31234) - Bump mermaid from 9.1.1 to 9.4.0
-   [#&#8203;31231](quarkusio/quarkus#31231) - RESTEasy reactive returns an empty InputStream instead of null on 204 - No Content response
-   [#&#8203;31211](quarkusio/quarkus#31211) - Fix the non-default constructor mechanism of bytecode recording \[2.16]
-   [#&#8203;31209](quarkusio/quarkus#31209) - Another fix for the Redis Search aggregation test
-   [#&#8203;31186](quarkusio/quarkus#31186) - Show how to enable all origins in HTTP CORS section
-   [#&#8203;31150](quarkusio/quarkus#31150) - Add keycloak authorization capability
-   [#&#8203;31127](quarkusio/quarkus#31127) - Enhancements to instructions for contributing to the Quarkus docs
-   [#&#8203;31334](quarkusio/quarkus#31334) - podman4 can't build any code with quarkus builder
-   [#&#8203;30601](quarkusio/quarkus#30601) - Generate a preview website for documentation MRs
-   [#&#8203;30549](quarkusio/quarkus#30549) - Enhancements and fixes for the Authorization of Web Endpoints section
-   [#&#8203;30419](quarkusio/quarkus#30419) - Enhancing the Authorization of Web endpoints guide
-   [#&#8203;30333](quarkusio/quarkus#30333) - Can't work with Google Oauth2 using qaurkus-oidc
-   [#&#8203;29427](quarkusio/quarkus#29427) - quarkus.oidc.auth-server-url causing weird start-up failure
-   [#&#8203;26152](quarkusio/quarkus#26152) - Resteasy Reactive: ContextResolver<ObjectMapper> not used

</details>

<details>
<summary>quarkusio/quarkus-platform</summary>

### [`v2.16.4.Final`](quarkusio/quarkus-platform@2.16.3.Final...2.16.4.Final)

[Compare Source](quarkusio/quarkus-platform@2.16.3.Final...2.16.4.Final)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/oidc kind/bug Something isn't working triage/needs-reproducer We are waiting for a reproducer.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants