What's New in LTS 2025.2 / LTS 2025-HF02
Create a Cloudwatch Reporter to Expose Scale Metric
Scale metric can be exposed in CloudWatch to ease AutoScale group configuration
Nuxeo is now able to report a custom AWS CloudWatch metric based on the Nuxeo Scale metric.
This metric is intended to be used by an EC2 auto scaling group to dynamically scale worker nodes depending on the asynchronous load.
To enable the metric reporter, in addition to the nuxeo-amazon-s3
package, you need to set the following option in nuxeo.conf
:
metrics.cloudwatch.scale.enabled=true
This will publish 2 metrics that can be used in different dynamic auto-scaling types:
Nuxeo/Stream
StepScale
: This is the number of worker nodes to add or remove from the current cluster. It is suited for the Step Scaling policy. You have to define 2 alarms on this metric, a “scale out” alarm when the value >=1 and a “scale in” alarm when the value <-1. In your EC2 auto scaling group, create 2 dynamic scaling policies:- one based on the “scale out” alarm:
- Add 1 capacity unit when 1 <= StepScale < 1.2
- Add 2 capacity units when 1.2 <= StepScale < 2.2
- Add 3 capacity units when 2.2 <= StepScale < 3.2
- Add 4 capacity units when 3.2 <= StepScale < 4.2
- … up to your max capacity
- another based on the “scale in” alarm
- Remove 1 capacity unit when -1 <= StepScale < -2
- Remove 2 capacity unit when -2 <= StepScale < -3
- Remove 1 capacity unit when -3 <= StepScale < -3
- Remove 1 capacity unit when -4 <= StepScale < -5
- … up to your max capacity
- one based on the “scale out” alarm:
Nuxeo/Stream
TargetScale
: This metrics simulate a CPU like utilization with a target of 50%. Just use a Target Tracking scaling policy with a target of 50.
It’s possible to publish only one metric using either metrics.cloudwatch.scale.target.enabled=false
or metrics.cloudwatch.scale.scale.enabled=false
Add Bulk Management Endpoint to Abort a Command
There is now a management endpoint to abort a bulk command.
There is now a management endpoint to abort a bulk command:
DELETE /api/v1/management/bulk/<BULK_COMMAND_ID>
Add New Property to 'quartz.properties.nxftl' and Make 2 Properties Configurable via 'nuxeo.conf'
New nuxeo.conf properties are available to configure quartz scheduler on mongodb
You can now configure the following quartz properties when running on MongoDB:
org.quartz.jobStore.mongoOptionWriteConcernTimeoutMillis
(defaults to5000
)org.quartz.jobStore.mongoOptionWriteConcernW
(defaults toMajority
)
Rollback Changes on a Task When Completing It With an Incorrect Action
Transaction is rolled back when a task completion fails within a wokflow execution.
Support RTL Languages
Arabic and Hebrew locales are enabled and labels displayed right-to-left in the login page.
Allow the Test Framework to Declare Several JUnit Rules of Same Type
Allow the Nuxeo Test Framework to declare several JUnit rules of same type
You can now declare several JUnit rules of the same type in your tests, such as:
public class ITOAuth2Test {
@Rule
public final HttpClientTestRule unauthenticatedClient = HttpClientTestRule.builder().build();
@Rule
public final HttpClientTestRule testUserClient = HttpClientTestRule.builder()
.credentials(TEST_USERNAME, TEST_PASSWORD)
.build();
...
}
UnrestrictedSessionRunner and LockHelper Must Rollback Transaction on Failure
Transaction is marked as Rollback when an exception is thrown within an UnrestrictedSessionRunner or LockHelper