Qorus Integration Engine®  4.1.4.p4_git
Release Notes

Qorus Release Notes History

Latest version: Qorus 4.1.4.p4

Qorus 4.1

Release Overview

This is a major release of Qorus with the following major changes:

  • Data Provider API
    • The Data Provider API allows any system to be introspected and communicated with, through record-based or request/response APIs; it supports high-performance volume operations as well as efficient search, creation, update, upsert, and deletion of data.
    • The mapper infrastructure has been updated to fully support the Data Provider API as well as now supporting autonomous mode where data transformations are automatically performed on data retrieved from the input provider and stored in the output provider after data transformations. For data providers supporting bulk operations, this results in extremely high performance data integration flows based entirely on configuration.
    • The DataProvider module was added and many modules were updated to support its API
    • New system option: qorus.dataprovider-modules
  • Qorus Interface Metadata in YAML Format
    Defining Qorus interface metadata in YAML format has been introduced to facilitate the creation, editing and management of Qorus interfaces in the new Qorus IDE (see Implementing Qorus Objects Using YAML format).
    The new IDE supports creating, editing, deleting, and packaging interface code along with their metadata as well as ensuring the alignment of code and metadata in interface objects.
  • Java Updated to Java 11
    Qorus's Java support has been updated to OpenJDK 11; see Java Requirements for more information
  • Enhanced Unicode Support
    All interface objects in Qorus can now be made up of any Unicode characters including those outside the Latin or European character sets (ex: "ワークフローの例" is a valid workflow name as of this release)
  • Qorus Cluster Startup Improvements
    Qorus starts up faster and is more responsive during startup; enabled workflows, services, and jobs now start in parallel, additionally, excess serialization in accessing internal data structures during startup was removed.

Important Upgrade and Backwards Compatibility Information

  • New Environment Variables
    Set "QORE_DATA_PROVIDERS=QorusDataProviders" in your system environment to Qorus data providers with the qdp program for command-line introspection and manipulation of data providers
  • Qore Parser Fixes
    The Qore library has undergone the following parser fixes:
  • Event Code Changes
    logger and appender event codes were reassigned to the correct range starting with 5200: see LOGGER_CREATED for new values
  • Abstract Method Signature Change
  • Metadata-Based Interface Objects
    oload will load YAML-metadata-based integration objects first and does not handle dependencies between old-style objects with embedded metadata and YAML-metadata-based objects. Errors will result if a YAML-metadata-based object created from the IDE depends on older code when oload loads the objects for the first time. It is recommended to migrate all objects to YAML-metadata-based objects and not to mix the two types of objects in the same release.

New Features

Bug Fixes in Qorus 4.1

Issue ID Severity Description
3396 Normal fixed bugs recovering processes after qorus-core and or qdsp-omq along with interface processes crash
3395 Normal fixed a bug recovering qorus-master crashes with uninitalized processes in the cluster process table
3332 Normal improved client library initialization time

Bug Fixes in Qore

See Bug Fixes in Qore

Qorus 4.1.1

Release Overview

This is a bugfix release with minor feature updates; for details, see the issues addressed below.

New Features

Bug Fixes in Qorus

Issue ID Severity Description
3435 Normal fixed a bug in oload where deleting objects not cached in a running server would fail
3434 Normal suppressed excess connection-handling logging in the Qorus client; only errors are displayed
3430 Normal fixed a bug in UserApi::expandComplexValue() with an empty hash
3429 Normal fixed a bug in the return type for the /api/latest/dataprovider/basetypes REST API for "or nothing" types
3426 Normal fixed a bug folding values into strings in template substitution (ex: UserApi::expandTemplatedValue())
3425 Normal fixed a bug in oload handling config items when updating or deleting objects

See Bug Fixes in Qore

Qorus 4.1.2

Release Overview

This is a bugfix release with new features; for details, see the issues addressed below.

New Features

Bug Fixes in Qorus

Issue ID Severity Description
3470 High fixed a bug in oload "oload" where deleting a mapper with step references would fail
3469 High fixed a bug in the REST API where datasource and Qorus connection options could not be removed
3468 High fixed a deadlock in handling process-related errors in qorus-master
3463 High fixed a bug where oload would overwrite config item values updated with the API when objects were reloaded
3461 High fixed a race condition in internal zmq client destruction that could cause to a cluster deadlock
3459 High fixed a bug where the debug-system option was not respected in remote processes
3454 High fixed a bug handling invalid mappers that could lead to a deadlock after a mapper reset
3453 High fixed encryption in cluster communication; new cluster API version is 0.3
3447 Normal fixed a bug in UserApi::getTypeFromPath() when the path had a leading "/" character
3444 Normal fixed a bug in the REST API returning mappers with custom fields
3443 Normal fixed handling the -D option in oload
3440 High fixed a deadlock when a qdsp process cannot be initialized after restarting; reverted the process start ACK message to be issued only after the new pool is correctly initialized to avoid a serious platform deadlock in network datasource pool handling
3438 Normal fixed a bug handling "SIZE" messages in AbstractFtpHandler
3429 Normal fixed a bug in oload where an error was raised when deleting an interface with a non-local config item value

