Bug Fixes (9.3.3.0)

Bug Fixes (9.3.3.0)

This page describes the bug fixes in 9.3, consecutive service packs, and emergency releases.

Version

Case ID

Internal ID

Components

Summary

Version

Case ID

Internal ID

Components

Summary

9.3.0.0

45706

XE-14606

Documentation

Description

The mzsh status command is present in the documentation but is no longer available.

Resolution

The mzsh command has been removed from the relevant documentation

9.3.0.0

 

XE-14581

Prometheus

Description

The PrometheusUDR UDR type does not support the MZTagged format. This means that if you try to encode and decode this UDR type to for example send it to another workflow, the data will be lost.

Resolution

The issue has been fixed

9.3.0.0

45695

XE-14556

Documentation
Workflow Group

Description

The wfgrouplist command line switch [ -members ] and a description are missing from the documentation.

Resolution

The command line switch [ -members ] and a description have been updated in the relevant documentation.

9.3.0.0

45523

XE-14536

Documentation

Description

There is a reference to Autostart workflow that is no longer applicable in MZ 9.x

Resolution

The references to Autostart workflow have been removed from relevant MZ 9.0 documents

9.3.0.0

45197

XE-14492

Devkit

Description

When sending large blocks of data over RCP, the buffers used for marshaling data grow, but are never cleaned up until the writing thread stops. This can cause a limited memory leak.

Resolution

These buffers are now kept on WeakReferences so that the garbage collector can clean them up and they will no longer cause memory issues for the process.

9.3.0.0

45541

XE-14377

JSON Decoder

Description

When decoding JSON to a UDR, you will get decoding errors if you try to decode a null JSON value into a UDR field that is Java primitive. This happens either using jsonDecodeUdr APL function or the JSON decoder in the Decoder agent.

Resolution

Now, this will be decoded to the default value for the corresponding type. Ie {{false}} for boolean fields and 0 for numeric fields.

9.3.0.0

45577, 45443

XE-14374

Aggregation

Description

The aggregation session storage in MZ9 is not fully backwards compatible with MZ8. This causes some session data types where the session contains other UDRs to become unreadable.

Resolution

The MZ9 session data reader code has been fixed to be able to read any MZ8 session data after upgrade

9.3.0.0

45515

XE-14361

JSON Decoder

Description

When decoding JSON to UDRs in APL or through the Ultra decoder, then the handling of invalid dates have changed from MZ8 causing backwards compatibility issues. In MZ8 this was decoded as null, while now it instead results in an exception.

Resolution

The handling of date fields in the JSON decoder has changed. Empty fields are now treated as null and not considered an error. Any other string that is not recognized as a valid date will also be decoded as a null value, but will cause a warning about the invalid date string to be logged.

9.3.0.0

45512

XE-14352

Jackson

Description

The code for decoding an empty json string has some incorrect behaviour that is not present in previous MZ versions.

Resolution

The incorrect logic is fixed and decoding an empty json string will not throw an exception.

9.3.0.0

45513

XE-14344

Jackson

Description

An OutOfMemoryError will occur when attempting to decode a JSON string with the incorrect datatype using the JsonDecodeUdr APL function.

Resolution

This is resolved by fixing the decoding logic to generate the appropriate error message with the relevant information.

9.3.0.0

44586

XE-14282

Security Profile

Description

When importing a Web Service profile with an embedded Java keystore from MediationZone 8.3 to MediationZone 9.2, the keystore is missing during the import process.

Resolution

If a service profile includes an embedded Java keystore and the keystore path in the profile specifies only a file name, the keystore will be exported to a file in $MZ_HOME/etc during import to ensure its contents are preserved.

9.3.0.0

45449

XE-14264

SQL

Description

An error message saying "Failed to write to the [file: Strea|file: Stre]m closed" will be displayed after exporting SQL statement successfully from the SQL Agent.

Resolution

Removed the unnecessary writer.flush() method call.

9.3.0.0

45034

XE-14262

Alarms
Documentation

Description

The Alarm Detection documentation contains a description on the states of alarms in versions 9.0 and above where the Alarms are now stateless.

Resolution

Documentation has been updated to reflect the change in versions 9.0 and above.

9.3.0.0

45405

XE-14257

MZSH

Description

: When the platform database is unavailable, {{NullPointerException}} is thrown during platform startup.

Resolution

: The exception has been replaced with a short informative message that advises customers to check platform.log.

9.3.0.0

45422

XE-14253

Desktop Launcher

Description

The mz.httpd.security.key.password and mz.httpd.security.keystore.password properties configured on the platform are exposed in the Desktop Launcher.

Resolution

Filtered out these 2 properties from the Desktop Launcher.

9.3.0.0

45256

XE-14221

Devkit

Description

If you create a DTK agent plugin and package that with the {{-osgi}} flag, then this breaks for the {{vcimport}} command. If you try to import a workflow containing such an agent with {{vcimport}}, then all configuration for that agent is lost and the workflow becomes invalid.

Resolution

The issue has been fixed

9.3.0.0

45288

XE-14173

Analysis
Workflow Packages

Description

Dynamic APL Functions did not work inside a workflow package when the code had a reference to some other APL Profile.

Resolution

The Dynamic APL Function now works as expected inside a workflow package.

9.3.0.0

45153

XE-14172

SAP RFC Profile

Description

When UDR is generated for the SAP RFC Function, certain data elements have fields which do not have a name. The UDR generation process will rename these fields to “_” which is not a valid identifier in Java 9 and above as it is considered a keyword.

Resolution

Add handling to skip UDR generation for fields that do not have a name.

9.3.0.0

45272

XE-14139

Workflow UI

Description

Unable to edit Logged MIMs items when Abort after one cancel batch is selected in Desktop.

Resolution

Created a separate VerticalLayout for Logged MIMs so that it is always editable.

9.3.0.0

45272

XE-14138

APL

Description

NullPointerException occurs when logging MIM values in the System Log.

Resolution

Try to check each of the MIM values and see if it is NULL. Just return an empty string if it is NULL, do not call the toString() method.

9.3.0.0

 

XE-14094

SAP RFC Profile

Description

When using the Real Time Disk Agent and SAP RFC Processor Agent within a workflow, any running loops created in the following Analysis agent will stop running once the Disk Agent has finish collecting the files. A stop signal is sent from the Disk Agent to the RFC Processor Agent which stops all currently processing loops.

Resolution

A timer task was added which constantly checks if the RFC Agent is still in processing state. It will block the stop signal until the RFC Agent completes processing the UDRs received from the disk agent.

9.3.0.0

45232

XE-14062

Encoder

Description

Regardless if skipEncoding is checked or not, the validation will always check to ensure the Encoder is not empty.

Resolution

When skipEncoding is checked, it should allow the Encoder to be empty.

9.3.0.0

44565

XE-14017

Aggregation

Description

When sessions are written to file storage and then read back, this can change the object graph. This has the effect that if the session contains multiple references to the same object, the effect of updates to that object may vary unpredictably depending on whether the session has been swapped down to storage during processing.

Resolution

The serialization strategy for the aggregation session storage has been changed in a backwards compatible way. Any writes to storage will now preserve the object graph.

9.3.0.0

45077

XE-13921

External References

Description

In some situations, configurations in Workflow Packages that uses an External Reference Profile may not work due to the profile not being found at runtime. This is due to the system will instead try to look for the External Reference Profile outside the workflow packages, which happens for example for Archiving.

Resolution

The lookup of the profile has now been fixed to use the correct workflow package.

9.3.0.0

45097

XE-13918

Upgrade

Description

Workflow tables that references HTTPD’s keystore and truststore fields disappear after upgrading from MZ8. After upgrading from MediationZone 8, workflow tables that reference HTTPD’s keystore and trustore fields disappear. After upgrading from MZ8, workflow tables that reference HTTPD's keystore and truststore fields disappear.

Resolution

The keystore and trustore fields for HTTPD no longer exist, as MediationZone 9 uses Security Profile instead. A note is added to the HTTPD documentation to inform users on this issue.

9.3.0.0

45078

XE-13848

Aggregation

Description

An aggregation session containing map field(s) is serialized on mz8. The same session can’t be deserialized on mz9 because information about which map class to use is missing.

Resolution

If the map deserialization fails on mz9, try to deserialize with a default map instead (java.util.HashMap). During testing the same error was found for lists. It has been fixed using the same method.

9.3.0.0

45082

XE-13843

Inter Workflow
RCP

Description

When the Realtime Inter Workflow Forwarding agent loses network connection to a remote storage service, the error handling is poor and the workflow can often not recover and aborts unnecessarily.

Resolution

The error handling has been improved. The workflow will now always try to find a new storage reference and reconnect and will also retry a number of times to avoid problems with short lived issues and support the remote storage EC shutting down and the storage being restarted on a different EC.

9.3.0.0

 

XE-13835

Core

Description

The CVE-2021-47621 is present in classgraph library.

Resolution

This CVE is resolved by upgrading the classgraph library.

9.3.0.0

44843

XE-13762

Ultra

Description

The Ultra XML Schema validation is broken for xs:all elements that contains child elements that are of complex type. The standard limitation that maxOccurs may only be a maximum of 1 is validated recursively for all child elements of xs:all. Furthermore, if the value “unbounded” has been used, an exception is thrown instead of a good validation message.

Resolution

The validation has been corrected.

9.3.0.0

45012

XE-13733

JSON Decoder

Description

Due to an old version of the JSON schema parser and validator being used, only very old versions of the JSON schema standard are supported.

Resolution

The validator has been upgraded to the latest version, and JSON Schema versions up to and including 2020-12 should now be supported.

9.3.0.0

45016

XE-13713

Upgrade

Description

When upgrading from MZ8 to MZ9, some workflow configuration may fail during the migration.

Resolution

Fixed vcimport issue when there are no matching parameters found in workflow table column and the issue where the migration of configuration from MZ8 might overwrite existing configurations.

9.3.0.0

44999

XE-13710

Ultra

Description

Previously we have not supported global named attributes. If you tried to define such an attribute a parsing exception was thrown.

Resolution

Global named attributes, or named attributes at the root level are now supported and can be used from other non-root attributes with the ref argument.

9.3.0.0

 

XE-13687

Vaadin

Description

It was detected that Desktop had a vulnerability to Clickjacking and that strict transport security was not supported.

Resolution

These security issues have now been mitigated by implementing HSTS support. There is a new property mz.httpd.security.hsts.enabled that can be used to by add a response header ‘Strict-Transport-Security’. The response header X-Frame-Options will by default be set to DENY to prevent framing.

9.3.0.0

44780

XE-13685

Core

Description

Description Invalid http post requests only give generic stacktrace in log files. Resolution The exceptions are caught and written to the log with added information about the request, source and destination host/ports.

Resolution

9.3.0.0

44946

XE-13663

APL

Description

Dynamic Functions do not work if executed in Workflow Packages.

Resolution

The issue has been fixed by ensuring that the Dynamic Functions generated in the Workflow Packages use the same classloader during execution.

9.3.0.0

44877

XE-13629

JSON Decoder

Description

The jsonFormat() APL Function uses a Gson object to format the UDR. The same object is also used by the jsonEncodeUdr() APL function. Depending on the order of which the methods are called, the Gson object will be initialized with different parameters. This causes the jsonFormat() APL Function to have inconsistent output.

Resolution

Initialize a new Gson object with the correct parameters jsonFormat() is called.

9.3.0.0

44918

XE-13624

SNMP
Workflow Packages

Description

When a SNMP agent is imported through a workflow package it is impossible to run it due to missing classes despite the fact that they are present in the exported package

Resolution

The classloading issue has been fix and and classes can be loaded correctly

9.3.0.0

44825,44829

XE-13612

Documentation
Git Support

Description

*Description:* Users are only able to securely authenticate with Github and they are not able to do so using Bitbucket or Gitlab. *Resolution:* The dropdown ‘Git Provider’ has been added to the File System Profile configuration which allows users to authenticate using Bitbucket, Gitlab or Github.

Resolution

9.3.0.0

44653

XE-13536

Devkit
VCFormat

Description

When upgrading from MZ8 to MZ9, the configuration migration may fail for some workflows containing DTK agents. The problem appears when some of the fields of the DTK agent has been configured in the Workflow Table, and those field had a name starting with a capitalized letter. Due to how field names are calculated in MZ9 from the reflection logic, they will always start with a lower case letter, and this mismatch can cause problems for the configuration migration code. The same issue affect the {{vcimport}} command when importing MZ8 configurations, since this uses the same storage format for configurations.

Resolution

The issue has been fixed and the Workflow Table values are now correctly imported.

9.3.0.0

44767

XE-13503

Documentation
File System Profile
Git Support

Description

When reading the user documentation for File System profile, there is no information about Git configuration.

Resolution

Information about how to configure Git has now been added in the File System profile documentation.

9.3.0.0

44724

XE-13500

Core

Description

For a Workflow Configuration using Dynamic Fields, validation can become extremely slow if you have many rows in the workflow table. This is due to failures in field type lookup causing a large amount of synchronous requests to be sent from the UI process to the platform.

Resolution

The issue has been fixed and the unnecessary lookup attempts have been eliminated.

9.3.0.0

43799

XE-13497

APL

Description

The caching logic in the validateJwt() function uses the JWKS URL and the complete token as the cache key, rather than the key ID. Consequently, the JWKS must be fetched from the server for every request, even if the key ID is the same. This can be problematic as servers typically limit the number of allowed requests.

Resolution