6.0.8 to 6.0.9
Summary
- SACubeRRAOExport column header rename:
OtherResidualRiskTyperenamed toRRAOCategory. - Distributed messaging API: Messaging classes replaced with
CommunicationRegistrationAPI.
SACubeRRAOExport column header rename
TheSACubeRRAOExport DEE template now exports the RRAO Category column under the header RRAOCategory instead of OtherResidualRiskType. Downstream consumers that parse the export by header name must be updated from OtherResidualRiskType to RRAOCategory.
Distributed messaging API (if customized)
This section applies only if your project customizes distributed messaging classes. TheIMessageHandlerRegistrar pattern introduced in 6.0.8 has been replaced. The following classes have been removed:
BusinessDayCalendarMessageHandlerFrtbCoreMessageHandlerRegistrarDatastoreMetadataMessenger
BusinessDayCalendarMessage is now a Java record implementing Request (from com.activeviam.activepivot.dist.impl.avinternal.communication). Its answer is a nested record implementing Answer and ProcessedOutput.
Handler registration is done inline using the CommunicationRegistration fluent API instead of the @AtotiExtendedPluginValue annotation.
Before (6.0.8):
DistributedParametersRetriever constructor now requires an additional IActivePivotManager parameter. Update any custom instantiations accordingly.
6.0.7 to 6.0.8
Summary
- New DLC Unload Topic Aliases: Purely additive — no migration required.
- OpenTelemetry configuration changes:
tracing.enabledproperty removed; exporters now disabled by default. - JGroups protocol files:
AtotiAuthTokenreplaced withSharedSecretAuthToken. - Distributed messaging API: New
IMessageHandlerRegistrarpattern for custom message handlers. - Import changes: Constants moved from
AxisHierarchyBasetoIAxisHierarchyDescription.
New DLC Unload Topic Aliases
Eight new unload topic aliases have been added to allow selective, per-cube data unloading via DLC:UnloadSA, UnloadIMA, UnloadIMADRC, UnloadPL, UnloadStressCalibration, UnloadCommon, UnloadParameters, and UnloadAllData. No migration is required; these are purely additive. See Unload Topic Aliases for details.
OpenTelemetry configuration changes
OpenTelemetry has been upgraded and simplified:- SDK: 1.49.0 → 1.56.0
- Instrumentation: 1.33.0-alpha → 2.22.0 (stable)
-
tracing.enabledproperty removed — TheOpenTelemetryTracingConfigclass has been removed. Tracing is now configured entirely through OpenTelemetry Spring Boot auto-configuration. -
Exporters disabled by default — OpenTelemetry exporters (
traces,metrics,logs) are now set tononeby default. Previously, tracing was enabled by default whentracing.enabled=true.
- The
tracing.enabledproperty can be removed from your configuration as it is no longer used. - If you were using
tracing.enabled=falseto disable tracing: No action needed (tracing is now off by default). - If you were using
tracing.enabled=truewith-Dotel.java.global-autoconfigure.enabled=true, replace with the new VM flags:
JGroups protocol files
TheAtotiAuthToken class has been replaced with SharedSecretAuthToken. Update all JGroups protocol XML files to use the new class name.
Before:
Distributed messaging API (if customized)
This section applies only if your project customizes distributed messaging classes. The following API changes have been made:IAuthenticatedBroadcastMessagenow takes 1 type parameter instead of 3. Update any class that implements or references this interface.BusinessDayCalendarMessagehas been simplified toAUniqueBroadcastMessage<BusinessDayCalendarMessageAnswer>. Handler logic previously embedded in the message class now lives inBusinessDayCalendarMessageHandler.DatastoreMetadataMessengeris deprecated for removal. Its third type parameter has changed fromIDistributedHierarchyManagertoVoid.- Custom message handlers should now implement
IMessageHandlerRegistrarand register using@AtotiExtendedPluginValue(intf = IMessageHandlerRegistrar.class), rather than embedding logic in the message class itself.
Import changes
The constantsAUTO_CONTRIBUTE_UNKNOWN_MEMBER_ALWAYS and AUTO_CONTRIBUTE_UNKNOWN_MEMBER_PROPERTY have moved from AxisHierarchyBase to IAxisHierarchyDescription. Update any imports or references in your project.
Before:
6.0.6 to 6.0.7
No migration needed.6.0.5 to 6.0.6
Summary
- Changes to the frtb-starter: Updates to the frtb-starter to allow file uploads to be run without executing simulations.
Changes to the frtb-starter
-
The
IFileUploadDataNodeClientinterface has been updated in thefrtb-startermodule, the methodcreateBranchForUIWithoutSimulationhas been added to it. -
The class
FileUploadQueryNodeServicehas been changed extensively. It needs to be copied as is to your upgraded project. -
In the class
FileUploadQueryNodeRestController, the methodresetDataNodeFilesdoes not throw an exception in its signature any more:
- The method
createBranchForUIhas been updated:
- In the class
FileUploadPayload, the Lombok@EqualsAndHashCodeannotation has been added, thetopicsattribute is now a set instead of a list, and the visibility of thetopicsandfilePathSeparatorattributes has been changed:
- The class
FileUploadRestServiceControllerhas been changed extensively. It needs to be copied as is to your upgraded project. - In the class
FileUploadTopic, the Lombok@EqualsAndHashCodeannotation has been added, thefilesattribute is now a set instead of a list, and the visibility of thefilesandnameattributes has been changed:
- In the
CommonDimensionsConfigclass, hard-coded strings have been replaced by constants:
6.0.4 to 6.0.5
Summary
- Crypto 2a Support: Added configuration, cube dimensions, measures, and starter module components to support Group 2a cryptoassets.
- SBM Correlation Scenarios: Introduced a new cube dimension allowing user-defined correlation scenarios for enhanced control over SBM risk calculations.
Configuration files
Parameters
The following parameters have been added to the file FRTBParameters.csv:Configuration properties
Properties added
Datastores
Added stores
Modified stores
Cube schema
Added
Measures
Added
Integration of Crypto 2a into the frtb-starter module
The following classes have been added to thefrtb-starter module:
Crypto2aServiceCrypto2aConfig
FRTBConfig class:
Crypto2aConfigurationProperties is now included in the list of configuration properties classes in the class FRTBConfig:
-
CommonDimensionsConfig-
In the
getSARiskDimensionmethod, the argumentCrypto2aConfigurationProperties crypto2aProphas been added. Before:Now: -
The implementation of that method has been changed to add the Crypto 2a Exchange hierarchy:
Before:
Now:
-
In the
-
The following method has been added:
-
CubesDimensionsConfigTheCrypto2aConfigurationProperties crypto2aPropconfiguration properties are now used in thestandardisedApproachCubeDimensionsbean, and the new Correlation Scenario dimension has been added to that bean. Before:Now: -
DatastoreCustomisationsConfigThe following bean has been added:
Miscellaneous
The following dependency has been added to thefrtb-starter POM file:
6.0.3 to 6.0.4
Summary
- Atoti What-If upgrade: Atoti What-If has been upgraded to 4.1.1-AS6.1. To migrate any custom What-If configuration, see the migration guides for this release.
6.0.2 to 6.0.3
Summary
- Virtual hierarchies can be set with the property
frtb.configuration.virtual-hierarchies. - The new
Curvature CVRmeasure will be disabled by default in 6.0.x versions of . To enable it, set the propertyfrtb.curvature-cvr.enabled=truein theapplication.yamlfile. - Cube distribution can now handle data overlap. This means it is possible to have several data cubes with duplicated data. you need to set
frtb.distribution.enable-data-duplication=true. HistoricalDatesProviderno longer queries the base stores for the list of historical dates. This is achieved by using the database statistics to gather the set of unique dates. TheHistoricalDatesProvidercan be reverted to the previous behavior of executing distinct datastore queries by setting the propertyfrtb.historical-dates-provider.is-using-approximate-members=false.- The zero risk-weight can now be specified per obligor and jurisdiction, defaulting to 0%.
Breaking changes
None.Deprecations
- Cube distribution by field: Distribution of data cubes across nodes by defining clustering fields is deprecated, it should be done with distribution levels.
Input file formats
Added
Configuration properties
Properties added
Properties files
Files Modified
frtb-data-load.properties
New properties:Datastores
Added stores
Databases
Added tables
Measures
Added
6.0.1 to 6.0.2
No migration needed.6.0.0 to 6.0.1
No migration needed.Breaking changes
NoneSummary
- Upgraded to Data Connectors 5.0.4
5.3.0 to 6.0.0
Upgrading from version 5.3.0, see 6.0 Release Notes. uses 6.1.7 and 5.2.x. For new features and fixes included in these releases, please see the documentation and Migration Notes, and the release notes for .Breaking changes
- Measure Configuration: The text replacement template for measure configuration now uses the pattern
#{_name_}instead of${_name_}. See Startup Properties. - frtb-application module: Some of the content of the
frtb-startermodule has been moved to the newfrtb-applicationmodule. - DLC 5.0 Upgrade: With the new version of the DLC, the configuration of the ETL has been simplified.
- What-if endpoints: The (undocumented) what-if REST endpoints used by the Switch Desk Model and Switch Book Desk what-if simulations have changed.
- DoctorPivot endpoint: DoctorPivot is now embedded within the AdminUI. See Relocation of DoctorPivot for more.
Headline announcement
- Upgraded to 6.1.7 : Upgraded to the latest .
- Upgraded to JDK 21 : Upgraded from JDK 17 to JDK 21 to utilize the latest features.
- Removed ActiveMonitor : The Active-Monitor module and related features have been removed.
- frtb-application module: The
frtb-applicationmodule replaces thefrtb-startermodule. All customizations should now be done in thefrtb-applicationmodule, or in a new module based on thefrtb-applicationmodule. - Sign-Off Service Availability: The Sign-Off REST service now throws
ServiceUnavailableExceptions until the initial data loading phase has been completed. The Sign-Off REST service now provides a GET/enabledendpoint to check if the service is currently enabled. - Simplified OpenTelemetry Configuration: We now rely on OpenTelemetry’s GlobalOpenTelemetry to configure the export of logs and metrics.
- OpenRewrite recipes As an experimental feature, we have added OpenRewrite recipes that you can use to automate some of the migration steps.
OpenRewrite recipes
We have included these OpenRewrite recipes as an experimental feature and would welcome your feedback on their usefulness in your migration.
We can then evaluate the feature for potential inclusion in future releases.
Please report any issues you have through the normal Jira channels.
See Using OpenRewrite in Atoti FRTB for instructions on how to run the recipes.
frtb-application module
The new frtb-application Maven module has been split out of the frtb-starter Maven module.
Components moved
The following components have been moved into the new module:FRTBApplicationclass including themain()method.- Spring security configuration
- OpenTelemetry configuration
- Logging configuration
- Content Service configuration
- Configuration files
Configuration classes moved
For the full list of configuration classes that have been moved into thefrtb-application module, see the Moved Classes section.
Data & Test folders moved
The sample data located at/frtb-starter/src/test/resources/ has been moved out of the frtb-starter module to the /sample-data/ folder located at the root of the project.
The tests included in the frtb-starter module have been moved into the new frtb-application-tests module.
OpenTelemetry Configuration
The previous OpenTelemetry configuration has been replaced with a simpleOpenTelemetry bean.
To enable the autoconfiguration of this bean, set -Dotel.java.global-autoconfigure.enabled=true on the command line.
FX Translation Risk
The field “Translation Risk Currency” has been added to support loading translation risk for different reporting currencies. It is now possible to load different translation risks for different reporting currencies. This field is only used ifFXComplexTrade=Y (otherwise the translation risk is calculated automatically).
- If this field is empty, the sensitivity is not treated as translation risk but instead treated normally.
- If this field is set, then the sensitivity will be interpreted as translation risk for that currency. It will be filtered and only used if the translation risk currency is the same as the reporting currency.
Alternative root parameter sets
The propertyparameter-set.root has been added to specify the root parameter set in the configuration and input files.
It is expected that input files are generated for the parameter set specified in this property.
Additionally, the configuration files containing parameters will need to be adapted to the new root parameter set.
- Previously, when no parameter set was specified in the configuration it was assumed to be “BCBS”. Now, these parameters will default to the specified root parameter set.
- Parameter configuration will need to be modified for the new root parameter set.
If you want to set CRR2 as the root parameter set, the above two lines can change to become:
So that the value in the CRR2 parameter set is still “10”, and the value for the BCBS parameter set is still “8”.
Summing Sensitivities
When multiple sensitivities with the same key fields are loaded, they are now summed. Previously this was only done when processing a chunk within a file, now it is done across the whole transaction. The following configuration has been added toapplication.yaml and will sum sensitivities and PVs for the SASensitivities store,
making sure that the currency and a few other fields are the same.
FRTB Modules
Removed
Added
DLC 5.0 upgrade
The upgrade to DLC 5.0 has brought some significant changes to the ETL configuration. For non-FRTB specific DLC migration, please see the DLC 5.0 Migration Guide. DLC configurations for have now been organized intoFrtbDlcConfig.
Loading Topic Configurations
Before the DLC redesign,ChannelParameters were being used to encapsulate DLC configurations into beans.
Now, configurations that were previously found as ChannelParameters beans can be found as Topic Descriptions in the following classes:
Column calculators are now configured as DLC
CustomFieldDescription beans and have been organized into CustomFieldDescriptionConfig.
The DLC implicitly adds CSVColumnParser column calculators based on the store being targeted,
so those have been removed from the topic configurations.
The new DLC also lets you configure parser overrides.
In they can be found in ColumnParserOverridesDescriptionConfig.
Tuple publishers are now configured as DLC TargetDescription beans and have been organized into TargetDescriptionsConfig.
Unloading Topic Configurations
Unloading topics are now completely separate from loading topics. They are configured inUnloadTopicDescriptionsConfig.
Topic Aliases
ETL Extension Updates
See the following sections on how the ETL extensions have changed with the new DLC:- Adding and Populating a New Store
- Adding Columns to an Existing File and Store
- Enriching File Fields by Adding Column Calculators
Removed classes
See the list of classes removed as part of the DLC 5.0 upgrade.Video overview
Check out our video on migrating to Data Connectors 5.0 in 6.0:Input file formats
Modified
Startup properties
The file frtb-config.properties is now loaded into the Spring Boot environment, so the properties in this file can be overridden on the command line. The filemeasures-config.json is now also loaded into the Spring Boot environment. The json file is converted to properties with the prefix “measures”.
The text replacement template in these files now uses the pattern #{_name_} instead of ${_name_}.
The ${_name_} pattern can still be used for Spring Boot’s property placeholders.
Updated properties: changed values or renamed
Changed values:
Deleted properties:
Configuration files
Files Modified
FRTBParameters.csv
Datastores
Modified stores
Databases
Modified tables
Cube schema
Added
Modified Classes
The following classes have been added, removed or had their function replaced with new classes.Added Classes
Removed Classes
DataLoadController
The following classes related to the DLC and data loading have been removed as part of the DLC 5.0 upgrade.Click to see the full list of removed classes.
Click to see the full list of removed classes.
WhatIf
The following classes have been replaced withDatastoreChangeSimulations because the configuration of WhatIfs has changed.
Moved Classes
Migrating to using Atoti Starters
now provides Spring Boot Starters to aid in application development. These starters will auto-configure some basic and required beans for the application to run. has been updated to use these starters. The following changes have been made:Historical Date Provider Service
The historical dates used for theLookback hierarchy measures are now configurable via a IHistoricalDatesProvider bean. By default, a
HistoricalDatesProvider (configured in HistoricalDatesProviderConfig) will be created that provides all AsOfDates available in all base stores.
Sign-Off REST services
The implementation of the Sign-Off REST service now has a Boolean to enable state flag. Out of the box, the Sign-Off REST services are disabled until the initial load is completed. This prevents the Sign-Off server from sending requests on those services before the end of the initial load. The status of the Sign-Off service can be retrieved through a GET request at/enabled.
exceptions are now used instead of the previously used Javax exceptions.
Error messages and constants have been fixed. Their prefix and/or content was previously incorrect.In particular, the constant ERROR_MESSAGE has been
replaced by the constant ERROR_MESSAGE_NO_VALID_DTO_PROVIDED. The exception message prefix has been changed from "[EXPORT]" to "[SIGN-OFF]" in the
error message constants.
Relocation of DoctorPivot
DoctorPivot has been moved from the endpoint/frtb-starter/doctorpivot to now being embedded within the AdminUI’s Measures dependencies tab which is located
at: /frtb-starter/admin/ui/index.html#/measures-dependencies.