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-15548] [WFLY-15446] transaction subsystem: jakarta namespance p… #14975

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 11 additions & 0 deletions ee-9/common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -867,6 +867,17 @@
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>${ee.maven.groupId}</groupId>
<artifactId>wildfly-transactions-jakarta</artifactId>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -424,6 +424,17 @@
</license>
</licenses>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>wildfly-transactions-jakarta</artifactId>
<licenses>
<license>
<name>GNU Lesser General Public License v2.1 or later</name>
<url>http://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html</url>
<distribution>repo</distribution>
</license>
</licenses>
</dependency>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-web-common-jakarta</artifactId>
Expand Down
4 changes: 4 additions & 0 deletions ee-9/feature-pack/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -759,6 +759,10 @@
<groupId>org.wildfly.wildfly-http-client</groupId>
<artifactId>wildfly-http-transaction-client</artifactId>
</exclusion>
<exclusion>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-transactions</artifactId>
</exclusion>
</exclusions>
</dependency>

Expand Down
12 changes: 12 additions & 0 deletions ee-9/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1589,6 +1589,18 @@
</exclusions>
</dependency>

<dependency>
<groupId>${ee.maven.groupId}</groupId>
<artifactId>wildfly-transactions-jakarta</artifactId>
<version>${ee.maven.version}</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>

</dependencies>
</dependencyManagement>

Expand Down
1 change: 1 addition & 0 deletions ee-9/source-transform/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
<module>ee-security</module>
<module>jaxrs</module>
<module>iiop-openjdk</module>
<module>transactions</module>
<module>jpa/spi</module>
<module>jpa/eclipselink</module>
<module>jpa/subsystem</module>
Expand Down
134 changes: 134 additions & 0 deletions ee-9/source-transform/transactions/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ JBoss, Home of Professional Open Source.
~ Copyright 2021, Red Hat, Inc., and individual contributors
~ as indicated by the @author tags. See the copyright.txt file in the
~ distribution for a full listing of individual contributors.
~
~ This is free software; you can redistribute it and/or modify it
~ under the terms of the GNU Lesser General Public License as
~ published by the Free Software Foundation; either version 2.1 of
~ the License, or (at your option) any later version.
~
~ This software is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
~ Lesser General Public License for more details.
~
~ You should have received a copy of the GNU Lesser General Public
~ License along with this software; if not, write to the Free
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-ee-9-source-transform-parent</artifactId>
<!--
Maintain separation between the artifact id and the version to help prevent
merge conflicts between commits changing the GA and those changing the V.
-->
<version>27.0.0.Beta1-SNAPSHOT</version>
</parent>

<artifactId>wildfly-transactions-jakarta</artifactId>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @mmusgrov , if this is not a work in progress PR, essentially, this is just adding a new maven module. You also need to use it for the wildfly-preview feature pack.

From the Brian's tutorial, I'm missing the steps from 9) to 13) for this PR

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the link, I will update the PR

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yersan the latest version of narayana (5.12.4.Final), which is included in this PR, has introduced a performance regression of the transaction log store. I've been trying to track it down this week (the perf jobs takes the best part of a day to run). If we go ahead with this PR then we will still need another narayana release before 26.0.0 can be released.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yersan Just an FYI, we plan to merge the narayana component upgrade with the regression and follow up asap once the dependent library has been fixed (the current plan is sometime next week for the dependency to be fixed).

And I updated my branch to add the missing steps from 9) to 13) but the build fails on the wildfly-preview-feature-pack module and I don't know how to debug that so I asked the question in the wildfly forums (https://lists.jboss.org/archives/list/wildfly-dev@lists.jboss.org/thread/ZCXWAOVBRTOI247RZQ4X5UUVEITI3ZQJ/). Is that the best place to ask that question?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @mmusgrov , I reply to your question in the WildFly dev List. If you still have trouble building it, feel free to upgrade the PR with what you have and we can discuss the details here on GitHub.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @yersan for the debug tip which shows the reason for the failure:

Caused by: java.lang.IllegalStateException: WFLYCTL0153: No META-INF/services/org.jboss.as.controller.Extension found for org.jboss.as.transactions

We have one of those in the subsystem code:

<WFLY repo>/transactions/src/main/resources/META-INF/services/org.jboss.as.controller.Extension

Do we also need one somewhere in the ee-9 part of the source tree?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mmusgrov No really, none of the other subsystems already transformed do anything related to these kinds of services.

I'm not sure about your current structure, can you push your latest version of this PR so we can see what you have at the moment and suggest what is still missing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@yersan I have pushed my updates for steps 9) to 13)

<name>WildFly: Transaction Subsystem (Jakarta Namespace)</name>

<properties>
<transformer-input-dir>${project.basedir}/../../../../transactions</transformer-input-dir>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found that this module is three levels above the transactions module, instead of four. So, replace it by:

<transformer-input-dir>${project.basedir}/../../../transactions</transformer-input-dir>

</properties>

<dependencies>
<dependency>
<groupId>org.wildfly.core</groupId>
<artifactId>wildfly-controller</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>wildfly-ee-jakarta</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>wildfly-iiop-openjdk</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.openjdk-orb</groupId>
<artifactId>openjdk-orb</artifactId>
</dependency>
<dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-transaction-spi-jakarta</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.remoting</groupId>
<artifactId>jboss-remoting</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-annotations</artifactId>
<!-- This is a compile-time dependency of this project, but is not needed at compile or runtime by other
projects that depend on this project.-->
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-processor</artifactId>
<!-- This is a compile-time dependency of this project, but is not needed at compile or runtime by other
projects that depend on this project.-->
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>jakarta.resource</groupId>
<artifactId>jakarta.resource-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.transaction</groupId>
<artifactId>jakarta.transaction-api</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.transaction</groupId>
<artifactId>wildfly-transaction-client-jakarta</artifactId>
</dependency>

<dependency>
<groupId>org.wildfly.wildfly-http-client</groupId>
<artifactId>wildfly-http-transaction-client</artifactId>
</dependency>

<dependency>
<groupId>org.wildfly.common</groupId>
<artifactId>wildfly-common</artifactId>
</dependency>
<dependency>
<groupId>org.wildfly.core</groupId>
<artifactId>wildfly-subsystem-test</artifactId>
<type>pom</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.wildfly.security</groupId>
<artifactId>wildfly-elytron-security-manager</artifactId>
</dependency>
</dependencies>
Copy link
Contributor

@yersan yersan Jan 24, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also found some missing dependencies:

<dependency>
            <groupId>jakarta.enterprise.concurrent</groupId>
            <artifactId>jakarta.enterprise.concurrent-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>jakarta.enterprise.concurrent</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.narayana.jts</groupId>
            <artifactId>narayana-jts-integration-jakarta</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.narayana.jts</groupId>
            <artifactId>narayana-jts-idlj-jakarta</artifactId>
        </dependency>

narayana-jts-integration-jakarta must be also added on the ee-9/pom.xml.

After adding them I'm able to compile and run the tests in that module.

As a final note, it would be desirable to keep these dependencies grouped by those which are Jakarta's native namespace and those that aren't. We have been doing the same for the other transformed modules. In general, it helps to see if we have something pending to upgrade on that module.


<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables combine.children="append">
<ObjectStoreEnvironmentBean.objectStoreDir>${project.build.directory}/ObjectStore</ObjectStoreEnvironmentBean.objectStoreDir>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
</exports>

<resources>
<artifact name="${org.wildfly:wildfly-transactions}"/>
<artifact name="\${org.wildfly:wildfly-transactions@module.jakarta.suffix@}"/>
</resources>

<dependencies>
Expand Down