Release Notes for Oracle Insurance Gateway Release 4.23.1.0.0

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

Version compatibility: Oracle Insurance Gateway Release 4.23.1.x is only compatible with other Oracle Health Insurance applications release version 4.23.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-2740

Dynamic Logic Statistics Integration Point enhanced to retrieve statistics ordered by total allocated memory

To retrieve statistics ordered by total allocated memory, use the GET call: http://<host>:<port>/<context-root>/dynamiclogicstatistics/allocatedmemory This call retrieves the dynamic logic statistics ordered by total allocated memory per dynamic logic code. Also, three new statistics are added: totalAllocatedMemory, maxAllocatedMemory, avgAllocatedMemory.

AUT-2741

Dynamic Logic Test Unit Integration Point returns response when status is 400

Dynamic Logic Test Unit Integration Point now returns a response body when status is 400 with a False value. If status is 400 with an exception, then the response body is not displayed.

AUT-2744

Improved memory management

The Application Health Check status 429, informs the load-balancer or client programs that no new requests should be sent anymore, when the free memory goes below the threshold limit as set by the system properties. When the memory state becomes low, lower, or critical, then depending on the state either no new background processing tasks are started, or they are rejected, or terminated.

3.22.2.0.7

AUT-2998

Dynamic Logic Query Management: Warning on too many Rows Retrieved

This enhancement retrieves a large number of records at once in dynamic logic, which results in memory shortage and impacts the application. For better diagnosis, a new system property, "ohi.persistence.read.maxrowstoretrieve", is created. Any query that retrieves more rows than this threshold results in a warning in the application log. It’s only a warning, no other functional impact.

Documentation Links:
Installation Guide

AUT-3010

New Metrics for Activities and Extracts

This enhancement adds the following new metrics to the applications:

  • Activity Framework Metrics:

    • ohi.activityprocessing.activities.started.count - Monitors the number of activities started.

    • ohi.activityprocessing.activities.completed.timer - Monitors the duration of a completed activity.

  • Extract Metrics:

    • ohi.extract.extracts.started.count - Monitors the number of extracts started.

    • ohi.extract.entities.processed.count - Monitors the number of processed (root) entities.

AUT-3021

New statistics added to Test Unit IP and Dynamic Logic Statistics IP, along with new Query Metrics and a System property

This enhancement introduces the following:

  • New fields included in the Test Unit IP:

    • queryCount (total number of queries started while running the dynamic logic),

    • retrievedRowsCount (total number of rows retrieved for all the queries run while running the dynamic logic),

    • maxResultSetSize (highest number of rows retrieved among all the queries run).

  • New fields included in the Dynamic Logic Statistics IP:

    • queryCount (total number of queries started while running the dynamic logic),

    • averageRowsCount (average number of rows retrieved while running the dynamic logic),

    • retrievedRowsCount (total number of rows retrieved for all the queries run while running the dynamic logic),

    • maxResultSetSize (highest number of rows retrieved among all the queries run).

  • A new link added to the overview response of the Dynamic Logic Statistics IP: http://<host>:<port>/<context-root>/dynamiclogicstatistics/retrievedrows

  • New Query metrics included:

    • ohi.persistence.query.count (counts number of queries run),

    • ohi.persistence.query.rowcount (counts number of rows retrieved).

  • A new System property: ohi.instrumentation.gather.persistence. Set to true/false to enable/disable recording of persistence metrics.

AUT-3045

Spring Batch Metrics included in Prometheus

This enhancement introduces the inclusion of batch metrics in Prometheus. These metrics enable tracking CMT’s progress and other batch processes.

Documentation Links:
Administration Guide

NXT-24143

Query API GET Operation is disabled by default

This enhancement introduces property ohi.service.queryapi.get.support to enable the GET operation on the query API (deprecated behavior). By default it is set to false.

This enhancement re-implements the enrollment integration point callout. The parameters are no longer embedded in the URL but included in the message instead. This is a breaking change.

Following are some examples of searches that compare the use of GET and POST:

Table 1. Search a Person with Two Filters
With GET With POST

HTTP Method

GET

POST

URI

http://[hostName]:[portNumber]/[api-context-root]/generic/persons?q=dateOfBirth.eq('1900-01-01').and.name.eq('Doe')

http://[hostName]:[portNumber]/[api-context-root]/generic/persons/search

JSON Body

N/A

{
    "resource": {
        "q": "dateOfBirth.eq('1900-01-01').and.name.eq('Doe')"
    }
}
Table 2. Search a Person on Two Filters with Ordering on Criteria, Limit, and Offset for Pagination
With GET With POST

HTTP Method

GET

POST

URI

http://[hostName]:[portNumber]/[api-context-root]/generic/persons?q=dateOfBirth.eq('1900-01-01').and.name.eq('Doe')&orderBy=code:desc&limit=10&offset=0

http://[hostName]:[portNumber]/[api-context-root]/generic/persons/search

JSON Body

N/A

{
    "resource": {
        "q": "dateOfBirth.eq('1900-01-01').and.name.eq('Doe')",
        "orderBy": "code:desc",
        "limit": 10,
        "offset": 0
    }
}
Table 3. Searching via Dynamic Logic
With GET With POST
String response = initCallOut(WebTarget.class)
        .path("generic/messages")
        .queryParam("q","code.eq('OHI-DYLO-001')")
        .request("application/json")
        .buildGet()
        .invoke()
        .readEntity(String.class)
String response = initCallOut(WebTarget.class)
        .path("generic/messages/search")
        .request()
        .buildPost(Entity.json(jsonPayload))
        .invoke()
        .readEntity(String.class)

Where jsonPayload is a String representing:

{
    "resource": {
        "q": "code.eq('OHI-DYLO-001')"
    }
}

Please note that the Page Links associated to the query response also had a structure change: the "searchResource" element was renamed to "body". See an example below:

Table 4. Change in the Response
Before this release In this release
"searchResource": {
    "resource": {
        "offset": "50",
        "name": "activities"
    }
}
"body": {
    "resource": {
        "offset": "50",
        "name": "activities"
    }
}

NXT-25248

UI: Filtering Referenced Data Based on Related Configuration

This enhancement introduces the capability to filter referenced data based on related configuration. With this enhancement, users can configure elements such as an enrollment products list of values to display only products for which at least one group account product is defined, or a list of values on diagnosis to show only those that are associated with a specific group.

NXT-25361

JavaScript Extension Toolkit Upgrade to v14

This enhancement includes an upgrade of the JET (JavaScript Extension Toolkit) core library to version 14, bringing the following changes:

  • The color of selected items (lists or tables) has been changed from green to blue.

  • Sharp borders are now applied around focused elements.

  • Number and amount formats are automatically determined based on the user’s country and are supported out of the box. Country-level number and amount format settings are no longer considered.

NXT-26135

List of Values Support for Quick Search and Mode

This enhancement introduces a feature that allows searching using a list of values in quick search.

Documentation Links:
Developer Guide

NXT-26197

Improvements to Table Components

This enhancement brings multiple changes to the table UI component:

  • The general look and feel of the table has been updated.

  • All columns are now displayed by default.

  • It is now possible to set minimum and maximum column widths at the table component level using the minColWidth(%) and maxColWidth(%) settings.

Documentation Links:
Developer Guide - Table Component

NXT-26601

Improved Language Configuration Support

This enhancement introduces a new feature to facilitate the process of setting up a new language in any of the OHI components. It provides the ability for business users to install new languages on the existing installation of the OHI application through the OHI installer. Once the language is installed in the system, the user can change the language from the preferences menu.

NXT-27499

Remove unused properties for vault configuration

With this release few properties which are used to authenticate/authorize vault has been removed.

OIG-2593

Performance Enhancement for AS2805_A and AS2805_B Integrations

This enhancement enhances the performance of the AS2805_A and AS2805_B integrations by enabling users to configure quote and authorization integrations without requiring a query step.

Documentation Links:
Developer Guide
Developer Guide

3.22.2.0.2

OIG-2617

Recover Timed-out Asynchronous Exchanges

This enhancement extends the recovery feature to timed-out exchanges, supporting scenarios where starting a new exchange as part of the recovery process is not feasible or desirable.

Documentation Links:
Developer Guide
Operations Guide

3.22.2.0.7

OIG-2764

Simplified Application Client Configuration

This enhancement allows users to reuse application clients configured in the authorization server across REST clients.

3.22.2.0.3

OIG-2881

Multiple Folder Support by Agent

This enhancement introduces support for multiple folders by the OIG Agent.

OIG-2935

Fusion Job Status Handling

This enhancement supports the following features:

  • Continuing to process both failure and success statuses of a fusion import job.

  • Storing the job status response and making it available for dynamic logic.

  • Storing the job ID as a log line.

These enhancements apply to both the fusionload and fusionsubm destinations.

Documentation Links:
Configuration Guide

3.22.2.0.2

OIG-3110

Increasing Exchange Step Sequence to Five Digits

This enhancement involves extending the sequence column on exchange steps from three digits to five digits. This adjustment is particularly relevant when a subflow is triggered, resulting in the creation of over 1,000 sub-exchanges. An example scenario is when premium billing is executed per group client and there are more than 1,000 group clients. Consequently, a sub-exchange is generated for each group client, resulting in the existence of over 1,000 sub-exchanges.

3.22.2.0.8

OIG-3214

Suppress Sub Exchange Workflow Event

This enhancement introduces the capability to suppress workflow events for sub exchanges. These events can be suppressed by setting the suppressWorkflowEvent flag to true in the configuration of the subflow type.

By default, this flag is set to false and does not suppress the workflow events for sub exchanges.

3.22.2.0.11

POL-11206

Technical Identifiers in HTTP APIs

This enhancement introduces alternate, non-guessable technical identifiers (ID) in HTTP APIs. The database upgrade (running ohi-update.sh) may take longer for this release as the length of technical identifier columns is now increased.

The data type of technical identifiers like id and any foreign key attributes such as createdBy, lastUpdatedBy, and subjectId is changed from number to string in a generic HTTP API response, except for complex objects. This does not require any change in the JET UI, but any other consumers of HTTP API may need a change to parse the technical identifier as a string.

Sample HTTP API Response
  • Old format

{
  "id": 1587903,
  "code": "PERS123",
  "createdBy": 212,
  "dateOfBirth": "1900-01-01",
  "dobInterpretation": "E",
  "gender": "F",
  "lastUpdatedBy": 212,
  ...
}
  • New format

{
  "id": "158790378430",
  "code": "PERS123",
  "createdBy": "212",
  "dateOfBirth": "1900-01-01",
  "dobInterpretation": "E",
  "gender": "F",
  "lastUpdatedBy": "212",
  ...
}

POL-11213

Enhanced look-up capabilities for referenced properties

This enhancement introduces the option to specify a combination of search criteria for a look-up in the UI. With this enhancement it is now possible to, for example, specify a person look-up with the search criteria last name, date of birth, marital status, and identifier. The criteria support the operators between, greater than, less than, like, and equal. Each criterion with a specified value acts as an AND condition to the search.

This enhancement also introduces the option to configure a lookup on existing data for a string. With this enhancement it is now possible to, for example, specify a list of existing page names or tags on the Floorplan page, a list of grouping labels on the Draft Provider Pricing Clause page, and a list of aggregation levels in the Product page. The user can select a value from the lookup or add a new value. To enable this behavior, the setting "group" should be enabled for the string property.

PRD-3598

Label Component Prefix

This enhancement introduces the capability to include a prefix in the label component of a floor plan by utilizing the prefix property.

Documentation Links:
Developer Guide

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.

Stage: post-upgrade

Action: Enable MAX_STRING_SIZE parameter to Extended. Please follow the below instructions from oracle documentation based on the type of database hosting for oracle 19c database. https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/MAX_STRING_SIZE.html

Configuration Properties

Ref Action Description

AUT-2998

Added

ohi.persistence.read.maxrowstoretrieve

New system property

AUT-3021

Added

ohi.instrumentation.gather.{0}

New system property

NXT-24143

Added

ohi.service.queryapi.get.support

Property to enable support for GET operations in Query API. The default value for this property is "False", which means the system will accept only "POST" requests.

Note: This property has been deprecated.

NXT-27499

Removed

ohi.vault.jkstruststore.url

URL to JKS truststore that contains certificates

NXT-27499

Removed

ohi.vault.jkskeystore.password

Password for JKS keystore that contains certificates

NXT-27499

Removed

ohi.vault.clientpem.url

Resource URL to Vault Client pem

NXT-27499

Removed

ohi.vault.clientkeypem.url

Resource URL to Vault Client Key pem

NXT-27499

Removed

ohi.vault.jkskeystore.url

URL to JKS keystore that contains certificates

OIG-3013

Added

ohi.dynamiclogic.startup.compile.await.timeout

Max time (in milliseconds) for which nodes should wait for the oldest node to mark the status of pre-compilation as complete

OIG-3044

Added

ohi.delivery.attempt.max

Determines how many times the application should attempt to deliver the gateway change event in case of a failure

OIG-3044

Added

ohi.delivery.attempt.delay

Determines the time (in milliseconds) for which the application should wait before re-attempting to deliver the gateway change event in case of a failure

Web Services

Ref Action Description

OIG-2870

Modified

API /agentconfigurationfolders

agentConfigurationIntegrations object in API agentconfigurationfolders, agentconfigurationas2805_a, and agentconfigurationas2805_b, will use intergrationCode rather than the integration object to map agent configuration to integration.

For Example: The newer agentconfigurationfolder looks like: { "code": "IG2010_2_1_1_ACFG", "typeConfig": { "outFolderConfig": { "outFolder": <code> } }, "agentConfigurationIntegrations": [ { "integrationCode": <code> } ] }

OIG-2877

Modified

dynamiclogicstatistics

OIG-2885

Modified

/testdynamiclogic

logMessages in Test Unit IP Response

OIG-2960

Modified

dynamiclogicstatistics

Statistics count fixed.

POL-11206

Modified

Generic HTTP APIs

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string

Data Conversion

Ref Action Description

OIG-2870

Modified

**

OIG_AGENT_CONFIG_INTEGRATIONS maps the integrationId(INTE_ID) to integrationCode(INTE_CODE) now. In case of duplicated the agentConfiguration created latest will be used

Dynamic Logic

Ref Action Description

POL-11206

Modified

Call out to generic HTTP APIs

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string. So, any dynamic logic that parses generic HTTP API response needs to parse the technical identifiers as string instead of number

POL-11206

Modified

Code Generation

The length of ID attribute is extended from 14 digits to 19 digits. So, this may have an impact if the id is used in code generation dynamic logic (eg: for policy, claim, relation or provider). So, ensure that the generated code fits the length limit/passes field validation dynamic logic (eg: for providers)

UI Changes

Ref Action Description

NXT-26135

Added

Search, List Pages

Search on a list of values through a quick search

OIG-3214

Modified

Subflow Steps

Added a new floorplan property 'suppressWorkflowEvent' in Subflow steps page.

POL-11213

Added

Grouping Label

Grouping values of particular string field across all the records of the resource in context.

POL-11213

Added

List of Values

Complex search criterion for look ups for Referenced Properties in UI

Breaking Changes

Ref Action Description

NXT-24143

Modified

Enrollment Integration Point

The implementation of the enrollment request is changed: the request parameters are no longer embedded in the URL but are instead included in the message payload. This change is applicable for claims only.

OIG-2870

Modified

API /agentconfigurationfolders

agentConfigurationIntegrations object in API agentconfigurationfolders, agentconfigurationas2805_a, and agentconfigurationas2805_b, will use intergrationCode rather than the integration object to map agent configuration to integration.

For Example: The newer agentconfigurationfolder looks like: { "code": "IG2010_2_1_1_ACFG", "typeConfig": { "outFolderConfig": { "outFolder": <code> } }, "agentConfigurationIntegrations": [ { "integrationCode": <code> } ] }

POL-11206

Modified

Call out to generic HTTP APIs in dynamic logic

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string. So, any dynamic logic that parses generic HTTP API response needs to parse the technical identifiers as string instead of number

POL-11206

Modified

Generic HTTP APIs

The data type of technical identifiers like id, createdBy and lastUpdatedBy in the response (and metadata) is changed from number to string

Bug Fixes

BugDB SR Internal BP Summary

34939942

OIG-2909

Header Key reading should be case insensitive

Description:

Headers keys are case-insensitive, whereas exchange properties are case-sensitive. This discrepancy leads to issues while reading properties in dynamic logic or in the code.

Resolution:

The exchange properties are case-insensitive now.

34733151

3-29584669481

OIG-2811

OptimisticLockingException when updating lastlogintimestamp of the user

Description:

Updating lastLoginTimestamp is controlled by a system property ohi.ws.last.login.update.threshold i.e the lastLoginTimestamp is not updated if the user logs-in multiple times with in the same hour. But if there are concurrent requests next second after this hour, both the API/IP requests try to update the same user record, system throws 500 error in this case.

This causes a problem in updating the lastLoginTimestamp

Resolution:

Error thrown by the system is ignored in case there are concurrent requests to update the same user record. The lastLoginTimestamp will be set according to the first request that updates the user record amongst all the incoming concurrent requests.

34865488

OIG-2874

Subflows : Main exchange status is not set to Timed Out when exchange timeout is reached

Description:

When the exchange-level timeout occurs for an exchange with subflows, the main exchange stops processing after the set time period. However, it stays in the status 'WaitingForSubExchangesToFinish' (WS) and does not change to 'TimedOut' (T).

Resolution:

When the exchange-level timeout occurs for an exchange with subflows, the main exchange processing stops, and the exchange status changes from 'WaitingForSubExchangesToFinish' (WS) to 'TimedOut' (T).

34865559

OIG-2870

Outbound files: Agent does not sign-off the exchange created with new integration version

Description:

Using multiple versions for integrations to deliver files to agent outbound folders is not working.

Resolution:

Using multiple versions for integrations to deliver files to agent outbound folders will work since the agent configuration will be shared between integration with same codes.

34865541

OIG-2704

Invoke activity (import ref sheet lines) from OIG, fails for json file

Description:

While invoking the activity the mimetype provided in the activity typeconfig doesn’t override the default mimetype i.e. text/plain

Resolution:

In case a mimetype is provided in the typeconfig of an activity step, the configured mimetype will be used and override the default mimetype.

34865551

3-32742811211

OIG-2867

Integration version : Previous version exchange timestamp is not used for incremental extract

Description:

Using multiple versions for integrations to extract incremental data from other applications is not working.

Resolution:

Incremental Extract will also consider now consider the watermarking for the previous exchange, even if they have different versions

34863716

3-31424455971

OIG-2882

Additional logging in case of non 20x response in a delivery step

Description:

If delivery fails, the exchange log for the failure only shows the HTTP status code and not the full response body for message OIG-GATE-011.

Resolution:

If delivery fails, the exchange log for the failure will show the response body.

35077428

OIG-2977

Better Exception handling in AgentVersionChecker#checkVersion

Description:

When the Agent requests the agent version configured in OIG and if the response is non-20x. Agent logs doesn’t show the cause of the failure clearly.

Resolution:

When the Agent requests the agent version configured in OIG and if the response is non-20x. Agent logs will show the reason as well as the cause of the error.

35237992

3-30389406341

OIG-3056

Event payload CLOB is incorrectly handled as String

Description:

The payload of an Event is incorrectly handled as a String although stored as CLOB in the database.

Resolution:

The payload of an Event is read from the database using ClobReader in a streaming fashion and later converted to String. In case reading an event fails, the event is skipped and can be reread later using the method readUnhandledEvents(). An error message is also added in logs with the skipped Event Id

35440879

3-33108720861

OIG-3143

Failure in enabling dynamic logic cache across the cluster nodes

Description:

Dynamic logic executables cache wasn’t getting enabled across cluster nodes after CMT import.

Resolution:

Ensured to have all the prerequisites available to enable cache in other nodes

35052558

3-30739647241

OIG-2963

Application processing is slow during CMT import

Description:

If a CMT data set containing large number of items that execute dynamic logic (eg: to validate if the dynamic field is valid as per the field validation dynamic logic) are imported when other operations are processed (which involves executing a number of dynamic logic), both CMT import and other operations become very slow because execution of dynamic logic in both CMT import and processing is handled inefficiently.

Resolution:

The execution of dynamic logic in both CMT import and processing has been optimized.

35203905

3-30898478251,3-32172534841

OIG-3044

Queue of exchange request in case no session is available while trying to send a message from oig to agent

Description:

Exchange is failing when delivery is attempted but no session available for an agent. This is not desirable in case the delivery is attempted while the session is rebuilding after being closed due to time expiry.

Resolution:

Perform retry of delivery before failing an exchange, up to the configured number of times with the configured delay between the retries.

35259613

3-32172534841

OIG-3068

While closing a websocket the cache should only remove the web socket connection information from cache rather than every connection it has

Description:

Even though the websocket connection was active OIG-GATE-016 was seen.

Resolution:

Distributed cache sync with the websocket is corrected and thus OIG-GATE-016 won’t be seen anymore when websocket is active.

34872199

OIG-2886

Boilerplate not loading for widgets

Description:

Users will add boilerplate keys in custom widgets. These are not getting loaded in UI

Resolution:

Boilerplates added in widgets floorplan by users will be shown in the UI. Note : when configuring more than one widget based on same resource, users might have to use labels with prefix 'WIDGETS'. This will be fixed as part of NXT-27395

35205590

OIG-3049

For a failed post process step, a different exchange step is marked as failed

Description:

During an exchange execution, if a Post Process exchange step fails due to a dynamic logic exception, the exchange fails, but a different exchange step is incorrectly marked as failed.

Resolution:

During an exchange execution, if a Post Process exchange step fails, the exchange is marked failed on the correct Post Process exchange step.

35111266

3-32196561261

OIG-2994

Question mark in oig rest destination changed to %3f

Description:

In the path configured in a rest destination containing a question mark sign, it gets converted to its Hex counterpart, i.e. %3F. This causes the formed URL to be incorrect and hence return 404 Not Found when invoked.

Resolution:

Implementation has been done which consumes the path configured in the rest destination as is and does not make any changes to it. This makes sure that the formed URL is correct and hence returns a valid response.

34924276

OIG-2907

Context string enclosed in single quote gives API error

Description:

Search query formed when context string has a trailing space leads to API error. Search Query Expected is for example "q": "groupClient.code.eq('TEST ')" but actually is 'q": "groupClient.code.eq(''TEST '')"

Resolution:

Search is performed without errors when context string has a trailing space as well.

35265346

3-31421677111

OIG-3071

Subflowcontroller step for parallel is taking an addition 10 seconds

Description:

Subflow controller for parallel execution in a synchronous exchange request added extra 10 seconds

Resolution:

