JSP Fails with One of a Number of Exceptions (Including "Protocol violation", "Closed Connection", and "Must be logged on to server") when Transaction Rate Is High
(Doc ID 1112963.1)
Last updated on MARCH 01, 2021
Applies to:JDBC - Version 126.96.36.199 and later
Information in this document applies to any platform.
A JSP that processes orders runs on Apache JServ and connects to a version 10.2.0.4 database via JDBC/Thin 188.8.131.52.
The JSP processes an order by calling a PL/SQL procedure to query an order, do calculations, and output information for that order.
In both the production and test environments, when the rate of order processing is high, intermittently and at random the processing of an order fails. When the processing of an order fails one of a number of different exceptions occurs.
In the production environment the issue occurs only when there are many users. When the issue occurs the application of which the JSP is a component "locks up".
In the test environment Apache JMeter is used to achieve the high order processing rate (for example, 10 orders in 20 seconds) needed to reproduce the issue.
In the test environment, the exception that occurs when the processing of an order fails is one of six different exceptions. These exceptions are:
java.sql.SQLException: Protocol violation
java.sql.SQLException: Must be logged on to server
java.sql.SQLException: Invalid column index
java.sql.SQLException: Internal error: Invalid index for data access
java.sql.SQLException: Closed Connection
What is common to all the exceptions is that the JSP appears to be "confused" about what it is working with.
For example, for the "Must be logged on to server" and "Closed Connection", and "Protocol violation", it appears that JDBC is "confused" about what connection it's using - expecting to be working with a valid connection and finding that it's not logged on, that the connection is closed, or that there's something wrong with the connection.
The issue does not occur when the order processing rate is low (examples: 1 order in 1 minute, 10 orders in 1 minute).
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!