Contact Free trial Login

Mule Runtime 4.2.2 Release Notes

Initial Release: November 15, 2019

Mule 4.2.2 includes enhancements, changes, known limitations, fixes, and patch releases.

New Features and Enhancements

DataWeave:

  • Tree and Value function modules are new in this release.

  • Support for xsi:types and the xsiType function in the Core function module.

  • Support streaming by Excel reader.

API Gateway:

  • General performance improvements and issues fixed.

Changes

Not applicable.

Known Limitations and Workarounds

Not applicable.

Upgrade Requirements

Not applicable.

October 2020

Patch release version: 4.2.2-20200921

The October update addresses the following issues:

Issue Description

MULE-18573/SE-15592

Fixed an issue that occurred when an app transformed data using variables.

MULE-18742

Fixed a race condition that produced a ConcurrentModificationException error in Log4jContextFactory when canceling a registered callback while disposing an application.

MULE-18164/SE-14610

Fixed an error that occurred when deploying the Async scope in a custom policy.

SE-15624

Fixed an issue in which the FTP redelivery policy didn’t work in the debugger.

MULE-17725/SE-15590

Resolved an issue in which a configuration property value for a key could not be found after restarting the domain.

MULE-17880/SE-12712

Fixed multiple warning log entries that occurred when using a caching strategy.

AGW-4336

Resolved a problem in which client ID and client secret expressions were incorrectly processed by the encryption engine when applying the Client ID Enforcement policy with the policy encryption mode set to SENSITIVE_ONLY.

SE-16350

Fixed a problem in DataWeave in which the CSV reader skipped lines when using header=false with bodyStartLineNumber.

SE-13440

Fixed an OutOfMemoryError issue that occurred when using the Batch Aggregator Component.

SE-17212

Resolved a problem in which defining a Client ID Enforcement policy failed with encrypted client credentials.

MULE-18047/MULE-18634

Cursor troubleshooting now includes the component that generated a cursor provider.

MULE-18687

Resolved an issue in which an HTTP request with an invalid OAuth token sometimes hung.

September 2020

Patch release version: 4.2.2-20200824

The September update addresses the following issues:

Issue Description

MULE-18657/SE-14959

Fixed a problem that prevented primary node initialization in Anypoint Connector for Salesforce (Salesforce Connector).

MULE-18665/SE-16278

Fixed the RegistryLifecycleCallback logger so that it no longer prints the customer’s security key.

MULE-18628/SE-16435

Resolved a problem in which applications were unable to retrieve objects from the cache due to serialization issues.

SE-15067

DataWeave now properly handles the #[ sequence inside a String value in Mule operations, such as Logger.

MULE-18548/SE-14272

Fixed an issue in which the Cache scope in a cluster configuration did not effectively monitor the cache in the secondary node.

MULE-18584/SE-16130

Fixed a memory leak caused by unclosed cursors when used with Foreach loops.

SE-16455

Resolved a memory leak that could cause OutOfMemory errors, which occurred when the app didn’t explicitly nullify the payload at the end of the Foreach loop.

MULE-18604/SE-12900

Fixed an issue in which NTLM authentication-dancing failed when performing multiple parallel requests requiring renegotiation.

MULE-17987

Fixed a problem that occurred when logging an error for a component that contains a special character, for example, when using the Cryptography module.

MULE-16688

Fixed a problem that occurred when using a property placeholder on an import tag with deployment properties, which prevented placeholders from being replaced.

MULE-17659

Fixed a problem related to custom configuration properties providers not being able to depend on deployment properties.

MULE-18390

Fixed an OutOfMemoryError: Metaspace issue that occurred when running MUnit tests.

SE-13440

Fixed an OutOfMemoryError issue that occurred when using the Batch Aggregator.

SE-14220

Fixed a NullPointerException error that occurred when using the Flat File format in DataWeave.

SE-15894

JSON binary values are now encoded into strings consistently across DataWeave versions.

SE-16167

The DataWeave Avro module now correctly converts logical types.

SE-16539

Fixed an error that occurred in DataWeave when parsing JSON with whitespace between array elements.

SE-16620

Resolved an issue in which an AVRO decimal value was incorrectly treated as a string and not a decimal.

August 2020

Patch release version: 4.2.2-20200727

The August update addresses the following issues:

Issue Description

MULE-18579

Resolved an issue in which when an object store expired, it loaded all deserialized entries into memory, doubling memory consumption.

MULE-18288, SE-16676

Resolved a problem that led to memory leaks from plugins and apps that use the Scala language.

MULE-17814, SE-14021

Fixed an issue in which setting -Dmule.classloading.verbose=true prevented MUnit tests from running due to an endless loop.

MULE-17862, SE-13617

Resolved a problem when using Mule 4 on Windows in which MUnit tests failed postexecution, with the IOException: Unable to delete file error.

MULE-18312, SE-13775

Resolved an issue in which running the MUnit test for an application using APIkit failed to upgrade from 4.1.4 to a later version.

MULE-18286

Fixed a problem in which error mappings were not used when running an application with lazy initialization on MUnit.

MULE-16965/MULE-17845, SE-13491

Resolved a MuleRuntimeException error namespace already exists that occurred when running MUnit tests.

MULE-17726, SE-13425

Fixed an issue in which MUnit 2.2.1 failed to stop an artifact cleanly.

SE-13426

Resolved a problem in which an application with more than one test suite failed to run MUnit when triggered by a Maven plugin, but ran MUnit correctly in Anypoint Studio.

SE-15892

Fixed a problem in which MUnit tests failed if the app used Object Store after upgrading from Mule 4.2.2 to a later MUnit and Mule runtime release.

MULE-17863, SE-13533

Resolved an issue in which MUnit tests did not run reliably in a Windows environment when started from the command line or Jenkins due to improper file cleanup.

MULE-16987, SE-12167

Resolved a problem in which MUnit did not execute mocking for a custom REST connector with defined attributes.

SE-14409

Fixed an issue in which MUnit 2.2.1 was unable to mock a custom processor in a Try scope.

MULE-18569, SE-16282

Resolved an issue in which the Anypoint Connector for Kafka returned the java.nio.file.InvalidPathException: Illegal char <:> exception when accessing filesystem configuration files.

MULE-16668, SE-15200

Optimized invocation of Anypoint Connector for NetSuite by reducing the number of getServerTime calls when executing a search operation.

MULE-17736/MTS-384, SE-14259

Resolved the NoClassDefFoundError error that occurred when accessing com/google/common/collect/ImmutableMap while running MUnit tests.

MULE-17417, SE-12341

Fixed an issue in which an application running on-premises and managed with Runtime Manager deleted the object store when redeployed.

MULE-18284

Resolved a deployment problem that occurred when a policy defined an error handler for an ErrorType issue (such as OS:KEY_NOT_FOUND or HTTP:TIMEOUT) exposed by an extension, and the application defined the same extension.

The deployment failed because the ErrorType could not be found.

MULE-18492, SE-16365

Fixed a serialization problem with policies using the Rate limit SLA policy.

MULE-18196, SE-16894

The fix for the SE-15056 issue causes applications that use custom policies to fail when sharing the ErrorType repository if the app and policy bundle didn’t include all dependencies.

You can revert the behavior by setting the mule.share.errorTypeRepository system property to true.

SE-13603

Fixed an issue in which an application using more than one salesforce:replay-channel operation failed with status code 429.

SE-13603, SE-10677, SE-16728

Upgraded the Object Store v2 plugin to version 4.0.27.

July 2020

Patch release version: 4.2.2-20200709

The July update addresses the following issues:

Issue Description

AGW-4199

Fixed an error when trying to access Gatekeeper and Analytics policy templates in CloudHub Mule 4.x runtimes.

MULE-18506, SE-16470

Reverted MULE-18370 because it caused a key collision in the ManagedCursorProvider cache management.

SE-13383

Fixed an issue that occurred while moving corrupted domain object store files to the Garbage folder.

SE-14012

Mule 4 no longer fails to stream all of the payload to the client.

SE-14114

Fixed an issue in which the DataWeave stream failed to serialize.

SE-15056

An application no longer fails to deploy if it uses the same custom name space as an applied custom policy.

SE-15067

DataWeave now properly handles the #[ sequence inside a String value in Mule operations, such as Logger.

SE-15201

The redundant char[] value generated by DataWeave modules no longer causes a large memory footprint and OutOfMemoryError error.

SE-15249

Fixed DataWeave attribute selector not dispatching to the correct implementation.

SE-15536

Fixed an issue in which some combinations of flow-ref, Async scope, and Try scope fail, causing messages to stop processing.

SE-15800

Fixed an issue that caused blocked threads.

SE-15834

Fixed DataWeave inferred types when the output is undefined storage so that the output is recalculated.

SE-16095

Fixed an OutOfMemoryError: Metaspace error on applications with multiple concurrent deployments and some redeployments.

SE-16119

Fixed an issue with backslash-character processing when running Studio on Windows, which caused Test Connection in File Connector to fail when the Configuration property was present.

SE-16167

Fixed an error on processing Apache AVRO logical types in DataWeave scripts.

SE-16468

Fixed an issue with DataWeave skipNullOn not behaving properly because the value null was ignored in maps.

June 2020

Patch release version: 4.2.2-20200526

This patch release consolidates fixes to Mule 4.2.2 since the initial release on November 15, 2019. The fixes extend through June 2020.

Issue Description

SE-13047

Fixed Mule-application deadlock when submitting parallel requests.

SE-13364

<bti:xa-data-source-pool> now works with XA transactions.

SE-11087

Resolved a problem with semantic versioning build-metadata when deploying an application.

SE-15269

Fixed an issue where maxConcurrency was not honored when using a flow reference.

SE-14245

Fixed an issue where an exception affected class loading, even though the class exists in the dependencies using shared libraries.

SE-13383

Fixed an issue that occurred while moving corrupted domain object store files to the Garbage folder.

SE-13596

Proxy no longer experiences outage during redeployment in Runtime Fabric, with 2 replicas and rolling update.

SE-15201

Fixed an issue with a redundant char[] generated by DataWeave modules, which lead to a large memory footprint and OutOfMemoryError.

SE-15592

Fixed an incorrect value when accessing variables' content in complex transformations with loops.

SE-15362

Fixed NullPointerException in DataWeave’s XML module.

SE-15642

Resolved DataWeave regression in the index-based descendant selector, so that it now behaves like version 2.2.1.

SE-15741

Optimized a DataWeave performance issue when resolving a parent with type at the parser level.

SE-15159

DataWeave’s XML module now includes a new property to handle XML DTDs.

SE-15453

DataWeave’s XML module now includes a new property to handle escaping > characters.

SE-9907

Usage of java.util.Timezone now works as expected in DataWeave.

SE-15970

Resolved DataWeave’s diff function, which was inverting the expected versus actual comparison.

SE-13691

Fixed issues in which the Scheduler incorrectly ran twice or didn’t honor the configured cron or fixed-frequency setting on restart.

SE-15659

Fixed an issue that generated HTTP request timeouts in several connectors, including Salesforce Connector and Microsoft Dynamics Connector, which cause disruption in their operation.

SE-15540

Fixed an issue that, under high concurrency, might cause a leak in HTTP requests due to a race condition scenario.

SE-13371

Fixed an issue in the Salesforce connector where it did not automatically refresh the OAuth token, causing expired token errors interrupting execution of transactions with Salesforce.

SE-14663

Fixed an issue that caused StackOverflow errors in applications using the Database connector under heavy load.

SE-14946

Fixed the error Failed to read geo directoryjava.nio.file.NoSuchFileException that appeared after deploying an application.

SE-13982

Fixed an OutOfMemory issue that occurred when Database Connector did not properly release heap memory when the request timed out.

SE-13547

Fixed an issue in which an HTTP Request using NTLM authentication did not send the request payload resulting in a timeout request operation.

SE-13547

Fixed an issue in which an HTTP Request using NTLM authentication did not send the request payload resulting in a timeout request operation.

SE-13634

Fixed an issue that affected the Web Service Consumer, causing long WSDL parsing times with multiple levels of nested imports.

SE-13300

Fixed an issue in which batch records didn’t process when the Persistent queues option was enabled.

AGW-3949

Reduced log levels for API Gateway recoverable errors.

MULE-17706

Added support for HTTP header injection in Anypoint Connector for HTTP.

SE-14421

Fixed leak problem when processing large payloads in DataWeave function calls from MEL similar to #[dw(…​)] that generate temporary files like /tmp/dw-buffer*.tmp.

SE-14808

Fixed dw::core::Strings::substringAfterLast function not working as expected.

MULE-17812

Fixed an issue in which the refresh dance did not execute after the access token expired.

SE-14595

Fixed an issue in which Mule apps did not process more than one message from Anypoint MQ.

SE-14606

The toBase64 and fromBase64 functions now behave the same way as in version 4.2.1.

SE-14561 and SE-14625

DataWeave fixes for union and enum types in Avro schemas.

SE-13786

Fixed an issue where the API gateway was using the Business Group organization ID instead of the Master organization ID for OAuth provider operations.

SE-13951

Fixed a DataWeave OOM error Direct buffer memory in 0.1 worker.

Initial 4.2.2 Release

Release date: November 15, 2019

The initial release of Mule 4.2.2 includes the following fixes:

Issue Description

MULE-17692

TypedValue throws a NPE when calling .toString() on null value.

MULE-17689

DefaultMetadataCacheManager is not reusing the ObjectStore partition.

MULE-17686

NPE when stream is re-managed after previous managing decorator is collected.

MULE-17661

NPE when trying to retrieve metadata using JMS connector.

MULE-17588

Lazy init: <notifications ..> component was not being initialized.

MULE-17560

DefaultPersistentMetadataCacheManager is created per application context, so the shared OS partitioned fails with concurrency.

MULE-17541

Lazy init: <object class="…​" '/> not lazy initialized.

MULE-17510

MetadataOutputDelegate was always setting isDynamic to false for MetadataAttributes.

MULE-17486

System.gc() called multiple times when disposing ClassLoaders.

MULE-17466

Maps should not be required to have getters.

MULE-17463

Improve performance of creating FlowBackPressureException.

MULE-17461

Improve performance of DataType cloning.

MULE-17451

Top-level object stores should be started sooner.

MULE-17449

ManagedCursors allow access to unmanaged provider.

MULE-17429

Workaround for MMP-499 in runtime.

MULE-17409

MetadataCacheIdGenerator for configuration elements is not taking into account parameters and only using DslTagId hash.

MULE-17401

Scheduler source should route emitted message through FlowProcessMediator.

MULE-17384

Extensions Maven plugin not honoring extensions dependencies.

MULE-17383

High CPU usage by VM listeners with persistent queues.

MULE-17373

Final "catch-all" check for error handlers does not account for ANY matcher.

MULE-17344

Connections associated with InputStreams should be released when stream is fully consumed.

MULE-17341

Referenced subflows are not being started after stop-start of the application.

MULE-17333

Missing hashCode method in TypedValueTypeAnnotation.

MULE-17330

Race condition when the same CursorProvider is managed twice.

MULE-17322

ComponentResultJsonSerializer uses TCCL to load by SPI type annotations contributed by extensions-api.

MULE-17313

Transaction began by using TryScope are not switching to IO.

MULE-17312

Upgrade commons-pool2 to 2.6.2.

MULE-17311

Services started by an app plugin retain app classloader after reploy/undeploy.

MULE-17300

DefaultArchiveDeployer#deployPackagedArtifact doesn’t redeploy when receiving a URI.

MULE-17298

Splash screen does not list odd-named patches.

MULE-17296

CursorProvider wrongly marked as a consumable class.

MULE-17288

CacheId for fetching metadata keys should be broader.

MULE-17277

Websockets dropped after 30 seconds idle.

MULE-17267

Race condition on source shutdown and restart on connection exception.

MULE-17264

Reintroduce the event buffering when dispatching to a flow.

MULE-17246

Deadlock when building collection DataTypes.

MULE-17240

MultiMap is losing the order when converting to ImmutableMultiMap.

MULE-17225

Loader constraint violation when trying to deploy application.

MULE-17223

MuleApp with Salesforce connector leaking MuleApplicationClassLoader after an undeploy or hotdeploy.

MULE-17218

Mule SDK is leaking extensions configurations over the time.

MULE-17182

CursorProvider set in variables are not managed.

MULE-17168

Remove soft references for app classloaders to avoid OOM on redeploy.

MULE-17166

Wrong group id for HTTP Connector in BundlePluginDependenciesResolver

MULE-17112

Internal libraries of a plugin are overridden by a sharedLib from an app.

MULE-17110

NTLM authentication with dynamic credentials is successful despite credentials changes

MULE-17102

Composite Converters which contain the same transformer chain not filtered out

MULE-17096

NullPointerException when lazy initializing subflow with async scope

MULE-17091

Object streams not automatically closed if <non-repeatable-iterable> option is selected

MULE-17081

PipelineMessageNotificationListener returns a PipelineMessageNotification with null event when an exception is raised in the Mule flow.

MULE-17080

Upgrade SLF4J to 1.7.26

MULE-17077

PersistentQueueTransactionContext#poll not honoring timeout

MULE-17065

Scatter gather and Parallel Foreach are not working inside error handler

MULE-17048

Race condition when stopping a flow with an inflight event in an async block

MULE-17045

Connections are not closed when streaming operation fails

MULE-17025

ErrorHandler raising error not working

MULE-17023

Nested Try is rolling back tx created by outer try

MULE-17019

Unauthorize operation does not reset ConnectionProviders

MULE-16994

Use of cache instead of WeakHashMap to avoid infinite loop in DefaultLifecycleInterceptor

MULE-16979

Review choice

MULE-16974

FTP reconnection strategy repeat the "start delay" wait time

MULE-16920

"Cannot process event as 'flow' is stopped" when disposing and reinitializing source

MULE-16890

AdoptJDK shown as un unsupported vendor

MULE-16889

DefaultDomainManager#getDomain should retrieve a compatible version of the required domain

MULE-16817

Pooled connections are not removed from the pool when they should evict.

MULE-16786

Dynamic configurations eviction should consider sources as in-flight operations.

MULE-16285

Interception API: Smart connectors inside scopes are not skipped properly.

MULE-15991

No transformers for Iterator to byte[] or String cause error.

MULE-10347

Generics are not resolved for Map implementations.

MULE-17281

SDK needs to allow operations to obtain the effective retry policy.

MULE-17257

Add more detail to FlowBackpressureException.

MULE-17185

Flowref flatmap removal leads to a notorious throughput decrease in the static-flow-ref-subflow case.

MULE-17161

Allow SDK to specify that certain configs should never be used in an implicit way.

MULE-17114

Add the notImported information from MULE-17112 into the plugins packager.

MULE-17111

Create API to propagate a whole custom event when an error occurs in a Processor.

MULE-17079

Remove flatMap from ProactorStreamProcessingStrategy#proactor.

MULE-17001

Avoid unneeded message creation in source callback.

MULE-16980

Allow Maven dependency resolution to always update snapshot dependencies.

MULE-16954

Improve logging infrastructure performance.

MULE-16513

Perform flow back-pressure check before source policies are applied.

MULE-16215

Make infrastructure parameters to appear as not required for metadata.

EE-6968

Avoid references to application classloader in grizzly/reactor static fields in backtrace.

EE-6927

EE version is loading mule-service-weave and mule-service-weave-ee.

EE-6889

JdbcMapStore#loadAll(keys) should only load keys passed as parameter.

EE-6871

Choice performance degradation for Java use case.

EE-6866

When thread waiting in Hz is interrupted, and InterruptedException is not thrown immediately.

EE-6860

Escape table names in Microsoft SQL database store query builder strategy.

EE-6857

File leak when getting dw file for transformation.

EE-6852

Unlock hazelcast lock in the same thread where it was locked.

EE-6834

HTTP Policy module has no Extension model.

EE-6830

Tracking processors are marked as UNKNOWN instead of OPERATION.

EE-6377

Batch Aggregator does not support a JSON payload.

EE-6338

A project using NetSuite fails with OOM after a few redeployments.

EE-6898

Add a way to configure the hazelcast property MERGE_FIRST_RUN_DELAY_SECONDS.

EE-6873

Replace slashes with underscores in TableNameNormalizer.

EE-6867

HazelcastLockProvider should call MapNameNormalizer method to normalize map names.

EE-6864

Escape table names in PostgresSQL database store query builder strategy.

AGW-3506

Analytics are only notified for only one app.

AGW-3409

Analytics events are set with HTTP status code to zero when a request arrives and the policy is being disposed of.

AGW-3375

Fixes the issue when the local contracts database is corrupted.

AGW-3074

Fixes inconsistent error messages and status codes for Basic Auth LDAP-based policy.

SE-13232

Rate limiting SLA policies taking up huge heap in Mule 4.1.5.

SE-13091

JWT policy high performance issue.

DataWeave

  • Fix (SE-12381): Execute simple script on startup to warm up class loader.

  • Fix (SE-12381):Load DataFormats on startup and load other modules.

  • MDF-338: Add com.mulesoft.dw.directbuffer.disable to disable direct buffer.

  • Fix NullPointerException when capture groups don’t match on an optional block.

  • Fix: Avoid memory leak when automatic coercion of operations.

  • Fix (SE-12381) Make Core load at startup time.

  • Fix (SE-13172) Fix the CSV parser for files that are larger than 2G.

  • Fix (SE-13334): Fix documentation of the max function.

  • Fix (SE-13071): DataWeaveTypeEmitter should escape literal strings.

  • Fix: Periods should support seconds and fractions of seconds.

  • Fix: Start using Long instead of Int to capture the size of elements and for index selectors.

  • Provide one runtime API to execute DW scripts. Document APIs. Improve DataWeaveScriptingEngine.

  • Try to make WeaveLang ModuleParser global to all apps.

  • Fix #386: Upgrade Java mail (#448).

  • Fix: Read consecutive backslashes correctly in CSV.

  • Fix issue with Excel reader.

  • Improve performance of documentation parsing.

  • Fix (SE-12787): Add support for xsi:types. This type needs to be semantically interpreted.

  • Fix (SE-12627): Fix issue writer properties with camel case needs to be to lower case

  • Fix (SE-12654): Excel streaming feature

  • Fix #425: Support coercion to generics and wrap in optional.

  • Fix #440: Iterator throwing Stream Already Closed.

  • Fix: Avoid bubbling Java exceptions when using sleep and readUrl.

  • Fix #434: Descendant selector is not taking into account child keys.

  • Fix #435: Fix type equality. typeOf("a") == String should be true.

  • Add: Implementations of Tree and Values module.

  • Fix (SE-12733): Fix importing a Mule connector module from another module.

  • Fix: Support for dynamic names on attributes.

  • Fix (SE-12518): Writer Properties not working in Logger.

  • Fix: Try function should make sure that everything is being executed eagerly.

  • Fix: Type pattern matcher with union types and Any.

  • Fix #433: Fix type inference for type pattern matching.

  • Add a system property to identify what closes the stream.

  • Fix #432: Descendant selector was returning non-consumed iterators.

  • Fix (SE-12393): Improve performance on looking for a DataFormat from ID.

  • Fix (SE-12327): Improve performance on divideBy performance. Also increase append performance and prepend performance.

  • Fix (SE-12393): Add system property com.mulesoft.dw.coercionexception.verbose to turn off verbose messages.

  • Fix: Binary data should be written in base64 by the Weave writer

  • Add new DataWeave reader that is more performant.

This version of Mule runtime is bundled with the Runtime Manager Agent plugin version 2.4.3.

Was this article helpful?

💙 Thanks for your feedback!