Subflow controller for parallel execution in a synchronous exchange request will be executed immediately

35415966

3-32971314811

OIG-3124

Exchanges executed in a sub-flow get stuck in New status

Description:

Exchanges executed in a sub-flow get stuck in New status. Currently, both the synchronous and non-synchronous exchanges are being submitted directly, i.e. without queuing.

Resolution:

Queue non-synchronous exchanges and process synchronous exchanges directly.

35075981

3-32092991471

OIG-2974

Upgraded libraries for compatibility with Weblogic PSU OCT22

Description:

Applying the OCT22 PSU causes an exception when activating Eclipse.

Resolution:

Upgraded libraries to match the PSU

35214753

3-32256677181

OIG-3052

Update passing of properties for a sub exchange as a clob

Description:

Starting a sub flow with properties of a length of more then 400 characters, failed the sub flow creation on a database error.

Resolution:

The properties for the sub exchange are passed as a clob instead of a string.

35042116

OIG-2960

Statistics count increases during GET calls on the dynamiclogicstatistics IP endpoints

Description:

Statistics count increases during a GET call on the dynamiclogicstatistics IP endpoints, even if no dynamic logic is run.

Resolution:

This issue occurred when the dynamiclogicstatistics requests run on different nodes. This bug is resolved. Now, the statistics count increases only after a dynamic logic is executed.

35590304

OIG-3013

Application startup is stuck for oig

Description:

The oldest application node precompiles all the dynamic logic sources during application startup, while other nodes wait for it to complete. In case the oldest node is restarted/shut down during this process due to some reason, the other nodes wait endlessly as the status will be stuck in the "compiling" state, causing the application startup to get stuck.

Resolution:

The dynamic logic precompilation process has been optimized. Also, the non-oldest nodes need not wait endlessly for the dynamic logic sources to be compiled completely, but until a configured timeout.

34974338

OIG-2944

Floorplan changes for Auto Include Extensibility.

Description:

The floorplans have auto include extensibility set to true even though OIG application is not extensible.

Resolution:

All the floorplans have auto include extensibility set to false.

34921972

OIG-2904

Invoking exchange for a null integration version should be possible

Description:

Invoking exchange with null version results in failure in case higher enabled version is present

Resolution:

Invoking exchange with a null version will not result in an error in case a higher enabled version is present. Please note for invoking the null version the header value of ohi-integration-version should "null" string. Further, if this ohi-integration-version contains an invalid value it will lead to OIG-GATE-062 error code.

35145033

3-32256677181

OIG-3007

Propagate error code from database erros

Description:

When OIG encounters a database exception, it responds by logging a generic message. The original exception is lost.

Resolution:

Propagate the database exception into the error log.

35203896

3-30898478251

OIG-3045

Loggers to see the content of distributed cache at runtime

Description:

No loggers were present to confirm whether the distributed cache storing the member and session information is in sync.

Resolution:

Added logger to confirm whether the distributed cache storing the member and session information is in sync.

35457820

OIG-3154

Recovery operation on main Exchange does not restart the Subflows

Description:

When an exchange has multiple unsuccessful sub exchanges, some with status 'TimedOut' and some as 'Failed', the main exchange fails. However, the recovery operation doesn’t restart all the subflows. Instead, the main exchange starts and goes back to Failed status.

Resolution:

When recovery operation is attempted on an exchange with multiple sub exchanges, with 'TimedOut' and 'Failed' status, all unsuccessful subflows are restarted.

35457810

OIG-3153

Exchange is not marked Timed Out on receiving notification after exchange timeout

Description:

When the exchange level timeout occurs during the Receive Notification step, the exchange is not marked Timed Out immediately after receiving a notification. Instead, it waits till step-level timeout occurs and then times out the exchange.

Resolution:

When the exchange level timeout occurs during the Receive Notification step, the notification is logged in the step payload. The exchange stops processing, and is marked Timed Out immediately.

35328592

3-32247856831

OIG-3094

The number of items in shared Eclipselink caches is maximized

Description:

The shared Eclipselink caches could grow unlimited, which resulted in memory shortage. To prevent that, the number of items in such a cache is now limited using the system properties ohi.persistence.cache.size.default and ohi.persistence.cache.{0}.size.

Resolution:

The number of items in shared caches is now limited using the system properties ohi.persistence.cache.size.default and ohi.persistence.cache.{0}.size.

34853811

OIG-2877

Dynamiclogicstatistics Reset URL missing in Dynamiclogicstatistics Response Body

Description:

/dynamiclogicstatistics/reset URL is not showing in /dynamiclogicstatistics response body.

Resolution:

/dynamiclogicstatistics/reset URL is showing in /dynamiclogicstatistics response body.

