Release Notes for Oracle Insurance Gateway Release 4.24.1.0.0

This document contains the release notes for Oracle Insurance Gateway Release 4.24.1.0.0.

Version compatibility: Oracle Insurance Gateway Release 4.24.1.x is only compatible with other Oracle Health Insurance applications release version 4.24.1.x unless explicitly stated otherwise.
In accordance with the OHI error correction policy (Document 1494031.1 on My Oracle Support), error correction support will be provided for this release and the previous two releases.

Enhancements

ID Summary Patch

AUT-3282

Enhance Monitoring/Liveliness Check in OHI applications

OHI applications expose a /health endpoint that should report the healthiness of the application on that node. The implementation originally was very limited: it returned a static response. This has been changed in 4.23.1: if memory is lower, /health returns 429. With this release we are extending the /health endpoint to:

  • /health/ready which returns UP if the node is able to process requests, DOWN otherwise. A number of readiness checks have been implemented including memory, database connectivity and cpu utilisation for which the threshold is defined by a new optional system property ohi.system.cpu.threshold.high

  • /health/live which returns UP if the node is still alive, DOWN otherwise. A liveliness check has been implemented using the Coherence Health Check API.

CPN-3037

Automatically gather SQL monitor report for REST API call

In many scenarios, evaluating the SQL execution plan for REST API calls is crucial to determine the efficiency of their access paths and to gauge their potential resource cost. The current manual process of enabling SQL logging, identifying relevant SQL statements within the logs, and retrieving their execution plans/SQL monitor plan is time consuming for the DBA/AMS team (in SaaS deployments).

This enhancement aims to automate the creation and retrieval of SQL monitor reports for Query API calls, eliminating the need for manual intervention and streamlining the process.

As part of this feature, a new header parameter enablesqlmonitorreport is introduced in Query API. This parameter is intended for use only in Non-Production environments and can have the following values:

  • all: Monitors all SQL queries generated in the Query API

  • rootResourceOnly: Monitors only the SQL query generated on the root resource

  • Not specified: If this header is not included, no SQL monitor report is generated for any SQL query, maintaining the current behavior

CPN-3079

Auto purge feature

As data volume in Oracle Health Insurance applications continue to grow with the processing of more data, it becomes essential to manage the database efficiently. Oracle Health Insurance applications include various PL/SQL packages for purging processes. However, these processes currently require manual intervention by customer DBAs/AMS team to configure and schedule purge jobs during planned maintenance windows.

To streamline this process and automate database maintenance, we are introducing an auto-purge job feature. This feature eliminates the need for manual scheduling of various purge jobs and ensures that data is regularly purged according to predefined criteria.

As part of this enhancement, we have a introduced a new PL/SQL package ohi_auto_purge_pkg.purge_all and modified the following functionalities :

  1. The structure of the following procedures has been revised, introducing an optional input parameter p_commit_size to enhance flexibility and control over the purging process

    • cla_data_purge_pkg.purge_data

    • ohi_repl_purge_pkg.purge_data

  2. Log message purging is now integrated into the auto-purge feature, and as a result, the following HTTP API resources have been made read-only.

    • logeventretentionperiods API

    • loglevelretentionperiods API

  3. Purging of PHI logs is now integrated into the auto-purge feature. So, the property ohi.logging.phi.min.retentionperiod is removed

  4. The process now integrates purging of all datafile sets into the auto-purge system, eliminating the need for separate scheduled scavenging and purging of incident files. So, the property ohi.incident.datafileset.retentionperiod is removed

Oracle recommends frequent and automatic purging of technical data and operational data using the auto-purge job feature. For example, customer DBA/AMS team (in SaaS) can set up auto purge through the use of a DBMS_SCHEDULER job. See the user guide for more details and for a sample SQL script that creates auto purge job using DBMS_SCHEDULER.create_job PL/SQL procedure.

Note that the initial purge job might take longer if the volume of the data is very high (for example, if the system has two years of data to purge and if the retention days for technical data are set to 60 days). So, Oracle recommends the DBA/AMS team to set a higher retention period (for example, one year and 11 months) for the initial run (so only 30 days of data is purged in the very first run). The retention days can be reduced gradually until the historical data is purged.

CPN-3100

Enhancing Environment Name Setup in Oracle Health Insurance Applications

We are improving how the environment name is set in Oracle Health Insurance applications using the (existing) system property ohi.environment.identifier which can be set by the DBA for on-prem deployments or by AMS team in case of SaaS deployment. This change will impact the following areas:

  • Property Management: Property entity includes a name, value, and environment attribute. Previously, the environment attribute matched the application’s database name. Going forward, it will reflect the value set in the set for the system property ohi.environment.identifier.

  • Source Environment Tracking: Configuration items selected for migration include eight auditing fields. Previously, the two source environment fields (createdByEnvironment and lastUpdatedByEnvironment) stored the database SID. These fields will now reflect the value set in the system property ohi.environment.identifier. Note that in the UI, the environment name in the configuration migration import page will show the database SID for the old imports, but going forward (for new imports), the value set in the system property ohi.environment.identifier will be shown.

  • Data Set Operations Integration Point: When importing from an environment, the "sourceEnvironment" attribute is required. Previously, this attribute contained the database SID of the source environment. Now, it will reflect the value set in the system property ohi.environment.identifier from the source system.

These changes remove the dependency on the database SID and eliminate the need to access the DBMS to retrieve the environment name.

