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

Support for WildFly 29 #3368

Closed
4 tasks done
mkomko opened this issue Apr 25, 2023 · 9 comments
Closed
4 tasks done

Support for WildFly 29 #3368

mkomko opened this issue Apr 25, 2023 · 9 comments
Assignees
Labels
type:feature Issues that add a new user feature to the project. version:7.20.0

Comments

@mkomko
Copy link

mkomko commented Apr 25, 2023

User Story (Required on creation)

I can deploy the Camunda BPM platform on WildFly 28 (already released) and WildFly 29 (scheduled for July 13, 2023).

Functional Requirements (Required before implementation)

  • Wildfly 28 and 29 are supported environments
  • Wildfly 26 and 27 remain supported environments
  • Our Wildfly subsystem extension is updated and works with the 27/28/29 versions
  • Our Wildfly subsystem is unit tested against the lowest and highest Wildfly dependencies (compatibility for Wildfly 27)
  • Documentation and migration guide is updated

Limitations of Scope

  • Wildfly 29 final is still not released, even though the release date has passed already. We assume it will be released in the next weeks. If it still doesn't happen, the ticket will fallback to Wildfly 28 only. See WildFly-Roadmap.

Hints

Currently, Camunda 7.19 and WildFly 28 are incompatible, because Camunda uses a lot of JBoss Modular Service Container and WildFly functionality that had been deprecated since 2016 and no longer exists in WildFly 28. See #3368 (comment) for a list.

Here is just the first example where deployment fails:
[org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0002: Error booting the container: java.lang.NoSuchMethodError: 'org.jboss.as.controller.AbstractAttributeDefinitionBuilder org.jboss.as.controller.AbstractAttributeDefinitionBuilder.setAllowNull(boolean)'
	at org.camunda.bpm.wildfly.camunda-wildfly-subsystem@7.19.0//org.camunda.bpm.container.impl.jboss.util.FixedObjectTypeAttributeDefinition$Builder.setAllowNull(FixedObjectTypeAttributeDefinition.java:127)
	at org.camunda.bpm.wildfly.camunda-wildfly-subsystem@7.19.0//org.camunda.bpm.container.impl.jboss.extension.SubsystemAttributeDefinitons.<clinit>(SubsystemAttributeDefinitons.java:142)
	at org.camunda.bpm.wildfly.camunda-wildfly-subsystem@7.19.0//org.camunda.bpm.container.impl.jboss.extension.Attribute.<clinit>(Attribute.java:35)
	at org.camunda.bpm.wildfly.camunda-wildfly-subsystem@7.19.0//org.camunda.bpm.container.impl.jboss.extension.BpmPlatformParser1_1$1.<clinit>(BpmPlatformParser1_1.java:93)
	at org.camunda.bpm.wildfly.camunda-wildfly-subsystem@7.19.0//org.camunda.bpm.container.impl.jboss.extension.BpmPlatformParser1_1.parse(BpmPlatformParser1_1.java:51)
	at org.camunda.bpm.wildfly.camunda-wildfly-subsystem@7.19.0//org.camunda.bpm.container.impl.jboss.extension.BpmPlatformParser1_1$BpmPlatformSubsystemParser.readElement(BpmPlatformParser1_1.java:404)
	at org.camunda.bpm.wildfly.camunda-wildfly-subsystem@7.19.0//org.camunda.bpm.container.impl.jboss.extension.BpmPlatformParser1_1$BpmPlatformSubsystemParser.readElement(BpmPlatformParser1_1.java:377)
	at org.jboss.staxmapper@1.4.0.Final//org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:122)
	at org.jboss.staxmapper@1.4.0.Final//org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69)
	at org.jboss.as.server@20.0.1.Final//org.jboss.as.server.parsing.StandaloneXml_18.parseServerProfile(StandaloneXml_18.java:660)
	at org.jboss.as.server@20.0.1.Final//org.jboss.as.server.parsing.StandaloneXml_18.readServerElement(StandaloneXml_18.java:238)
	at org.jboss.as.server@20.0.1.Final//org.jboss.as.server.parsing.StandaloneXml_18.readElement(StandaloneXml_18.java:139)
	at org.jboss.as.server@20.0.1.Final//org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:132)
	at org.jboss.as.server@20.0.1.Final//org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:52)
	at org.jboss.staxmapper@1.4.0.Final//org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:122)
	at org.jboss.staxmapper@1.4.0.Final//org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:76)
	at org.jboss.as.controller@20.0.1.Final//org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:126)
	at org.jboss.as.server@20.0.1.Final//org.jboss.as.server.ServerService.boot(ServerService.java:399)
	at org.jboss.as.controller@20.0.1.Final//org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:471)
	at java.base/java.lang.Thread.run(Thread.java:833)

Links

Breakdown

Tasks

  1. 2 of 2
    scope:core-api type:subtask version:7.20.0 version:7.20.0-alpha6
    yanavasileva
  2. scope:ci type:subtask version:7.20.0 version:7.20.0-alpha6
    mboskamp
  3. 1 of 1
    scope:ci type:subtask version:7.20.0 version:7.20.0-alpha6
    mboskamp
  4. 3 of 3
    scope:documentation type:subtask version:7.20.0 version:7.20.0-alpha6
    mboskamp

Dev2QA handover

  • Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment
@mkomko mkomko added the type:feature Issues that add a new user feature to the project. label Apr 25, 2023
@ThorbenLindhauer
Copy link
Member

@yanavasileva
Copy link
Member

Hi @mkomko,

Thank you for reaching out to us with this.
I will assign the ticket for a decision so Product management can evaluate and prioritize it. This might take a bit due to the team's other responsibilities.
Nevertheless, as pointed by Thorben, any contribution on the topic will be helpful to bring this forward.

Best regards,
Yana

@yanavasileva
Copy link
Member

@toco-cam, assigning for a decision on this community feature request about WildFly. I didn't find any open tickets on the topic.

@mkomko
Copy link
Author

mkomko commented Apr 26, 2023

@ThorbenLindhauer @toco-cam

I took a closer look and sadly it seems that a lot of components you are using had been deprecated for a long time and have now been removed. The following classes no longer exist:

  • org.jboss.msc.inject.Injector
  • org.jboss.msc.service.AbstractServiceListener
  • org.jboss.msc.service.Service
  • org.jboss.msc.service.ServiceBuilder.DependencyType
  • org.jboss.msc.service.ServiceController.Substate
  • org.jboss.msc.service.ServiceController.Transition
  • org.jboss.msc.service.ServiceListener
  • org.jboss.msc.value.InjectedValue

The following methods have a different signature:

  • org.jboss.as.controller.ObjectTypeAttributeDefinition.setAllowNull
  • org.jboss.msc.service.ServiceBuilder.addDependency
  • org.jboss.msc.service.ServiceTarget.addListener

The following classes are already deprecated:

  • java.lang.SecurityManager
  • java.security.AccessController
  • org.jboss.modules.ModuleIdentifier

The following methods are already deprecated:

  • org.jboss.modules.Module.getIdentifier
  • org.jboss.msc.service.ServiceBuilder.addAliases
  • org.jboss.msc.service.ServiceController.getService
  • org.jboss.msc.service.ServiceController.getValue
  • org.jboss.msc.service.ServiceTarget.addService

The list is probably incomplete.

It seems a lot of that code needs to be rewritten, so sadly I'm not going to be able to provide a pull request.

We would very much appreciate if you could accept this feature request and handle it sooner than later, because then we would be able to create a custom build of the wildfly distro to use with WildFly 28 prior to the Camunda 7.20 release. But of course that is up to you and you might have other priorities.

Thank you very much!

@ThorbenLindhauer
Copy link
Member

Thanks for sharing your findings. I was kind of waiting for this time to come for a couple of years now :).

