-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Support JDBC ObjectStore in narayana-jta extension #31729
Support JDBC ObjectStore in narayana-jta extension #31729
Conversation
60e2908
to
a0efc85
Compare
...a/runtime/src/main/java/io/quarkus/narayana/jta/runtime/TransactionManagerConfiguration.java
Outdated
Show resolved
Hide resolved
...a/runtime/src/main/java/io/quarkus/narayana/jta/runtime/TransactionManagerConfiguration.java
Outdated
Show resolved
Hide resolved
...ions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/ObjectStoreType.java
Outdated
Show resolved
Hide resolved
.../narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/NarayanaJtaRecorder.java
Outdated
Show resolved
Hide resolved
.../narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/NarayanaJtaRecorder.java
Outdated
Show resolved
Hide resolved
a0efc85
to
47528d1
Compare
...na-jta/deployment/src/main/java/io/quarkus/narayana/jta/deployment/NarayanaJtaProcessor.java
Show resolved
Hide resolved
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.
There is a requirement to disable the automatic creation of the schema for the JDBCStore so we need to expose the following Narayana config properties (with false as the default for createTable):
ObjectStoreEnvironmentBean.createTable
ObjectStoreEnvironmentBean.dropTable
and we should also have
ObjectStoreEnvironmentBean.tablePrefix
and we also need to wait for the release of 6.0.1.Final
...ions/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/ObjectStoreType.java
Show resolved
Hide resolved
47528d1
to
fabcb03
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@mmusgrov The
|
56647f1
to
40b82ff
Compare
This comment has been minimized.
This comment has been minimized.
The 6.0.0.Final version of the coordinator does not support later versions of the client due to JBTM-3767 (LRA API versioning scheme is too restrictive). We've got a PR to fix it so the next version of the coordinator will be more permissive with regards to API versioning. |
40b82ff
to
ba7801f
Compare
This comment has been minimized.
This comment has been minimized.
ba7801f
to
6e5f35b
Compare
This comment has been minimized.
This comment has been minimized.
@zhfeng please can you update me on your plans considering Naryana 6.0.1.Final is out now? Also please kindly:
|
@michalvavrik @zhfeng I have delayed the announcement of 6.0.1.Final while I investigate what looks like a performance regression, when I have a better understanding of the issue I shall provide an update |
ok, thanks @mmusgrov |
@michalvavrik I think we also need a new release of lra-coordinator-quarkus to make the lra tck tests work again with Narayana 6.0.1.Final. I've opened And there is a test plan for this feature https://github.com/quarkus-qe/quarkus-test-plans/blob/main/QUARKUS-2739.md |
I have raised quarkus pr #32922 for the upgrade to 6.0.1.Final |
6e5f35b
to
c9a7be6
Compare
Thanks @mmusgrov and I just rebase this PR to see how CI is working. |
Thanks @zhfeng it is looking good so far. |
This comment has been minimized.
This comment has been minimized.
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, though I added a few suggestions below. You'll probably want to clear up whether transactions can be enabled on the datasource used to store the transaction log, in particular.
...na-jta/deployment/src/main/java/io/quarkus/narayana/jta/deployment/NarayanaJtaProcessor.java
Show resolved
Hide resolved
...ns/narayana-jta/runtime/src/main/java/io/quarkus/narayana/jta/runtime/QuarkusDataSource.java
Outdated
Show resolved
Hide resolved
...a/runtime/src/main/java/io/quarkus/narayana/jta/runtime/TransactionManagerConfiguration.java
Outdated
Show resolved
Hide resolved
...a/runtime/src/main/java/io/quarkus/narayana/jta/runtime/TransactionManagerConfiguration.java
Outdated
Show resolved
Hide resolved
...a/runtime/src/main/java/io/quarkus/narayana/jta/runtime/TransactionManagerConfiguration.java
Outdated
Show resolved
Hide resolved
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Yoann Rodière <[email protected]>
487ae38
to
6fc8350
Compare
✔️ The latest workflow run for the pull request has completed successfully. It should be safe to merge provided you have a look at the other checks in the summary. |
@mmusgrov is there anything you need to add to documentation? @yrodiere I'd like to open a follow up issue for
@geoand I think this PR is good for merging. Is it possible to target for quarkus |
If it gets merged soon, that will happen automatically |
@zhfeng Ah, I assumed that your PR is already including it: https://github.com/quarkusio/quarkus/pull/31729/files#diff-b86c4389d1f3659cbf608fadee4fbad6863020687d3f102c24b44dd00028c10b What more do you think we need to add? |
@mmusgrov the documentation looks good to me right now. Is there anyone can approve and merge it? Thanks! |
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.
@yrodiere I'd like to open a follow up issue for
* Checking datasource used for jdbc object store is not with `transactions = XA` * Enable reflection only on the driver that will actually get used, and only if actually using JDBC for the transaction log
Ok, but please do open that issue now, otherwise we'll just forget :)
@geoand I think this PR is good for merging. Is it possible to target for quarkus
3.1
?
It's good to merge as far as I'm concerned, but I don't know a thing about Narayana, so really my approval is not worth much. I'll defer to @mmusgrov on that front, and it seems he already approved, so... let's merge :)
Just curious, what is this used for?
|
This is not a JDBC Driver, but a native concept of driver within Narayana. From what I understand it's the equivalent of Hibernate ORM's dialects. |
Thanks, thas makes sense. Wondering now if we could get such things initialized at buid time, but that's most certainly an optimisation for another day :) |
Thanks @yrodiere and I raise two follow up issues. |
I just found out the hard way that some properties changed. Instead in Quarkus 3.1 of
it is now in Quarkus 3.2
where the last |
Indeed, that is a breaking change! |
@yrodiere mind adding an entry to the wiki? |
Thanks! |
These changes could fix
But we still need