Note: The value of the ohi.environment.identifier system property should not exceed 158 characters, as specified in the property description.

NXT-24066

WebLogic authentication implemented compliant with the Java Authorization and Authentication Service (JAAS) specification

This enhancement introduces support for the SAML 2.0 authentication mechanism in the Oracle Health Insurance. Additionally, a new JAR file named "CustomIdentityAsserter" has been created to accommodate the Basic Auth configuration.

Refer installation guide for further detail.

4.23.1.0.6

NXT-27703

New REST endpoint to return fully constructed property model using floorplan & metadata

A new IP has been introduced, which combines floor plan and metadata in the same response. This reduces the number of REST calls from UI, thereby improving page loading time.

NXT-27912

Support for regEx in UI

This enhancement introduces ability to: * Specify regular expressions for string and number fields * Define the range for date fields * Override the minimum and maximum field length for number and string fields

Documentation Links:
Developer Guide

NXT-28050

Improvements to page templates : Search Pages (List and Table)

With this enhancement, Search Object List View and Search Object Table View Floorplan look and feel is updated:

  • Global header is fixed when page scrolls

  • Theme strip bar is moved from Global header to App header bottom

  • Floor Plan Selection, Quick Search and Advanced Search are left aligned

  • Page level Primary and Secondary actions are right aligned

  • Table and Result level actions are shown in content area

Documentation Links:
Developer Guide

NXT-28067

UI: Copy feature for editable table

This enhancement allows user to configure copy action on table and tab table components in the floorplan at the row level. Clicking on copy: - Creates a new entry in Edit mode. - Does a deep copy of the object including child resources as configured in the Floorplan.

NXT-28236

UI: Download in Widgets

This enhancement introduces ability to download viewed data from widgets

NXT-28449

Additional functionality for UI Form component

With this enhancement, the UI Form component now supports:

  • Editable list resources

  • Sort capabilities for tables configured within a Form

  • Conditionally hiding a sub-section

4.23.2.0.1

NXT-28671

Improvements to page templates : View and Edit List (Table)

With this enhancement, Search View and Edit Object List (Table) Floorplan look and feel is updated:

  • Global header is fixed when page scrolls

  • Theme strip bar is moved from Global header to App header bottom

  • Floor Plan Selection, Quick Search and Advanced Search are left aligned

  • Page level Primary and Secondary actions are right aligned

  • Table and Result level actions are shown in content area

NXT-29497

UI: Copy feature on Floorplan, Widget pages and dynamic records

This enhancement gives the copy action on Floorplan and Widgets pages out of the box and for tab list (result component) a user can configure copy action for all dynamic records

NXT-30155

Removal of whitespaces from the HTTP API responses

In Oracle Health Insurance Enterprise Claims Adjudication, to optimize the loading time of the claims page to improve overall performance, we have disabled fomatting of HTTP API responses. This reduces the size of the response.

OIG-3474

Improve error messages on timeout

When a timeout occurs, the error message will clearly state which timeout setting resulted in the timeout.

We have had cases of long-running dynamic logic producing a timeout. It was not clear whether this was due to:

  • A general dynamic logic timeout setting

  • A setting specific to this dynamic logic

  • A timeout for the exchange (step)

  • An HTTP timeout

  • Or another reason

In this enhancement, we have addressed the following timeout errors:

  • ohi.ws.client.connectiontimeout

  • ohi.ws.client.readtimeout

  • ohi.dynamiclogic.timeout

  • ohi.dynamiclogic.timeout.{0}

  • Exchange timeout

  • Exchange step timeout

An example error message that will be shown in the error log in case of a dynamic logic execution timeout scenario is:

"Timeout error occurred at PayloadTransformer for step RNI_TRAFO_STEP of integration/subflow ID 400345758 due to execution timed out after 300 seconds. Start time: Thu Jul 18 21:14:56 IST 2024. You can configure this timeout limit by setting the property [ohi.dynamiclogic.timeout=100]."

OIG-3525

AS2805_A Claim Quote Reversal Handling

Claim quote reversals are considered redundant in AS2805_A. This enhancement introduces a feature to handle Quote reversals in OHI Agent without using OIG. If OHI Agent receives a Claim quote reversal or Claim quote reversal repeat message from the AS2805_A switch, the Agent returns a 0430-171000 response. The response message is a standard 0430 response which is an echo of the incoming request with the following fields set additionally: * Transmission date time: current date and time * Response code: 00

4.23.1.0.6

OIG-3609

Agent Configuration Folder Code Header For Inbound File Invocation

This enhancement enables the OHI Agent to send the Agent Configuration Folder Code associated to the monitored inFolder location as a header of the Exchange invocation request for inbound files. This allows a user to drive the processing of the inbound file based on the source folder location.

Documentation Links:
Developer Guide

POL-11680

Metadata change for conditional mandatory dynamic field usages

When retrieving the metadata for a resource, dynamic field usages configured as conditional mandatory are now excluded from the list of required attributes.

POL-12035

Include Flex Code Identifiers in Extracts

For multi-value or time-validity usage: . Unique ID added for for multi-valued or time-validity usage for the field/FlexCode . FlexCodeSystem ID added as "flexCodeDefinitionId” for FlexCode/DynamicRecord . Additional fields to be added which are not marked as key value or descriptors and the actual usage name for FlexCode/DynamicRecord For Single value Non Time Valid usage: . FlexCodeSystem ID added as "flexCodeDefinitionId” for FlexCode/DynamicRecord . Additional fields to be added which are not marked as key value or descriptors and the actual usage name for FlexCode/DynamicRecord

