MC2 Release Notes - February 09 2021
SDP-44149 EDS Interfaces - New Metadata - entitypolicy
Created entitypolicy Ontology
New ontology of issuerrelationship was developed: \estar\tpe\dynamic\metadata\core\ontology\entity\entitypolicy.json \estar\tpe\dynamic\metadata\core\ontology\entity\entitypolicy-models.json
entitypolicy.json contains sql table joins definition, filters definition, extract rules and etc. entitypolicy-models.json contains fields mapping definition.
SDP-46549 Add IncludedExtendedDetails to Swagger for some EML APIs
Added IncludeExtendedDetails to Swagger for Multiple EML APIs
We added the IncludeExtendedDetails parameter to the Swagger for the following EML APIs:
intraday-navs
master-feeder
preferred-shares
entities
accounting-status
cash-activities
wash-sale
SDP-46376 Ontology: Review and update Numeric fields, change format to 26,6
Ontology: Review and update Numeric fields, change format to 26,6
We changed in the EDS Ontology any numeric fields which can have more them two decimal digits to be 26,6 format.
elem_per_resource (1).json
SDP-45587 exception with filters when using sql-based data object
Fixed error for sql-based datasets with empty filters
Errors occurred when trying to refresh dataset cache for sql-based dataset with empty filters. The same error occurred during interface execution based on this dataset. We revised EDS filter initialization and application.
SDP-45573 Add ability to send logs to another interface during processing
Added ability to send logs to another interface
New property log_process_def was added to interface. It should contain name of EDS interface which is going to process logs.
Examples of usage:
"log_process_def": [{ "_id": "app_logs_sender"}],
Logs being passed as base64 in parameter in RTR log_statuses.
Logs being sent in async mode in following cases:
1 First log captured
2 Captured count of logs % 500 = 0
3 At the end of processing
SDP-44943 MD: expand xrefidentifiers xId1-xId20 in processing rules generation
Enhanced processing rules generator to expand correctly nested nodes and xrefIdentifiers in vocabulary
The processing rules generator was enhanced to expand correctly nested nodes and xrefIdentifiers in vocabulary part of load dataset. This allows correctly processing elements from nested nodes during the EDS load.
Example:
"vocabulary": { "xrefIdentifiers": { "path": "xrefIdentifiers", "datatype": "dict" } , "xrefIdentifiers_xId1": { "path": "xrefIdentifiers/xId1", "datatype": "dict" } , "xrefIdentifiers_xId1_xId": { "path": "xrefIdentifiers/xId1/xId" } , "xrefIdentifiers_xId1_xIdType": { "path": "xrefIdentifiers/xId1/xIdType" } , "xrefIdentifiers_xId2": { "path": "xrefIdentifiers/xId2", "datatype": "dict" } , "xrefIdentifiers_xId2_xId": { "path": "xrefIdentifiers/xId2/xId" } , "xrefIdentifiers_xId2_xIdType": { "path": "xrefIdentifiers/xId2/xIdType" } , "xrefIdentifiers_xId3": { "path": "xrefIdentifiers/xId3", "datatype": "dict" } }
Also there was updated generation of resolution service item to support xId1-xId20 identifiers as ids for resolution. Example:
[ "resolution_service", "defaultassetresolutionservice", { "services": [ { "id": "defaultassetresolutionservice", "type": "Asset", "output": { "columns": "security_alias=securityAlias", "errormessage": "error_message" } , "condition": "", "instructions": { "mode": "'indata'", "ids": [ [ "|primaryAssetId|", "|primaryAssetType|", "'primaryAssetId'" ], [ "|cusip|", "'CUSIP'", "'cusip'" ], [ "|xrefIdentifiers_xId1_xId|", "|xrefIdentifiers_xId1_xIdType|", "'xId1'" ], [ "|xrefIdentifiers_xId2_xId|", "|xrefIdentifiers_xId2_xIdType|", "'xId2'" ], ... [ "|xrefIdentifiers_xId20_xId|", "|xrefIdentifiers_xId20_xIdType|", "'xId20'" ] ], "primaryExchange": "|primaryExchange|", "securityAlias": "|securityAlias|", "assetCurrency": "|assetCurrency|", "localCurrency": "|localCurrency|", "issueCountryCode": "|issueCountryCode|", "maturityDate": "|maturityDate|", "battingOrder": "|battingOrder|", "options": "|assetResolutionOption|" } } ] } ]
SDP-46599 pyruleservice install error: "find: missing argument to `-exec'"
Corrected issue with pyruleservice install
Corrected an issue with pyruleservice install due to a missing terminator in an operating system command
SDP-46506 EagleML Installer Fails If There Are Compressed/Binary Files in logs/starweb/msgcenter
Corrected Installer issue with zipped files in logs/starweb/msgcenter directory
Corrected an issue with the EagleML installer trying to parse a compressed log file in the logs/starweb/msgcenter/ directory
SDP-46154 EDS extract - Provide ability to have custom header and sorted data
Enabled a user defined header and sorted data in EDS output
Enabled user defined headers and trailers along with sorted data in EDS output
SDP-46139 Change time to live from 3 hours to 1 hour for userGroups cache for ReST call
Changed time to live from 3 hours to 1 hour for userGroups cache for ReST calls
The BusinessGroup of front end users is cached within MC2 for ReST API extracts. If the front end user is not a super user, the user's business group is included in the request as an entity filter. The time to live for the cache was changed to 1 hour. Changes to the front end user's business group will be reflected within MC2 after 1 hour. The cache can be reinitialized on demand by reinitializing the MC2 rule cache. The time to live can also be set to a custom value in estar/tpe/cfg/eaglemc2s/extractservice/application.yml with an entry as below
(see application.yml.template):
eaglemlrestapi:
services:
EXTRACT:
usergroupscache:
#lifetime of every group name in cache separately
lifetime:
#set hours to 0 if only minutes parameter is needed
hours: 0
minutes: 1
SDP-46054 Incorrect cleanup period of waitevents
Corrected issue with the cleanup of waitevents
Corrected issue with the cleanup of waitevents: increased the interval for cleanup of queue waitevents
SDP-45619 Change workflow_restart rule to avoid delays on MC2 workflow start
Updated MC2 to enable concurrent start of multiple scheduled workflows
Updated MC2 to route RTRs to eagle_ml-2-0_extract_service_control_message stream to enable concurrent start of multiple scheduled workflows
SDP-45266 EDS: OutputFormat shouldn't be case sensitive in rdf (new ontology) extracts
updated EDS extracts with new metadata to make outputFormat case insensitive
updated EDS extracts with the new metadata to make outputFormat parameter case insensitive
SDP-44169 Expression parser API uses SimpleDateFormat in a potentially thread unsafe mode
Updated MC expression parser to use classes from java.time package
Updated MC expression parser to use classes from java.time package
SDP-43725 Use Consistent Time for all healthcheck monitoring type alerts
Updated Health Check to use local time instead of UTC
Updated Health Check to use local time instead of UTC
SDP-41331 Exceptions in the MC2 log with generic extract with nuggetizer
Corrected MC2 issue with nuggetizer used with generic extract
Corrected MC2 issue with nuggetizer when used with generic extract
SDP-45951 EDS: enable display of onStart and onEnd rows when no data and allowEmptyFiles = Y
enabled the display of onStart header and onEnd trailer with no data found
In EDS, enabled the display of user defined onStart header and onEnd trailer in the result when no data is found and allowEmptyFiles parameter = Y.
SDP-45950 EBS: Data header not displayed with source mashup and allowEmptyFiles ='Y' in case of no data
Corrected EDS issue when the data header was not in the output
Corrected EDS issue when the data header was not in the output as expected under these conditions:
interface includes source mashup,
allowemptyfiles is Y,
outputformat is CSV with header,
and no data is found
SDP-45355 Update caching policy for the EDS reportdictionary object to FULL from NONE
Updated caching policy for the reportdictionary object
Changed caching mode in the reportdictionary dataset.
"cache_mode": "none" -> "cache_mode": "full"
Also changed property that defines where the cache is saved.
"cache_provider": "cache-manager-file" -> "cache_provider": "cache-manager-default"
SDP-45253 Change 'hasheader' behavior to not affect OnStart Headers
EDS: updated the control of data versus custom headers
EDS: updated to allow independent control of the display of column (data) header versus custom (onStart) header
SDP-45353 Ontology: Improve TaskStatus Resource to add information about errors
EDS TaskStatus extract enhancements
EDS TaskStatus extract has been enhanced to return additional information, including the error description of the task. The TaskStatus ontology resource supports all common filters as well as several additional filters such as queryoriginalcorrelationid, queryparentcorrelationid. The Task Status resource was updated to support new fields: PACE_MASTERDBO.ORCH_QUEUE.ORIG_CORRELATION_ID PACE_MASTERDBO.ORCH_QUEUE.PROCESS_CORRELATION_ID PACE_MASTERDBO.ORCH_QUEUE.BUS_TASK_ID PACE_MASTERDBO.ORCH_QUEUE.CREATE_DATE PACE_MASTERDBO.ORCH_QUEUE.UPDATE_DATE PACE_MASTERDBO.ORCH_QUEUE.ORCH_STATE_CLOB
Xpath:
EagleML/monitoringTransaction/taskStatus/originalCorrelationId EagleML/monitoringTransaction/taskStatus/parentCorrelationId EagleML/monitoringTransaction/taskStatus/workflowName EagleML/monitoringTransaction/taskStatus/taskName EagleML/monitoringTransaction/taskStatus/startDateTime EagleML/monitoringTransaction/taskStatus/endDateTime EagleML/monitoringTransaction/taskStatus/errorDescription Files changed: metadata/core/ontology/definition/eagle-vocab-definition-common.json metadata/core/ontology/eagle-vocab-common.json metadata/core/ontology/eagle-vocab-enumerations.json metadata/core/ontology/monitoring/taskstatus.json metadata/core/ontology/monitoring/taskstatus-models.json
SDP-46035 Validate user entitlements for Report Rule, Source Rule, Field Rule and few other GET methods of OLAP REST API (via eagle/report/v1/ PACEOLAP REST endpoints)
Unified user Entitlement approach in OLAP REST API GET methods-Phase 2
The GET methods for Report Rule, Field Rule, Source Rule, Benchmark Definition, Grouping rule Range and Filter Fields of the OLAP REST API endpoints have been enhanced to support the unified user Entitlement approach. The method used is the same as what is supported with NXG user entitlements. The results of the GET method extracts will be based on the user profile configurations. The entitlements define the level of access for each user profile based on Center Role, Pace Role, Business User configurations and User's functional permissions. Prior to this enhancement all these GET endpoints did not verify user entitlements prior to fetching the respective data.