We would very much appreciate if you could accept this feature request and handle it sooner than later, because then we would be able to create a custom build of the wildfly distro to use with WildFly 28 prior to the Camunda 7.20 release. But of course that is up to you and you might have other priorities.

Indeed we have other priorities right now, e.g. moving to Spring Boot 3. But sooner or later we will get back to this.

@toco-cam
Copy link
Member

Hello @mkomko,

FYI - We will work on this topic this quarter with the target of supporting Wildfly 28+ in the near future.

Regards Tobias

@mkomko
Copy link
Author

mkomko commented Jul 12, 2023

That sounds great, we're looking forward to it! Thank you very much for the information @toco-cam.

@danielkelemen danielkelemen changed the title Support for WildFly 28, 29, 30 Support for WildFly 28, 29 Jul 18, 2023
@mboskamp mboskamp assigned mboskamp and unassigned toco-cam Aug 7, 2023
@mboskamp mboskamp changed the title Support for WildFly 28, 29 Support for WildFly 29 Aug 15, 2023
@yanavasileva
Copy link
Member

Handover to QA:

Environments

With different databases

  • Manual installation and standard regression testing of:
    • WildFly 27
    • WildFly 28
    • WildFly 29
  • Standard regression testing of prepackaged WildFly 29 distribution

Docs

https://docs.camunda.org/manual/develop/installation/full/jboss/manual/

@gbetances089
Copy link
Member

Tested on camunda 7.20 minor release candidate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature Issues that add a new user feature to the project. version:7.20.0
Projects
None yet
Development

No branches or pull requests

7 participants