POL-12956

Purge data files

In Oracle Health Insurance applications, data files generated during various activities (e.g., extract activity, financial messages activity and data files uploaded to initiate long-running operations) remain in the system even after they have been processed/consumed. Currently, there is no mechanism in place to automatically clean up these data files once they have been processed/consumed, leading to inefficiency of the database storage space.

This enhancement aims to automate the cleanup process and optimize database storage space. To enable purging data files, we have introduced a new PL/SQL package ohi_purge_datafileset_pkg.

POL-16238

Deprecated APIs in Groovy 3

In the upcoming 4.25.1.0.0 release, we will upgrade the Groovy library from 3.x to 4.x. Several APIs have been deprecated in Groovy 3 and are removed in Groovy 4.

Upgrade Steps for Installation

To perform the upgrade, perform the following steps:

  1. Perform any pre-upgrade steps.

  2. Stop all the managed nodes running the existing version of the application.

  3. Perform any pre-undeploy steps.

  4. Undeploy the existing version of the application.

  5. Back up the database.

  6. Perform any post-undeploy steps.

  7. Unpack the release bundle into a directory that we refer to as OHI_ROOT from now on.

  8. Change Installation Configuration: In <OHI_ROOT>/util/install, make a copy of ohi_install.cfg.template and name it ohi_install.cfg.

  9. Edit ohi_install.cfg to contain your specific database connection data and other configuration settings. The settings are explained in the file itself.

  10. Make sure NO connections are present to the database using the OHI_xxx_USER account (where xxx is the abbreviation of the application)

  11. Run the Upgrade script:

    1. Open a command window and browse to <OHI_ROOT>/util/install.

    2. Run the upgrade by executing ./ohi-update.sh .

  12. Make the required changes to the ohi properties file

  13. Perform any post-upgrade steps

  14. Start WebLogic application server

  15. Deploy the Application

  16. Perform any post-deploy steps

Additional Upgrade Steps for Installation

The following phases are defined:

  1. pre-upgrade: Application is still running

  2. pre-undeploy: Application is stopped, but not undeployed.

  3. post-undeploy: Application is undeployed. Database is backed up

  4. post-upgrade: Released upgrade script has run.

  5. post-deploy: New application is deployed and is up and running.

Pre-Upgrade phase

  1. Verify that version 4.23.2.0.2 or later is installed.

post-undeploy

  1. See "Users and Authentication" section in the "Install and Configure Oracle WebLogic" topic in the Installation Guide, before deploying the new upgraded EAR if you are using Basic Auth as the authentication mechanism.

  2. Install the mandatory Coherence 14.1.1 Feature Pack 22.06 Cumulative Patch 9. See the Installation Guide, section "Required Software" for more details.

  3. As part of POL-14140, the HttpLink entity has been removed. If the HttpLink was exported or imported using the Configuration Migration Tool (CMT), the technical tables may still contain references to the HttpLink record. To clear these references, run the following commands as OHI_OIG_OWNER:

    TRUNCATE TABLE OHI$CFG_MIGR_MARSHALLED_ITEMS;
    TRUNCATE TABLE OHI$DATA_SET_PROCESS_FAILURES;

post-upgrade

Note: This action applies only to the production environment.

Action: In the properties file, add a new property ohi.query.api.enable.sqlmonitorreport and set its value to false.

Example: ohi.query.api.enable.sqlmonitorreport=false

Configuration Properties

Ref Action Description

AUT-3282

Added

ohi.system.cpu.threshold.high

Property to set the system CPU utilisation threshold. If system CPU goes above this value, the system enters the low CPU state.

CPN-3037

Added

ohi.query.api.enable.sqlmonitorreport

Property to enable SQL monitor reports. Set to TRUE (by default) for lower environments and set to FALSE for production environment.

CPN-3079

Removed

ohi.incident.datafileset.retentionperiod

Purging of all datafile sets is now integrated into the auto-purge system, hence, eliminating the need for separate scheduled scavenging and purging of incident files. So, this property is removed.

CPN-3079

Removed

ohi.logging.phi.min.retentionperiod

Purging of logs is now integrated into the auto-purge feature. So, this property is removed. The default retention for PHI logs with the auto-purge function is 2560 days (7 years) and can be managed through the autopurgemetadata API

OIG-3736

Added

ohi.oauth.token.jwt.assertion.param.name

Name of JWT assertion parameter used in OAuth token request. It could be different across OAuth server. Default value is "assertion"

Web Services

Ref Action Description

CPN-3037

Modified

Query API

A new header parameter enablesqlmonitorreport is introduced in Query API. This parameter is intended for use only in Non-Production environments and can have the following values:

  • all: Monitors all SQL queries generated in the Query API

  • rootResourceOnly: Monitors only the SQL query generated on the root resource

  • Not specified: If this header is not included, no SQL monitor report is generated for any SQL query, maintaining the current behavior

CPN-3079

Added

autopurgemetadata API

Added a new autopurgemetadata API

CPN-3079

Removed

logeventretentionperiods API

logeventretentionperiods API supports only GET operation. POST/PATCH/PUT/DELETE operations are not longer supported

CPN-3079

Removed

loglevelretentionperiods API

loglevelretentionperiods API supports only GET operation. POST/PATCH/PUT/DELETE operations are not longer supported

NXT-27703

Added

floorplans

This IP will return floor plan combined with metadata in a single response.

