WFLY-19592 [MP Platform 7] MicroProfile Fault Tolerance 4.1
Overview
The goal is to integrate MicroProfile (MP) Fault Tolerance (FT) 4.1 specification from the MP Platform 7.0 to WildFly at default stability level. The specification is implemented by SmallRye (SR) FT project. To certify functionality, the MP FT TCK is run as part of the WildFly testsuite.
User Stories
User wants to deploy an application using MicroProfile Fault Tolerance 4.1 from MicroProfile Platform 7.0. Users electing to employ MicroProfile Telemetry metrics will have MicroProfile Fault Tolerance metrics collected as well.
Issue Metadata
Related Issues
-
WFLY-19588 Implement MicroProfile Platform 7 – MP Platform parent issue
-
WFLY-19590 MicroProfile Telemetry 2.0 – dependency of this issue for full Telemetry metrics integration
Affected Projects or Components
Other Interested Projects
-
Eclipse MicroProfile Fault Tolerance – MP Specification and TCK sources
-
SmallRye Fault Tolerance – implementation
Relevant Installation Types
-
Traditional standalone server (unzipped or provisioned by Galleon)
-
Managed domain
-
OpenShift Source-to-Image (S2I)
-
Bootable jar
Requirements
-
Upgrade MP FT specification modules to 4.1.
-
Upgrade SmallRye FT to latest relevant version that implements this spec.
-
Enable collecting metrics with MP Telemetry when the subsystem is available in the server configuration.
-
Simultaneous metrics collection: Historically, when WildFly removed MP Metrics support, we have provided an optional Micrometer integration in SR FT in order to keep providing metrics collection support. This integration is not defined by the FT spec. The MP FT 4.1 spec defined MP Telemetry metrics collection. The spec also defines concurrent collection when both MP Metrics and MP Telemetry is available. Analogously, when both subsystems are available, we will collect metrics also with Micrometer. While this is helpful for instance as an upgrade path, simultaneous metrics collection might not be desirable in all situations. For that purpose, we will be supporting MP Config properties to fine-tune metrics collectors in use. These properties
smallrye.faulttolerance.micrometer.disabled
andsmallrye.faulttolerance.opentelemetry.disabled
are now supported by upstream SR FT (since SR FT 6.6.3 and 6.7.0) and documented. Note, that this is in addition to an existing spec-defined MP Config property to disable metrics collection by MP FT altogether.
-
Changed requirements
-
N/A
Non-Requirements
-
N/A
Future Work
None.
Backwards Compatibility
The specification and the implementation do not introduce any incompatibilities from the previous version (MP FT 4.0).
Default Configuration
There are no changes to the existing configuration.
Importing Existing Configuration
The subsystem does not have any configuration, so existing subsystem configuration is not affected.
Deployments
The specification and the implementation do not introduce any incompatibilities from the previous version relevant to deployments.
Interoperability
-
N/A
Implementation Plan
For the integration with Telemetry metrics to function,
the integration of its subsystem and modules is required.
Implementation will be done in the created mp-7-wip
branch in WildFly upstream repository.
Admin Clients
-
No effect on the existing clients, there are no model changes.
Security Considerations
-
No security implications of this integration.
Test Plan
Manual testing, apart from initial exploratory testing, will be performed to validate existing MP FT quickstart still functions and behaves as expected.
The following test suites will be used to validate this change:
-
MicroProfile Fault Tolerance TCK tests will be added and executed by CI as part of the WildFly testsuite (in
testsuite/integration/microprofile-tck/fault-tolerance
module) -
WildFly-specific behavior and configuration is covered by existing tests in the WildFly testsuite (in
testsuite/integration/microprofile
module) -
Upstream implementation testsuite is executed, also covering MicroProfile Fault tolerance → MicroProfile Telemetry integration.
-
The corresponding MicroProfile tests from EAP MicroProfile test suite, also covering MicroProfile Fault tolerance → MicroProfile Telemetry integration.
Community Documentation
References to the MP FT specifications in the existing documentation will be updated to reflect the updated versions.
Release Note Content
MicroProfile Fault Tolerance support in WildFly has been updated to version 4.1, implemented by SmallRye Fault Tolerance project version 6.5. This new release brings bug fixes and updates to MP FT support, as well as adding support for Telemetry metrics.