34863759

OIG-2885

'execution starts' ,'result' , 'execution completed' messages display twice in 'logMessages' in Test Unit IP Response

Description:

'execution starts' ,'result' , 'execution completed' messages display twice in 'logMessages' in Test Unit IP Response. The standard logging is confusing, it seems that the same error message is given twice. This is however not the case. One is for Test Unit dynamic logic and the other for the actual dynamic logic. The dynamic logic code context is missing in the logging. These messages should be more clear.

Resolution:

Internal log messages are removed and not showing anymore in the Test Unit IP Response.

35470982

3-33233592441

OIG-3159

Unable to invoke exchange with payload via oig jet ui from exchanges page

Description:

While trying to invoke exchange with payload in SAAS environment under Exchanges page, there’s no acknowledgement pop up and is kept on loading continuously.

Resolution:

Exchanges can be invoked with payload in SAAS environments and the page shows a confirmation popup after invoke and reloads to the exchanges search page.

35625369

OIG-3273

System allows to set system=false for system floorplans and widgets

Description:

BR : GEN-RULE-027 is not triggerd. Users can patch a system floor plan to "system:false" and modify its contents.

Resolution:

Update of system attribute in floorplan and widgets is not allowed anymore.

35705403

3-33533327711

OIG-3342

BP

OIG shouldn’t accept a empty notification empty, and throw a meaningful error back.

Description:

In case of Null notification or incorrect notification, post receive notification were failing.

Resolution:

In case of Null notification or incorrect notification, notification received won’t be accepted.

35087298

3-31977844691,3-32158818851

OIG-2980

HTTP api metadata caches url from the first api request to get the metadata of a resource

Description:

When metadata of any entity is accessed first time using generic API, it’s generated with absolute URLs and gets cached. Subsequent requests to the same metadata is served from the cache. In multi-node system, accessing metadata from different nodes will return already cached metadata and base URL (hostname and port) mentioned there won’t match with current requests' base URL.

Resolution:

Instead of caching generic API metadata request response with absolute URLs, it gets cached by replacing base URL by placeholder. While returning response for each generic API metadata, cached metadata is processed and placeholder gets replaced by base URL of current request.

Issues that were backported in previous Release / Patch

BugDB Internal Summary Backport BugDB SR

34733151

OIG-2811

OptimisticLockingException when updating lastlogintimestamp of the user

3.22.1.0.6

34942377

34733151

OIG-2811

OptimisticLockingException when updating lastlogintimestamp of the user

3.22.2.0.1

34942367

34865551

OIG-2867

Integration version : Previous version exchange timestamp is not used for incremental extract

3.22.2.0.6

35309184

3-32742811211

34865488

OIG-2874

Subflows : Main exchange status is not set to Timed Out when exchange timeout is reached

3.22.2.0.10

35482174

34863716

OIG-2882

Additional logging in case of non 20x response in a delivery step

3.22.1.0.6

34863755

3-31424455971

34863716

OIG-2882

Additional logging in case of non 20x response in a delivery step

3.22.2.0.1

34863749

3-31424455971

34921972

OIG-2904

Invoking exchange for a null integration version should be possible

3.22.2.0.2

35199134

34924276

OIG-2907

Context string enclosed in single quote gives API error

3.22.2.0.1

34924295

34939942

OIG-2909

Header Key reading should be case insensitive

3.22.2.0.1

34939950

34974338

OIG-2944

Floorplan changes for Auto Include Extensibility.

3.22.2.0.1

34974356

35075981

OIG-2974

Upgraded libraries for compatibility with Weblogic PSU OCT22

3.22.1.0.7

35076380

3-32092991471

35075981

OIG-2974

Upgraded libraries for compatibility with Weblogic PSU OCT22

3.22.2.0.1

35076362

3-32092991471

35087298

OIG-2980

HTTP api metadata caches url from the first api request to get the metadata of a resource

3.22.1.0.9

35382405

3-31977844691,3-32158818851,3-33145608821

35087298

OIG-2980

HTTP api metadata caches url from the first api request to get the metadata of a resource

3.22.2.0.2

35091807

3-32158818851

35111266

OIG-2994

Question mark in oig rest destination changed to %3f

3.22.1.0.8

35111535

3-32196561261

35111266

OIG-2994

Question mark in oig rest destination changed to %3f

3.22.2.0.2

35111533

3-32196561261

35145033

OIG-3007

Propagate error code from database erros

3.22.2.0.3

35164729

3-32256677181

35203905

OIG-3044

Queue of exchange request in case no session is available while trying to send a message from oig to agent

3.22.2.0.5

35204141

3-30898478251,3-32172534841

35203896

OIG-3045