OIG-3736

Added

Generic API for OAuthParameter

Introduced generic APIs to manage OAuth parameters. Refer /generic/oauthparameters/metadata to know available endpoints to manage OAuthParameter entity

OIG-3736

Modified

oauthclientcredentialsgrantconfigurations

Supports configuration of OAuth parameters through oAuthClientParameters

OIG-3736

Modified

oauthassertionjwtbearergrantconfigurations

Supports configuration of OAuth parameters through oAuthClientParameters

Data Conversion

Ref Action Description

NXT-27703

Added

Access Restrictions

Read access for the floorplans IP is provided as a part of mandatory accesses required for the applications in SETUP_ACCESS_ROLE.

NXT-28067

Modified

View Object List Pages

System floorplan with View Object List template is updated with Copy action (also few system floorplan having tab table configuration)

NXT-29497

Modified

Floorplan and Widgets page

System floorplan for Floorplans and widgets is updated with Copy action

Dynamic Logic

This section intentionally left blank.

UI Changes

Ref Action Description

NXT-28067

Modified

View Object List Pages

Copy row action added for view object list pages and in some pages having tab table configuration

NXT-28236

Modified

Widgets

Download button added to widgets

NXT-28449

Modified

Policy Enrollment page

Form Table is made editable and sort is enabled in the form table for policy enrollment page with 'MEDICARE_ADVANTAGE' tag

NXT-29497

Added

Floorplan and Widgets page

Added copy action in floorplan and widgets hierarchical recursive pages

Breaking Changes

Ref Action Description

CPN-3079

Removed

logeventretentionperiods API

logeventretentionperiods API support only GET operation. POST/PATCH/PUT/DELETE operations are no longer supported. So, it is not possible to purge log messages based on a specific log level. Instead purging of logs (irrespective of the log level) is now integrated into the auto-purge feature

CPN-3079

Removed

loglevelretentionperiods API

loglevelretentionperiods support only GET operation. POST/PATCH/PUT/DELETE operations are no longer supported. So, it is not possible to purge log messages based on a specific log level. Instead purging of logs (irrespective of the log level) is now integrated into the auto-purge feature

CPN-3100

Modified

properties API

If the environment attribute is used when configuring properties using the properties API, the value of the environment attribute should now match the value set for the system property ohi.environment.identifier. If these values differ, update the environment attribute using the properties API.

Example:

If the following properties (with different values for two different environments) are configured in the system:

Property-1
id: 123
name: fusion.financials.url
value: http://host-dev:port/fusion
environment: DEV_CPN_PDB
Property-2
id: 456
name: fusion.financials.url
value: http://host-prod:port/fusion
environment: PROD_CPN_PDB

And if the value of the system property ohi.environment.identifier is set to OHI Capitation Production Environment in the Production environment and to OHI Capitation Development Environment in the Dev environment, then the environment attribute of the above two properties should be updated using the properties API after upgrading to this release, i.e.,

PATCH http://[hostName]:[portNumber]/[api-context-root]/generic/properties/123
{
    "environment": "OHI Capitation Development Environment"
}

and

PATCH http://[hostName]:[portNumber]/[api-context-root]/generic/properties/456
{
    "environment": "OHI Capitation Production Environment"
}

NXT-24066

Modified

Installation Configuration

Customers using the Basic Authentication mechanism must follow the installation guide to install the newly built JAR file, "CustomIdentityAsserter.jar," and configure the WebLogic security provider accordingly.

Bug Fixes

BugDB SR Internal Summary

36626175

OIG-3825

Translations not working in few pages

Description:

Following pages/buttons are not translatable: Persons page Actions dropdown, MenuItem for BookMarks GroupClients page - Set Status to Change Dialog text

Resolution:

Persons page Actions dropdown, MenuItem for BookMarks, GroupClients page - Set Status to Change Dialog text are translatable now

36317310

OIG-3687

Generate baseviews fails intermittently with CacheCreationException

Description:

Generate baseviews fails intermittently with CacheCreationException: Name of the cache entityNamePropertyCache already exists.

Resolution:

Generation of base views works fine without any intermittent exceptions.

36281924

3-35703331611

OIG-3673

OHI Agent will not start when more than 50 agent configurations are defined

Description:

If there are more than 50 agent configurations defined in OIG, the agent gets stuck in an endless loop at startup.

Resolution:

The agent now finds all agent configurations and starts succesfully after.

Backports:

4.23.2.0.1, 4.23.1.0.3

36282331

3-35406309051

OIG-3676

Add additional loggers when agents are down

Description:

Add additional loggers in agent code when it is down.

Resolution:

Implemented additional loggers in agent code when it is down

Backports:

4.23.2.0.1, 4.23.1.0.5

36251883

OIG-3607

All records are not shown in downloaded file, only 10 records are shown even after scrolling in table page

Description:

When a user scrolls through a set of records and clicks on download action in the table, the downloaded file doesn’t show the correct result.

Resolution:

All the records viewed in the table page is downloaded to the file when clicked on download action

36209617

3-35422276881

OIG-3631

Query Step failed in Subflows

Description:

When a Subflow configured with a Query step is executed, the Exchange fails with a Null Pointer Exception.

Resolution:

When a Subflow containing a Query step is executed, the exchange executes successfully without a Null Pointer Exception.

Backports:

4.23.2.0.1, 4.23.1.0.4

36690441

3-36929894621

OIG-3858

Boilerplate text is not displaying correctly in OIG sub exchange search table.

