JCA Adapter Throws ERR_BAD_READ Error After Some Idle Time
Last updated on DECEMBER 13, 2017
Applies to:Oracle Communications Billing and Revenue Management - Version 220.127.116.11.0 to 18.104.22.168.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 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 AIA 2.4 connected to 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 BRMAdapter 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 OS level parameters, please provide 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?
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms