Release Notes for Oracle Insurance Gateway Patch 4.25.1.0.8
This document contains the release notes for Oracle Insurance Gateway Patch 4.25.1.0.8.
| Version compatibility: Oracle Insurance Gateway Release 4.25.1.x is only compatible with other Oracle Health Insurance applications release version 4.25.1.x unless explicitly stated otherwise. |
| As per the Service Description, you are obligated to request a service upgrade within 90 days of this release being generally available (GA). In line with the Oracle Cloud Services Pillar document, Section 4.2.2 End of Life, this release will be EOL in 12 months. |
Enhancements
| ID | Summary | Patch |
|---|---|---|
NXT-31594 |
JET: Save user preferences for table displays This enhancement enables you to save your table column selections and column widths on supported pages. After you adjust a table, select Save Preferences to save your settings for that page. Where it applies
Supported pages and tables
Documentation Links: |
|
NXT-33697 |
UI: European date/number formatting for English Language With this enhancement, support is added to keep the UI in English language while using European date and number formats (e.g., dd/MM/yyyy and 1.234.567,00), when user sets 'en‑EU' in the existing ohi.ui.default.locale system property. If the property is not set, date and number formats continue to follow the user’s selected locale (language + region), with no change in behaviour. |
Additional Upgrade Steps
Post-Deploy Phase
Explicitly close writers and readers in dynamic logic (optional)
A problem was identified where memory was not being properly freed after using writers in dynamic logic to create data files in Object Storage. When many files were created over time, this unused memory built up and could eventually cause the application to run out of memory and fail.
The memory cleanup process has been improved to ensure that memory and related resources are fully released whenever the writer is closed. By default, the system closes writers at the end of a dynamic logic transaction automatically thereby releasing the memory. However, in case multiple writers are opened within a single dynamic logic, memory exhaustion could still happen at runtime if the number of writers become large.
It is therefore recommended to close readers and writers explicitly in dynamic logic as a best practice. Please investigate if explicit closure of readers and writers is implemented in the dynamic logics. This is not a mandatory update but a recommendation.
The documentation has been updated with examples of explicit closure of reader and writers. See Transformation Dynamic Logic chapter in the Developer Guide.
Configuration Properties
| Ref | Action | Description |
|---|---|---|
OIG-4860 |
Added |
ohi.object.storage.connect.timeout.millis Timeout in milliseconds to establish connection with OCI object storage service. |
OIG-4860 |
Added |
ohi.object.storage.read.timeout.millis Time to wait between reads of data bytes from OCI object storage service |
Bug Fixes
| BugDB | SR | Internal | Summary |
|---|---|---|---|
39267275 |
4-0002125064 |
OIG-4953 |
Resources cannot be searched when code starts with %255% |
Description: |
POST search API requests were failing with an IntrusionDetectionException when the query contained specific special patterns. These legitimate input param were incorrectly identified as potential intrusion attempts, resulting in search failures. |
||
Resolution: |
Enhanced the intrusion detection mechanism to correctly handle search query parameters, preventing legitimate requests from being incorrectly flagged |
||
39079862 |
OIG-4984 |
Flex Code Base Views are both removed and updated at the same time |
|
Description: |
During Base View Generation, the generation of Flex Code Base View is unstable: (1) Concurrent update/remove operations occasionally targeted the same view, raising the Oracle error “table or view does not exist”. This happened intermittently. (2) The generator skipped creating some Flex Code Base Views whenever the Flex Code System code contained lowercase characters. |
||
Resolution: |
The update/removal operations are serialized to prevent errors like “table or view does not exist”. Flex Code Base Views are generated for Flex Code Systems with a code containing lowercase characters. |
||
39124748 |
OIG-5027 |
Exchange is failing while trying to create with xml fileupload or payload |
|
Description: |
When creating an Exchange of Payload type XML, the XML content is present for the POST call sent, which causes the exchange to fail with the error: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. |
||
Resolution: |
Fix has been implemented to ensure that XML content is correctly included in the payload for Exchange. |
||
39134622 |
OIG-5038 |
Outbound Exchange - Boilerplate code is seen for Build In Progress pop up |
|
Description: |
In Outbound exchanges page when user clicks on Build button, boilerplates are seen in Build In Progress pop-up |
||
Resolution: |
Boilerplates are translated and value is shown in pop-up |
||
39118343 |
OIG-5019 |
Index.html is getting appended to url post login |
|
Description: |
index.html is getting appended to url after user logs into the application using custom authentication provider |
||
Resolution: |
index.html is not visible in url after user logs into the application using custom authentication provider |
||
39160130 |
4-0002113383 |
OIG-5059 |
Memory exhaustion in Gateway due to dynamic logic creating multiple data files in Object Storage |
Description: |
A problem was identified where memory was not being properly freed after using writers in dynamic logic to create data files in Object Storage. When many files were created over time, this unused memory built up and could eventually cause the application to run out of memory and fail. |
||
Resolution: |
The cleanup process has been improved to ensure that memory and related resources are fully released whenever the writer is closed. By default, the system closes writers at the end of a dynamic logic transaction automatically thereby releasing the memory. However, in case multiple writers are opened within a single dynamic logic, memory exhaustion could still happen at runtime. It is therefore recommended to close readers and writers explicitly in dynamic logic. Please investigate if explicit closure of readers and writers is implemented in the dynamic logics. The documentation has been updated with examples of explicit closure of reader and writers. See Transformation Dynamic Logic chapter in the Developer Guide. |
||
39163849 |
4-0002187135 |
OIG-5061 |
Improve resilience for Object Storage file downloads from ohi when long-running data file processing causes HTTP streams to remain open for extended periods, reducing failures from truncated responses. |
Description: |
File downloads from OCI Object Storage could intermittently fail during long-running reads with truncated-response errors such as ConnectionClosedException (“Premature end of Content-Length delimited message body”). Because OHI ObjectStorageDataFileReader relied on a single InputStream, any mid-transfer interruption caused the CSV reader to receive only a partial payload, resulting in exchange failure. Need implementation to supports retry and byte-range resume for interrupted downloads. |
||
Resolution: |
Enhanced Object Storage download handling for scenarios where data files are processed slowly and the HTTP stream remains open for an extended period. Previously, long-running reads could fail with truncated-response errors such as ConnectionClosedException, causing the CSV reader to receive incomplete content and the exchange to fail. The implementation now improves resilience by retrying interrupted downloads and resuming from the last successfully read byte offset, while failing only after 3 consecutive recovery attempts without progress. |
||
38819476 |
4-0001350333 |
OIG-4860 |
Reading large files from object storage fails due to non-configurable read timeout. |
Description: |
OHI does not provide configurable timeout settings (connection and read timeouts) while reading or streaming files from Object Storage (OS). As a result, file read operations rely on default OCI SDK timeout values, which are not suitable for large files or long-running streaming use cases. When files are read record-by-record, the read operation may exceed the default socket read timeout, leading to |
||
Resolution: |
Support for configurable Object Storage timeouts has been added to improve reliability when processing large files and long-running streaming workloads. Two new properties are now available: a. ohi.object.storage.read.timeout.millis b. ohi.object.storage.connect.timeout.millis Both default to 60,000 ms (60 seconds) and can be increased as needed to prevent read timeouts errors during extended Object Storage operations |
||