Description:

Boilerplate text is not displaying correctly in OIG sub exchange search table.

Resolution:

Fix added to show boilerplate text correctly in sub exchanges page.

36407208

3-36041383791

OIG-3720

Agent continues to invoke the exchanges when the archive folder is not writable

Description:

Agent continues to invoke exchange when it doesn’t have enough rights to write to archive folder. File remains in the 'inFolder' and exchanges are continuously invoked. When the folder is not writable, the agent should produce an appropriate error message and stop.

Resolution:

The agent now logs an error message with the cause of the exception, and terminates.

36241409

OIG-3649

Length of OHI_ID_ARRAY database type is still 14 after upgrading to 4.23.1 release

Description:

Length of OHI_ID_ARRAY database type is still 14 after upgrading to 4.23.1 release

Resolution:

The length of OHI_ID_ARRAY database type is updated to 19

Backports:

4.23.2.0.1, 4.23.1.0.3

36269912

OIG-3667

Unable to edit values in drawer when a field is configured as deeplink

Description:

It is not possible to edit resources which are configured as Deeplinks. For example in Individual providers, it is not possible to edit service address in rendering address tab. On click of edit button in service address drawer, its directly navigating back to individual providers page and not possible to edit/save

Resolution:

Edit works fine in Deeplink drawers now and also the values are saved properly on the resource configured as deeplink

Backports:

4.23.2.0.1

36519138

3-36337751321

OIG-3766

Agent is picking up files before file upload is complete.

Description:

Agent does not check if uploaded file is complete. This can cause errors in the OIG exchange because of incomplete uploaded file. For example, when an enrollment file is uploaded Agent picks it up before the file upload is complete. This can cause errors when uploading to policies.

Resolution:

Agent now uses Apache Camel to detect change lock on uploaded files. It will wait until file upload process is completed. The file must be atleast 2000ms old before Agent can attempt to acquire the read lock.

Backports:

4.23.2.0.1, 4.23.1.0.5

36409950

3-34612052061

OIG-3723

JWT bearer grant type is not working

Description:

OHI supports both client_credentials and urn:ietf:params:oauth:grant-type:jwt-bearer (shortly referred as JWT bearer) grant types in OAuth, however JWT bearer grant type is not working as expected.

Resolution:

Fixed logical issues in code to make it working

Backports:

4.23.2.0.1

36416510

3-34612052061

OIG-3736

OAuth parameters should be configurable

Description:

OHI product supports only standard OAuth parameters. As its value/name can deviate across OAuth server, OHI application isn’t able to establish connection with OAuth server.

Resolution:

Introduced capability in OHI product to define custom OAuth parameters. These parameters can be reused across different OAuth clients later.

Backports:

4.23.2.0.1

35143264

OIG-3006

Create configuration migration set overwrites existing sets when entered through JET & API

Description:

In the JETUI, if a new configuration migration is created and a code is used of a CMT set that already exists, the existing migration set is overwritten with the data of the "new" set. The expectation is that saving that "new" set would fail because there already is an existing set with that code.

Resolution:

Saving a "new" config migration set will fail when there is an existing set already with that code and shows error message

36719869

OIG-3862

Files Deleted Date field missing in Exchange and Subexchange seeded floorplan

Description:

Files Deleted Date field missing in Exchange and Subexchange seeded floorplan

Resolution:

Files Deleted Date field added in Exchange and Subexchange floorplan

36189878

OIG-3593

Execute datafile incident cleanup job (scavenging scheduler job) only on single node

Description:

The datafile set scavenging/cleanup job is scheduled to clean up application incidents (trace files) every day at midnight.

This Spring scheduling job is executed on all the nodes, which is an unwanted use of resources, it is it would be efficient to run this only once (eg: on the master/oldest node in the coherence cluster).

Resolution:

Added condition to execute the scheduled job only on single node.

36331378

3-35676286031

OIG-3692

Add additional loggers and exceptional handling during token refresh code

Description:

OHI Agent needs to refresh the oAuth token on a regular basis.

Sometimes, this process of retrieving a new token from IDCS halts, and agent stops responding and/or writing entries to the logfile.

Resolution:

Adding additional loggers and implementing exceptional handling during the token refresh code resolved the issue.

Backports:

4.23.2.0.1, 4.23.1.0.5

36281259

OIG-3672

Non-selective criteria in reference objects cause OHI to load too many objects in memory.

Description:

Non-selective criteria in reference objects cause OHI to load too many objects in memory.

Resolution:

Non-selective criteria in reference objects now only load two objects in the memory, which will not cause the memory protector to kick in.

36067277

3-34591482241

OIG-3505

Purge requests of exchanges errors out with deadlock detected message.

Description:

Purge of exchanges errors out with deadlock detected message when the RAC database service is configured as active/active.

Resolution:

The dead lock error while purging the exchanges is resolved by removing the on delete cascade constraint on OIG_EXCHANGE_LOGS table.

Backports:

4.23.1.0.7

36309098

3-35614505731

OIG-3683

Exchange gets stuck in collect messages step when there are more than 50 messages to collect

Description:

In an exchange which invokes an OHI process, if there are more than 50 activity messages to collect, it will keep collecting the same 50 messages over and over, rather than paginate to get the rest of the messages.

Resolution:

The exchange now correctly paginates through the collected messages and collects all of them.

Backports:

4.23.2.0.1, 4.23.1.0.4

36204176

3-34786906091

OIG-3621

Dynamic logic byte code is not loaded during server startup on non master nodes after invalidateall API is invoked

Description:

Dynamic logic byte code is expected to load at the startup of non-master nodes if the invalidateall API was invoked in master node but was not being observed.

Resolution:

Dynamic logic byte code is now loaded at the startup of non-master nodes if the invalidateall API was invoked in master node.

Backports:

4.23.2.0.1, 4.23.1.0.4

36001095

OIG-3476

Integration version : Dynamic logic is not copied for the newly created version

Description:

When new version of integration created, dynamic logic of the steps are not copied. Steps to reproduce : 1. Create a integration with transform step and a attached dylo. 2. Create new version of the integration using 'Create new version' button and save.

Resolution:

When new version of integration created, dynamic logic of the steps is copied properly

36604526

3-36421449471,3-36886229061

OIG-3819

Handling NPEs During Eclipse Transactions

Description:

Handling NPEs and adding logs during failure scenarios of proda token retrieval

Resolution:

Handle NPE to throw Token Retriever Exception when proda token retrieval is null . Also added an error logging too.

Backports:

4.23.1.0.6

36270312

OIG-3606

Incorrect result shown in Boilerplates Table

Description:

The boilerplate table shows incorrect results after performing the 'ADD' and then 'CANCEL' actions simultaneously. This behavior is generic to other table-based pages.

Resolution:

Correct results are shown after performing the 'ADD' and then 'CANCEL' actions simultaneously in table-based pages

36086332

3-34871101921

OIG-3516

Invoking exchange with filename containing diacritics corrupts created datafile name

Description:

Invoking exchange with file upload, where the filename contains diacritics, erroneously transforms the filename to some other characters.

Resolution:

Backports:

4.23.2.0.1, 4.23.1.0.5

36809689

OIG-3903

Additional fields drawer: Client side error not shown for mandatory fields

Description:

If we have a mandatory field to be filled in Additional Fields drawer and the user is not notified with this

Resolution:

Client side validation is highlighted in Additional Fields drawer

36369274

3-35833647381

OIG-3706

Multiple filters are not working in JET UI screens once you perform quick search

Description:

Select filters by checking the checkbox on Exchange status (started, failed). Then do quick search on any Integration code. The filters are not retained while performing quick search . The results include exchanges in status complete as well.

Resolution:

The filters are retained with quick search in Exchanges page

Backports:

4.23.1.0.7

36194857

OIG-3605

Add new row is shown at last in table pages

Description:

Click Add new in table page. A new row is getting appended in the last visible row of the screen

Resolution:

Table component is modified with the below changes: 1) On click of Add button, a new row will be added to the top of the available rows. It is a sticky row to the table 2) Two new icons are added to a new row. Check icon would add the new row to the table and clicking on Cross icon would discard the new row. 3) User will have to click on Check icon and Save to persist the newly added data

36377459

OIG-3712

Save and Cancel shortcuts aren’t working for create Hierarchical Recursive pages

Description:

Save and Cancel shortcuts aren’t working for create Hierarchical Recursive pages

Resolution:

Save and Cancel shortcuts will work for create Hierarchical Recursive pages

Backports:

4.23.2.0.1

36368157

OIG-3702

Dismissed timeguard tasks are picked up for processing and marked complete after 5 minutes

Description:

When an exchange fails before it times out, the time guard task (responsible for timing out the exchange) is set to status 'Dismissed', but keeps waiting for its configured time out. If the exchange is recovered before the time guard task is triggered to run, it will time out the recovered exchange too early (as per the original time out).

Resolution:

Dismissed time guard tasks are now properly dismissed and will not affect quickly-recovered exchanges.

Backports:

4.23.2.0.1, 4.23.1.0.5

36833563

OIG-3918

Integer field values are shown with separator (12,345 instead of 12345)

Description:

Enter '12345' in integer fields like "house number" or state and country code" in Persons page, it is getting displayed as 12,345

Resolution:

Integer field values are shown without separators now

36870906

3-37313793651

OIG-3928

Auto Recovery button not working

Description:

When the auto recovery flag is set to false and saved from UI, the flag is stored as true

Resolution:

The auto recovery flag is saved with the value selected in the UI

36909513

OIG-3922

Download Message checkbox appearing twice in Integration Steps page.

Description:

Download Message checkbox appearing twice in Integration Steps page.

Resolution:

Download Message checkbox is shown only once in Integration Steps page.

36908526

3-37567131801

OIG-3945

NoClassDefFoundError error is returned when creating a new dynamic logic with trace logging enabled for the logger ohi.dynamiclogic

Description:

A NoClassDefFoundError occurs when attempting to create a new dynamic logic with trace logging enabled for the ohi.dynamiclogic logger, instead of successfully creating the dynamic logic.

Resolution:

After adding the missing third-party dependency, dynamic logic can now be successfully created with trace logging enabled for the ohi.dynamiclogic logger.

35544838

3-33374204261

OIG-3209

Whenever there is a IP error response, errorCode, errorPath and errorDetails should be prefixed with 'o:' to follow the REST standards.

Description:

Few IP error responses are not inline with REST standards. 'o:' is missing.

Resolution:

Error response from IP is now inline with REST standards.

Issues that were backported in previous Release / Patch

BugDB Internal Summary Backport BugDB SR

36067277

OIG-3505

Purge requests of exchanges errors out with deadlock detected message.

4.23.1.0.7

36067365

3-34591482241

36086332

OIG-3516