Loggers to see the content of distributed cache at runtime

3.22.2.0.2

35203939

35205590

OIG-3049

For a failed post process step, a different exchange step is marked as failed

3.22.2.0.2

35190280

35214753

OIG-3052

Update passing of properties for a sub exchange as a clob

3.22.2.0.3

35215831

3-32256677181

35237992

OIG-3056

Event payload CLOB is incorrectly handled as String

3.22.2.0.3

35237996

3-30389406341

35259613

OIG-3068

While closing a websocket the cache should only remove the web socket connection information from cache rather than every connection it has

3.22.2.0.4

35259626

3-32172534841

35265346

OIG-3071

Subflowcontroller step for parallel is taking an addition 10 seconds

3.22.2.0.5

35265939

3-31421677111

35328592

OIG-3094

The number of items in shared Eclipselink caches is maximized

3.22.2.0.7

35328581

35415966

OIG-3124

Exchanges executed in a sub-flow get stuck in New status

3.22.2.0.8

35424450

3-32971314811

35440879

OIG-3143

Failure in enabling dynamic logic cache across the cluster nodes

3.22.2.0.7

35452349

3-33108720861

35457810

OIG-3153

Exchange is not marked Timed Out on receiving notification after exchange timeout

3.22.2.0.10

35589854

35457820

OIG-3154

Recovery operation on main Exchange does not restart the Subflows

3.22.2.0.11

35632339

35470982

OIG-3159

Unable to invoke exchange with payload via oig jet ui from exchanges page

3.22.2.0.9

35471470

3-33233592441

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.

34593820

OIG-2736

Cross reference of fields across floorplan ($context.parent) does not work in filter

Description:

If a floorplan is configured with a condition on a refType property, that modifies the filter to use $context.parent as shown in following snippet, it throws an error. Ex: "filter":"${context.product.code}"

34593870

OIG-2737

Accessing parent’s properties through $context does not work for conditions floor plan component in create mode

Description:

It is not possible to access parent properties through $context in conditions component, configured on the child entity’s floor plan in create mode.

35027005

OIG-2956

JET application stuck with splash screen when HTTP error occurs

Description:

JET application stuck with splash screen when HTTP error occurs like 'UnAuthorized'. Instead the error should be shown on UI and message should be communicated to the user

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.

35399226

3-33001662451

OIG-3111

Additional logging in token retriever code

Description:

Logger were missing in the code where PRODA token is retrieved

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.

35548144

3-33515434791

OIG-3212

Improve log messages to point to log file when appropriate

Description:

Improve log messages to point to log file when appropriate. For example, when parsing the XML financial message fails in dynamic logic, the error reported in the dynamic logic is "java.lang.RuntimeException: Failed to acquire value for elementName financialMessage" which does not point how and where more information can be found

35589618

3-33633802101

OIG-3238

Error comes up during creation of new version of an integration if we delete a step and click on save

Description:

Error comes up during creation of new version of an Integration if we delete a step and click on Save. Error : GEN-ORA-01400: "CODE" column is mandatory for table "OIG_INTEGRATION_STEPS"

35639830

3-33725336541

OIG-3294

JET UI hanging and no error message when attempting to invoke a disabled integration

Description:

When attempting to invoke a disabled integration in JET UI, the pinwheel on screen displays indefinitely and no HTTP error message is shown in UI

35657376

3-33723635841

OIG-3300

Recovery of failed exchanges with Time Guard fails with Optimistic Locking Exception

Description:

For Failed and Timed Out exchanges with auto-recovery configured and incomplete Time Guard tasks, recovery operation on exchange fails with Optimistic Locking Exception.

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

35680943

OIG-3324

Table pages: Only the first few records are loaded in UI, no scrolling is possible after those first few records

Description:

In table pages, all the records are not rendered in UI. Less records displayed than total records available. When we add a new record it is not shown in UI after scrolling, but on search it is displayed.

35684783

OIG-3327

For certain special LOV properties configured in the floorplan with suffix 'JET' ,upon selecting a value, the focus moves out of the table row

Description:

On selecting a value from dropdown for special functional LOV properties in table pages, the focus moves out of the table row

35716416

OIG-3346

Agent Configuration Integrations - Page is not opening

Description:

When we click on 'Add' button under tab 'Agent Configuration Integrations' of following pages, the page is not loading completely:

  • Agent Configuration Folders

  • AS2805_A Agent Configurations

  • AS2805_B Agent Configurations

35722655

OIG-3354

Exchange fails with NPE at step level timeout when the status of the process is failed

Description:

When the notification endpoint is not set for OIG, and the external process failed, the exchange fails with Null Pointer Exception at step-level timeout

Deprecated Items

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.