See Bug Fixes in Qore

Qorus 4.1.3

Release Overview

This is a bugfix release with new features; for details, see the issues addressed below.

Important Upgrade and Backwards Compatibility Information

New Features

Bug Fixes in Qorus

Issue ID Severity Description
3490 Normal fixed an error in workflow synchronization event steps in loosely-coupled subworkflow orders
3487 Normal fixed ServiceFileHandler in services; handling resources failed due to a type error
3486 Normal fixed a bug where workflow orders being executed synchronously could not be canceled or set to ERROR
3484 Normal fixed UserApi::callRestApi() when called from HTTP handlers in qsvc processes
3480 Normal fixed bugs in Java API com.qoretechnologies.qorus.test.CallService
3479 High fixed a deadlock terminating qdsp processes related to ZeroMQ context management
3478 High fixed job cron execution for trigger dates during DST changes when the clock moves forward
3477 High fixed a deadlock in qsvc crash recovery when service resources are acquired in the init method
3475 High fixed an error with services with resource (ex: HTTP, REST, and SOAP server services) in qsvc crash recovery
3474 High fixed a race condition with qorus-core crash recovery with running interfaces when auditing is enabled
3473 High fixed a deadlock caused by a race condition handling qwf process early terminations or aborts when stopping the affected workflow
3472 High fixed a deadlock caused by a race condition in cluster client object handling
3358 High fixed race conditions deleting interfaces with oload

See Bug Fixes in Qore

Qorus 4.1.4

Release Overview

This is a bugfix release; for details, see the issues addressed below.

New Features

Bug Fixes in Qorus

Issue ID Severity Description
3507 High fixed RPC API commands shutdown and shutdown-wait
3506 High fixed bugs in active master recovery
3504 High fixed a deadlock when an interface reset command is processed at the same time as a disable interface command
3503 High fixed a deadlock in remote program initialization
3502 High fixed a race condition with qctl restart
3499 High fixed bugs handling merging non-string values when generating template strings
3498 High fixed a bug where date-time values were not merged to template strings with a reasonable format
3497 High fixed a bug where oload would not delete local values from interfaces
3493 High fixed a race condition causing Qorus startups to fail unnecessarily if executed right after a shutdown
3492 High fixed a deadlock in qorus-core shutdown caused by incorrect error handling for process shutdown errors
3491 High fixed a deadlock caused by a race condition in qwf process recovery with running execution instances
3478 High fixed a regression in job cron trigger dates calculation around midnight introduced in the last release
3358 High fixed race conditions deleting interfaces with oload; finalizes the fix partially addressed in 4.1.3

See Bug Fixes in Qore

Qorus 4.1.4.p1

Release Overview

This is a bugfix release; for details, see the issues addressed below.

Bug Fixes in Qorus

Issue ID Severity Description
3511 High fixed a deadlock when enabling / disbaling multiple interfaces
3508 High fixed reporting RAM in use for qorus master nodes

See Bug Fixes in Qore

Qorus 4.1.4.p2

Release Overview

This is a bugfix release; for details, see the issues addressed below.

Bug Fixes in Qorus

Issue ID Severity Description
3525 Normal fixed oload to ignore non-Qorus *.yaml files in deployments so that YAML service resources can be submitted from the IDE using the remote deployment REST API
3523 Normal fixed qorus-core to start even if the UNIX domain socket listener cannot be started
3522 Normal Qorus will not start as the root user anymore to avoid problems related to files with root permissions being created
3520 Normal fixed an error where the "desc" key was missing in the response to GET /api/latest/services for loaded services
3519 Normal fixed an error in GET /api/latest/mappers

Qorus 4.1.4.p3

Release Overview

This is a bugfix release; for details, see the issues addressed below.

Bug Fixes in Qorus

Qorus's ability to handle low-memory situation has been greatly improved with the following changes:

Issue ID Severity Description
3531 Normal fixed deadlocks caused by race conditions when interfaces terminate during a qorus-core shutdown
3530 Normal fixed a deadlock caused by a race condition and synchronization error recovering qorus-core crashes and terminating qwf processes
3529 Normal fixed a race condition that could lead to a deadlock when deleting and recreating interfaces with oload in a single operation
3527 Normal fixed a cosmetic bug in the web UI regarding an incorrect position of the close dialog control in configuration item windows
3526 Normal fixed a bug in the web UI where the UI would show a blank page with some invalid mappers
3363 Normal fixed a bug in the web UI where the code window would reset to blank when websicket events would arrive for certain workflows

Qorus 4.1.4.p4

Release Overview

This is a bugfix release; for details, see the issues addressed below.

Issue ID Severity Description
3535 Normal fixed a confusing error message that was produced when the system couldn't start due to an unavailable system DB connection
3534 High fixed bugs handling HTTP/REST/WebSocket logging, config item handling, and thread-local context in service request handlers
3533 Normal fixed a deadlock that can occur with remote services that require service resources during service initialization
3479 High fixed a final bug in qdsp reconnect handling that could cause Qorus to hang on shutdown due to connection threads being left in place

See Bug Fixes in Qore