Invoking exchange with filename containing diacritics corrupts created datafile name

4.23.2.0.1

36533598

3-34871101921

36086332

OIG-3516

Invoking exchange with filename containing diacritics corrupts created datafile name

4.23.1.0.5

36088798

3-34871101921

36204176

OIG-3621

Dynamic logic byte code is not loaded during server startup on non master nodes after invalidateall API is invoked

4.23.2.0.1

36204177

3-34786906091

36204176

OIG-3621

Dynamic logic byte code is not loaded during server startup on non master nodes after invalidateall API is invoked

4.23.1.0.4

36204191

3-34786906091

36209617

OIG-3631

Query Step failed in Subflows

4.23.2.0.1

36209637

3-35422276881

36209617

OIG-3631

Query Step failed in Subflows

4.23.1.0.4

36209638

3-35422276881

36241409

OIG-3649

Length of OHI_ID_ARRAY database type is still 14 after upgrading to 4.23.1 release

4.23.2.0.1

36250783

36241409

OIG-3649

Length of OHI_ID_ARRAY database type is still 14 after upgrading to 4.23.1 release

4.23.1.0.3

36250816

36269912

OIG-3667

Unable to edit values in drawer when a field is configured as deeplink

4.23.2.0.1

36270706

36281924

OIG-3673

OHI Agent will not start when more than 50 agent configurations are defined

4.23.2.0.1

36281943

3-35703331611

36281924

OIG-3673

OHI Agent will not start when more than 50 agent configurations are defined

4.23.1.0.3

36281950

3-35703331611

36282331

OIG-3676

Add additional loggers when agents are down

4.23.2.0.1

36323296

3-35406309051

36282331

OIG-3676

Add additional loggers when agents are down

4.23.1.0.5

36323282

3-35406309051

36309098

OIG-3683

Exchange gets stuck in collect messages step when there are more than 50 messages to collect

4.23.2.0.1

36309143

36309098

OIG-3683

Exchange gets stuck in collect messages step when there are more than 50 messages to collect

4.23.1.0.4

36309136

36331378

OIG-3692

Add additional loggers and exceptional handling during token refresh code

4.23.2.0.1

36331425

3-35676286031

36331378

OIG-3692

Add additional loggers and exceptional handling during token refresh code

4.23.1.0.5

36331423

3-35676286031

36368157

OIG-3702

Dismissed timeguard tasks are picked up for processing and marked complete after 5 minutes

4.23.2.0.1

36368179

36368157

OIG-3702

Dismissed timeguard tasks are picked up for processing and marked complete after 5 minutes

4.23.1.0.5

36368188

36369274

OIG-3706

Multiple filters are not working in JET UI screens once you perform quick search

4.23.1.0.7

36867370

3-35833647381

36377459

OIG-3712

Save and Cancel shortcuts aren’t working for create Hierarchical Recursive pages

4.23.2.0.1

36377464

36409950

OIG-3723

JWT bearer grant type is not working

4.23.2.0.1

36410463

3-34612052061

36416510

OIG-3736

OAuth parameters should be configurable

4.23.2.0.1

36416548

3-34612052061

36519138

OIG-3766

Agent is picking up files before file upload is complete.

4.23.2.0.1

36519150

3-36337751321

36519138

OIG-3766

Agent is picking up files before file upload is complete.

4.23.1.0.5

36519149

3-36337751321

36604526

OIG-3819

Handling NPEs During Eclipse Transactions

4.23.1.0.6

36604535

3-36421449471,3-36886229061

Known Issues

BugDB SR Internal Summary

34164754

OIG-2567

Outbound exchange: values are not getting updated after building a data set

Description:

When trying to build a data set, exactVersionMatch and disableDeleteByOmission are not getting updated. Also If we try to update the inclusionDate by passing empty value it is not getting updated.

36413617

OIG-2902

Displaying back button on exchange home screen

Description:

Displaying back button on exchange home screen

35686796

OIG-3322

Reset Query Statistics - in Monitor Dynamic Logic Querying

Description:

When we query something in the testunit dynamic logic and then invoke/test another dynamic logic in the same testunit dynamic logic, the value/count for all query parameters displays incorrect

35777257

OIG-3389

Boilerplate seen in JET dynamiclogic page

Description:

Boilerplate seen in JET dynamiclogic search page for labels

35942075

3-33802793381

OIG-3456

OptimisticLockException in log instead of exchange log timeout in blocking exchanges

Description:

Blocking exchanges which time out during transformation step with HTTP 504 Gateway timeout, result in an OptimisticLockException in the log file.

36029226

3-34889024331

OIG-3484

NullPointerException upon exchange recovery

Description:

When an activity step fails to return an appropriate response, the exchange can come into a state where recovery is impossible due to a NullPointerException occurring.

36423323

OIG-3548

credentials page - page navigation is displayed rather than load more on scroll

Description:

credentials page - page navigation is displayed rather than load more on scroll

36240867

OIG-3648

Activity invocation response in exchange logs has status IP instead of QD

Description:

When an activity triggered in end application is in 'QD' (Queued) status, the log line added to the exchange has 'IP' (In Process) as status.

36246228

OIG-3651

Australia localization : Issues with eclipse

Description:

Issues with auto refresh key and ping agency

36325016

3-35757295771

OIG-3690

Unable to add parameters to integration steps

Description:

unable to add parameters to integration steps

36367680

3-35755073101

OIG-3703

The outboundintegrationpoints IP is not always showing the correct value for authenticationFeature when OAuth is used

