on 06-23-2016 10:55 PM
Hi All,
We are connecting to HANA db from PI 7.31 using JDBC adapter. This is a synchronous scenario (SOAP To JDBC and back). Though this scenario works fine most of the time, we are seeing intermittent connection errors (Messaging Error). This behavior is being seen in Dev, QA and Prod. And looks like this issue happens when the interface is run after a long break.
Thanks,
Ashish
So we had raised a sap message for this issue:
Reply from SAP.
Here I am explaining about the stackOverflowError:
1. When a JDBC receiver channel called, it creates a new JDBC connection to the database.
2. After the JDBC receiver channel completes processing the message, this JDBC connection is kept in a resource pool to be used again.
3. When the JDBC receiver channel is called again, it looks for the JDBC connection in the connection pool instead of creating a new JDBC connection.
4. Now, before this already existing JDBC connection could be used, the integrity check happens for this JDBC connection. If the integrity check(check if the
connection is valid or broken) is successful, then only this JDBC connection is used, otherwisea new JDBC connection to the database is created.
5. For checking the integrity of the already existing channel, a dummy query is executed (in your case i.e. for HANA database, the query executed is
"SELECT 1 FROM DUMMY"). If a favorable result is obtained upon executing this dummy query, the same JDBCconnection is used again for processing the
messages, otherwise a new JDBC connection created and the processing of the messages is done by this new JDBC connection.
Now, for your NW i.e. NW 7.31 SP 12, the same integrity check wasn't happening with a proper dummy query, instead it was executing a generic dummy
query which wasn't supported by the HANA database. Due this issue, the same integrity check was going in aninfinite loop due to which stackOverflowError
was being thrown.
I have made the code changes and the same has been made submitted. An official patch for this will be released soon.
.
.
.
The official patch has been released.
Please download the latest patch "XI ADAPTER FRAMEWORK 7.31: "SAPXIAF12P" (SP-level #12, Patch-level #61)" from SAP Service Market Place.
Note No. 2162239.
Thanks,
Ashish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Ashish,
As it can be seen from the error text, the exception is StackOverflowError - looking into it, I personally cannot state with confidence if it is really due to connectivity issue, or reason is something different. StackOverflowError is one of generic exceptions thrown by JVM in response to attempt to exceed defined size limit for thread's stack size. One of common causes of this exception, is deep recursion or deeply nested calls executed by the Java application. Sometimes it may be due to sub-optimal configuration of thread stack size limit (met less frequently, since this is one of JVM parameters that is not subject for common customization in JVMs of PI/PO systems).
As said, so far I cannot see evidences of this error being related to connectivity issues - as a result, I don't think we are in position to provide any specific recommendations regarding parameters tuning / configuration changes right now. Can you please retrieve details of the exception from Adapter Engine logs and provide it here? It will be specifically helpful to see which application / thread caused this exception and what its call stack was at a time of exception occurrence.
Regards,
Vadim
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Ashsih,
Increase the timeout parameter and check
Setting a Channel-Specific Timeout - Advanced Adapter Engine - SAP Library
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.