Scopes
The scope describes which data is loaded and unloaded. Each request to the Data Load Controller contains a scope. In the default implementation, the as-of date scope is turned into a directory and all the files in that directory are loaded. When unloading data, the scope is turned into a RemoveWhere clause to be run on the datastore. There are three different scopes in the default implementation.Topic Aliases
Each input file is loaded with a topic (see Input file formats). Topic aliases are used to group those topics. The topic aliases are defined in the application.yaml file. Atoti Market Risk contains the following topic aliases:Configuration Properties
The following Spring properties can be set:- The aliases are defined under the
dlc.aliasesand can be customized. - The input sources are defined under the
dlc.local.sourcesanddlc.csv.azure.sourcesand can be customized. - The default topics used by Atoti Market Risk are defined by Java beans and not by the DLC configuration. The used file patterns are defined in their own section outside the DLC property set.
- The default local csv source setup is provided by the file application-dlc-local-csv.yaml accessible with the Spring profile
dlc-local-csv. - The default Azure csv source setup is provided by the file application-dlc-azure-csv.yaml accessible with the Spring profile
dlc-azure-csv.
dlc.csv-topics to add topics to Atoti Market Risk.
Initial Load
On startup, the following topic aliases are loaded (without parameters):- AllConfiguration
- If the configuration parameter
mr.data-load.initial-business-datesis set, the as-of dates listed are used. For example, in theapplication.yamlfile:
- Otherwise, the top level of the data directory is scanned for directories whose names are dates. These dates are used for the as-of dates in the initial load. (This matches the previous start-up behavior).
- AllAttributes
- AllFacts
mr.data-load.initial-business-dates=2018-09-27 then 2018-09-28 will be
loaded for:
- MarketData
- FXRates
How does the batched initial load work?
Settingmr.data-load.initial-load-batch-size to a positive value makes the initial load list the
files available for each date and load them in batches of at most that many files, instead of one
request per topic. This bounds the size of a single load request on sources holding many files.
Listing is performed by a DateFileLister, implemented for the local CSV and AWS S3 sources only.
With the dlc-azure-csv profile and a positive batch size, no file is listed and no daily data is
loaded, so leave the property unset on Azure deployments.
Listed paths are relative to the date-substituted source root and carry no date directory: for a
source root of data/#{AsOfDate}, the file data/2025-01-10/Delta.csv is listed as Delta.csv.
Topic file patterns are matched against those names, so the shipped defaults (glob:**Foo*.csv)
match unchanged, as do a glob: pattern whose leading component is a wildcard segment or /
(glob:**/Delta*.csv, glob:*/Delta*.csv) and a regex: pattern written against either the bare
or the rooted name (regex:Delta.*\.csv, regex:.*/Delta.*\.csv). What cannot match a bare name is
a glob: pattern carrying a separator anywhere else (glob:**/sensitivities/Delta*.csv): it
selects nothing and the topic is skipped with a No files matched pattern log line.
REST Service
HTTP POST URL: /mr-application/connectors/rest/dlc/v2/execute
Body (sample):