MC2 Release Notes - December 14 2021

Component versions

Version to request for All Services install: 2021.12.14.1

EAGLEINSTALLER 2021.12.14.1
EAGLEML 2021.12.14.1
EAGLEML-W-O 2021.12.14.1
EXTRACTSERVICERULES 2021.12.14.1
IMPORTSERVICERULES 2021.12.14.1
MC2 2021.12.1
kafkaservice 2021.12.1
pypy 2021.9.1
pyruleservice 2021.12.68

openjre:
  openjdk version "11.0.13" 2021-10-19
  OpenJDK Runtime Environment 18.9 (build 11.0.13+8)


SDP-41270 MC2 Enters An Endless Polling Loop for Pace Report Service Task Results if egl_sched_queue Table Was Purged

Corrected MC2 issue with endless loop of eagle_ml-2-0_default_cm_pacepoll stream executions

Corrected issue where MC2 could enter an endless polling loop, running the eagle_ml-2-0_default_cm_pacepoll stream every two seconds if the record for the submitted PACE Reportservice report was removed from pace_masterdbo.egl_sched_queue table.


SDP-51176 The convert() function in EDS is not rounding as expected

Changed the default rounding algorithm in EDS convert() function

Changed the default rounding algorithm in EDS convert() function to evaluate e.g. convert(4.74445,4) as 4.7445 instead of 4.7444


SDP-55128 Add MC/MC2 Health Check notification for failed upload to Azure blob storage

Added the ability for the HealthCheck process to identify a specific BusinessTaskId

Added the ability for the HealthCheck process to identify a specific BusinessTaskId representing the eagle_wrf_cloud_extract workflow.
The BusinessTaskId parameter should be added to the workflow EJM profile as described in https://eagledocs.atlassian.net/wiki/spaces/MC2/pages/9388752898/How+to+configure+cloud+workflow+businessTaskId
The streamconfig.json file should be updated with this additional node:

"actionWorkflow": "ea-alert-template",
"streams": [
{
"name": "eagle_default_ruleservice",
"context_filter": {
"context_attr": [
{
"pattern": true,
"key": "REFERENCE_NO",
"value": "VAUEX*"
}
]


Complete instructions for HealthCheck configuration: https://eagleinvsys.atlassian.net/wiki/spaces/MC2/pages/894504516/Stuck+And+Failed+Alert+Stream+Configuration#StuckAndFailedAlertStreamConfiguration-context_filter


SDP-56454 Python XML2XML: txn node without row node results in incorrect parsing

XML parser was enhanced to parse empty transaction nodes correctly

XML parser was improved to correctly parse transaction nodes in case a row node does not exist.
Files changed:src/eagleinvsys/mc2py/xmldescriptor.py


SDP-56555 EDS groupby parameter is ignored if interface has source mashup

Corrected an EDS issue with groupby parameter

Corrected an EDS issue with groupby parameter where the parameter was ignored if the interface includes a source mashup.


SDP-56931 Enable FailOnExceedingMaxrows in EDS as global configuration parameter

Enabled global configuration parameter to enable FailOnExceedingMaxRows.

Enabled global configuration parameter to enable FailOnExceedingMaxRows.
To enable, add the below to (or create) the file estar/tpe/dynamic/pyrules/custom/env.py


def is_fail_on_exceeding_maxrows():

    return True


SDP-57445 The main EDS Python Ruleservice process leaks threads on worker restarts

Corrected issue with potential thread leak in python queue manager

The EDS Python Ruleservice process was leaking threads on worker restarts leading to the exhaustion of available process resources as set by the ulimit and instability in eagle services.

It was found that the issue is in the python core multiprocessing library implementation.

This change will disable the use of the this library and rely exclusively on kafka messaging to process the requests. The kafka message processing was improved to better load balance the execution of messages between all python rule service workers.


SDP-57577 MC2 Is Not Using The Common Kafka Producer Parameters

Updated the configuration of kafka producers

Updated the configuration of kafka producers