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

WFLY-14869 Add support for MicroProfile LRA #514

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

xstefank
Copy link
Member

No description provided.

Copy link

@fabiobrz fabiobrz left a 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.

transactions/WFLY-14869-microprofile-lra.adoc Show resolved Hide resolved

=== Hard Requirements

The feature pack will integrate the LRA specification as the Galleon feature pack.

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?

Copy link
Member Author

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.

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?

Copy link
Contributor

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.

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

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.

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).

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

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
Copy link
Contributor

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.

transactions/WFLY-14869-microprofile-lra.adoc Show resolved Hide resolved
=== Relevant Installation Types

* [x] Traditional standalone server (unzipped or provisioned by Galleon)
* [ ] Managed domain
Copy link
Contributor

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.
Copy link
Contributor

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).
Copy link
Contributor

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.

Copy link
Member Author

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.
Copy link
Contributor

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. :)

@xstefank xstefank changed the title WFLY-14869 MicroProfile LRA galleon feature pack WFLY-14869 Add support for MicroProfile LRA Feb 27, 2023
Copy link

@fabiobrz fabiobrz left a 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.

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 ?

Copy link
Member Author

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

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants