JCA Adapter Throws ERR_BAD_READ Error After Some Idle Time
(Doc ID 1335225.1)
Last updated on SEPTEMBER 18, 2020
Applies to:Oracle Communications Billing and Revenue Management - Version 188.8.131.52.0 to 184.108.40.206.0 [Release 7.4.0 to 7.5.0]
Information in this document applies to any platform.
In a customer production system, on a daily basis, some of the orders were failing randomly with below error in Java Connector Architecture (JCA) adapter log:
On re-submission of the failing order, it would go through fine.
In another customer setup running Siebel 8.1.1 with Application Integration Architecture (AIA) 2.4 connected to Billing and Revenue Management (BRM) 7.4, following issue was encountered:
1. Submit an order in Siebel, it goes through fine
2. Now leave the system idle (no order submissions) for around 60 minutes
3. Now submit another order from Siebel and there is an error (ERR_BAD_READ)
It looks like the BRM JCA Adapter does not implement a keepalive mechanism in order to keep open sessions (i.e. sockets) between AIA and BRM, alive after some time of inactivity. It means that changes in kernel level (e.g. tcp_keepalive_interval, tcp_time_wait_interval, etc.) does not have an impact in the communication between AIA and BRM, since the adapter does not take them into account.
In the context of this issue following questions arise :
Q1. Since the user cannot use operating system (OS) level parameters, what are the instructions on how to apply those settings in the JCA Adapter level.
Q2. How JCA adapter establishes the connection?
Q3. Does the Adapter create a new TCP socket connection, or it requests from the server (BRM machine) to actually create and parametrize the connection?
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document