Description:

The outboundintegrationpoints IP is not always showing the correct value for authenticationFeature when OAuth is used

36662845

3-36788604651

OIG-3830

Exchange stops processing when Fusion ERP Job status polling fails due to an Error response from Fusion

Description:

If Fusion ERP Job status polling fails due to an Error response from Fusion (eg - 502 Bad Gateway), exchange stays in Waiting on External System (W) status. No logs are added, exchange does not Fail and recovery is not possible from this scenario.

36668902

3-36840886581

OIG-3838

Scheduled Exchanges are triggered multiple times

Description:

If multiple Integrations with schedule are updated at a time, then all future scheduled exchanges are rescheduled. In a multi-node setup, due to an issue with scheduling mechanism, it is executed on multiple nodes at the same time. As a result, multiple instances of exchanges would be triggered.

36733265

3-37002072411

OIG-3867

Exchange is marked completed without delivering the file via agent during recovery

Description:

When any exchange containing deliverByAgent step fails and is recovered after resolving the issue, exchange is marked completed without delivering the file via agent.

36870916

3-37313793651

OIG-3930

All the saved Parameters are not shown in View mode in Integrations page

Description:

Goto Integrations page, Create New Integration and Add Activity step, add more than 4 parameter values and save, on edit of parameters and save few parameters are missing.

36970162

3-37743857111

OIG-3967

Incorrect use of ohi.ws.client.readtimeout propperty to set the entire request/response timeout

Description:

The system property ohi.ws.client.readtimeout is intended to control the time (in milliseconds) that the client will wait for a response from the server after sending a request. However, it is currently being incorrectly applied to set the timeout for the entire request/response conversation, rather than just the response wait time.

36972779

3-37582942001

OIG-3969

Large chronicle queue files of size 180GB were created by applicationDBAppender while capturing application log events

Description:

The applicationDBAppender that captures the application log events in DB generated a large chronicle queue files of size 180GB due to an exception that got re-queued in an end-less while loop

36994044

OIG-3975

Action button missing on exchange pages

Description:

All Action Buttons were missing from exchanges pages

37007909

OIG-3980

fusion : checkjobstatus is marked as failed when the job status is error

Description:

checkJobStatus should be marked 'Done' and exchange should continues processing when the fusion job status is 'ERROR'.

37007918

OIG-3981

notificationCollectData step is not skipped when there is no dataFile link

Description:

If there is no datafile to collect data from, notificationCollectData step should be skipped. Currently it is failing with error "An error occurred in processing the request; for more information about the error search the logging for occurrences of OHI-DYLO-003; nested exception is groovy.lang.MissingPropertyException: No such property: dataFiles for class: java.lang.String"

37093031

3-37860226571

OIG-4058

NPE in Eclipse Integrations

Description:

NPEs are raised for some eclipse integrations when the token is not retrieved successfully

37223310

OHISD-3966

OIG-4105

Invoke exchanges tiles are shown with only retrieve access to exchanges.

Description:

Invoke exchanges tiles are shown with only retrieve access to exchanges.

37248628

OIG-4110

Error when attempting to upload files to OIG

Description:

User experiences 406 (Not Acceptable) Error when attempting to upload files to OIG

37343570

OIG-4153

Combination of quick search and advanced search isn’t working

Description:

When user does a search with some criteria in quick search & then add another criteria in advanced search, the quick search criteria is ignored and only advanced search criteria is considered but the advance search criteria should be in concatenation with quick search

37379336

3-38942079481

OIG-4160

Sequence of Exchange steps does not follow the sequence defined for Integration steps

Description:

The sequence of Exchange steps does not follow the sequence defined for Integration steps when Integration step IDs are out of order compared to the steps sequence. Eg: For two integration steps defined in following sequence - Step 1 with a higher step ID and Step 2 with a lower step ID, when exchange is invoked, Step 2 is executed first, followed by Step 1.

37506977

OIG-4198

Exchange Invocation Headers should be treated as case sensitive

Description:

When an exchange is invoked with exchange specific headers like ohi-exchange-description but with uppercase letters like Ohi-Exchange-Description, it is ignored because it is not in lowercase. According to HTTP RFC standard, headers should be treated as case insensitive and so OIG should accept the headers irrespective of case.

37607157

3-39759321701

OIG-4247

Deliverbyagent fails with npe when there is a raw payload created by previous step instead of a datafile

Description:

CheckAgentAvailability, DeliverByAgent, and ReceiveAgentNotification should be skipped when the previous step creates a raw payload instead of a datafile, as there are no files to deliver.

Deprecated Items

These features will be removed in a future release. Customers are advised to review the documentation and take timely action.

JIRA Key Announced Release Announced Summary

NXT-25000

3.22.2.0.0

The use of parameters that influence the resource representation in the 'Accept' header of an HTTP request is deprecated.

NXT-25662

3.22.2.0.0

The support to GET operations on Query API calls is deprecated.

POL-16238

4.24.1.0.0

In the upcoming 4.25.1.0.0 release, we will upgrade the Groovy library from 3.x to 4.x. Several APIs have been deprecated in Groovy 3 and are removed in Groovy 4. For example, classes previously available in both groovy.util and groovy.xml (such as XmlSlurper and XmlParser) are now available only in the groovy.xml package in Groovy 4. Therefore, customers who use classes from groovy.util must update their dynamic logic to use groovy.xml instead to ensure compatibility with Groovy 4.