-
Notifications
You must be signed in to change notification settings - Fork 7.4k
Oracle driver problems in Keycloak 26.2.1 #39189
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
Conversation
Closes keycloak#39182 Signed-off-by: Martin Bartoš <mabartos@redhat.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for the PR @mabartos.
However, what concerns me is that tests didn't catch it. It's not really XA related, is it? Also non-XA artifacts were renamed, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM thanks @mabartos
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.