Oracle driver problems in Keycloak 26.2.1#39189
Conversation
Closes keycloak#39182 Signed-off-by: Martin Bartoš <[email protected]>
|
Created #39192 |
|
@vmuzikar Thanks for creating that issue! |
@vmuzikar the oracle driver jar provides both oracle.jdbc.OracleDriver, and oracle.jdbc.driver.OracleDriver. It does look like oracle.jdbc.OracleDriver is the prefered one, but that doesn't match what quarkus is using - https://docs.oracle.com/cd/E18283_01/appdev.112/e13995/oracle/jdbc/package-summary.html Can't find any acutal deprecation notice about the oracle.jdbc.driver package. |
|
@shawkins Can we then trust this actually fixes the issue? 🤔 |
|
Yes, as @shawkins mentioned, there are two of them for non-XA. I haven't found the difference rationale as well, so I'm just relying on the Quarkus reference |
As @mabartos says, if we trust quarkus :) |
For XA: @vmuzikar It will definitely solve the issue as the previous XA driver referenced interface that the actual XA driver implements. From my understanding, Agroal uses reflection to create instances of these drivers, and the interface basically does not have the required constructor - cannot be initialized. For non-XA: The change in this PR is not required, but at least we're aligned with Quarkus. |
These docs might not be up-to-date as seen here: quarkusio/quarkus#47530, but it's the current way. It'd be good to verify what is preferred for the Oracle driver. |
From that perspective, I'd say that Quarkus is out-of-date, but has yet to matter because Oracle doesn't want to break anyone. |
Closes #39182
Based on Quarkus reference: https://quarkus.io/version/3.20/guides/datasource#extensions-and-database-drivers-reference
@shawkins Could you please check it? Thanks!
We should consider having some tests for XA.