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
WFLY-14869 Add support for MicroProfile LRA #514
base: main
Are you sure you want to change the base?
Conversation
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.
Thanks for this proposal @xstefank - I just dropped some minor comments.
Feel free to let me know what you think.
|
||
=== Hard Requirements | ||
|
||
The feature pack will integrate the LRA specification as the Galleon feature pack. |
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.
AFAICT the feature pack will actually integrate the Narayana implementation of the LRA spec into a new Galleon feature pack, right?
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.
Correct, but we reference everything MP LRA related as MicroProfile and only Narayana specific parts as Narayana. I.e., the feature pack is microprofile-lra-participant. I don't think we need to change this. This is similar case as JAX-RS and RESTEasy.
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.
Maybe I didn't make my point. What hit my eye is that the feature pack should be integrating the implementation, rather than the specs. Or at least both, IIUC. But I might be missing something. WDYT?
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.
I don't think there is any new feature pack here. If we're talking a new feature pack, this would stay in WildFly Extras. This needs to be about adding capabilities to the existing 'wildfly' feature pack.
=== Hard Requirements | ||
|
||
The feature pack will integrate the LRA specification as the Galleon feature pack. | ||
The Galleon layer will be available for provisioning. |
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.
Maybe s/layer/feature pack/ ?
Since below we state that the feature pack will make two layers available. WDYT?
The second layer provides the capability of the LRA coordinator - a server which provides HTTP endpoints where applications may register as participants and then the coordinator | ||
calls them back (via HTTP calls) when LRA finishes. | ||
|
||
The feature pack will be placed amongst other MicroProfile WildFly feature packs |
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.
s/feature pack/feature pack implementation/ maybe?
specifics like unique node-identifier per running application server (WildFly). | ||
|
||
As said before the LRA coordinator is based on the Narayana core (`transactions` subsystem within WildFly) | ||
the LRA records and JTA records shares the same storage and recovery processing. |
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.
s/shares/share/ ?
The Galleon layer will be available for provisioning. | ||
The provisioned feature pack will provide all functionality defined in LRA specification for users in WildFly. | ||
|
||
The feature pack will be split to two Galleon layers (i.e., two separate subsystems). |
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.
Can we add the new subsystems' names?
+ | ||
https://github.com/wildfly/wildfly/tree/main/testsuite/integration/microprofile | ||
+ | ||
4. OpenShift testing |
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.
I am thinking whether we should remove OpenShift from this community proposal and add such different platform test details to the product feature test plan. WDYT?
|
||
== Overview | ||
|
||
The goal of this RFE is providing the Galleon feature pack for WildFly which integrates the |
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.
@xstefank I don't think this RFE is about providing a feature pack. It is about integrating the LRA functionality into the existing 'wildfly' feature pack, by providing two new extensions along with Galleon layers.
There are a lot of wording changes below that are needed to deal with removing the notion that there are new feature packs here.
BTW I think this is just about analysis doc wording. The wildfly/wildfly#16547 PR is what I expect; it's about adding functionality to the existing 'wildfly' feature pack.
=== Relevant Installation Types | ||
|
||
* [x] Traditional standalone server (unzipped or provisioned by Galleon) | ||
* [ ] Managed domain |
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.
Why not managed domain?
|
||
=== Hard Requirements | ||
|
||
The feature pack will integrate the LRA specification as the Galleon feature pack. |
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.
I don't think there is any new feature pack here. If we're talking a new feature pack, this would stay in WildFly Extras. This needs to be about adding capabilities to the existing 'wildfly' feature pack.
The Galleon feature pack will be available for provisioning. | ||
The provisioned feature pack will provide all functionality defined in LRA specification for users in WildFly. | ||
|
||
The feature pack will be split to two Galleon layers (i.e., two separate subsystems - microprofile-lra-coordinator and microprofile-lra-participant). |
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.
Is not wanting both a common use case? Is there a big downside to including both when you only need one?
IOW should we have just one layer? Should we have three, with the 3rd being 'microprofile-lra' that depends on the other two?
Having one still allows us to respond to user demand by moving to 3 in the future. Starting with 2 also lets us respond to user demand by moving to 3 in the future, but it also commits us to having 3.
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.
Most common use case would be only the participant. Coordinator is a REST endpoint that can be started separately. Basically similar to message broker. About putting them together I don't know. I will need to see how users will use them. We can always introduce thrid microprofile-lra
if needed later.
|
||
== Release Note Content | ||
|
||
WildFly introduces a new Galleon layer `microprofile-lra` for provisioning. It provides the MicroProfile LRA specification into WildFly. |
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.
This says there's one layer. :)
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.
Thanks @xstefank (and thanks @bstansberry for your input on the feature pack topic).
The proposal LGTM, so I am approving it.
|
||
=== Nice-to-Have Requirements | ||
|
||
Create a quickstart on LRA on how to use LRA with WildFly for https://github.com/wildfly/quickstart. |
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.
Has this quickstart already been created? Do you have the Jira link to share @xstefank ?
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.
no, still on my TODO list
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.
No problem, please consider opening the Jira issue, I would be glad to help you with that quickstart!
No description provided.