Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Intermittent exception during peak load - java.sql.SQLException: Invalid column name

SateeshChinniOct 12 2017 — edited Oct 13 2017

Hi,

we are getting below Intermittent exception during peak load -

java.sql.SQLException: Invalid column name -

our application is JSF application , server -  tomcat-7.0.57 ,

tomcat-dbcp.jar version - 7.0.57 &  tomcat-jdbc.jar version -  7.0.57 & ojdbc6-11.2.0.jar (Implementation-Version: 11.2.0.1.0)

basically we are using tomcat connection pool ( database JNDI mentioned in <tomcat>/conf/context.xml - <Resource tag)

1) using javax.sql.DataSource from JNDI context

2) after getting connection we are testing the connection to execute query - select count(*) from dual

3) during peak time while executing above test statement it is throwing null pointer exception ( might be passing connection object is null)

4) in catch block - we are trying to get connection again ( it is in loop until it gets successful connection object)

after initial analysis we found out after above exception comes if any query got executed it is expecting count(*) from the result set -- so select id,name from table1 -- query is failing with above exception..

so this error is getting resolved if we restart tomcat server ( we are starting tomcat as windows service - not from command prompt)

regular load it is working fine -- only during peak load / more requests comes then we are getting above intermittent exception

Please suggest if anyone encountered similar exception and possible solutions..

---------------------------- complete stack trace -----------------

com.t3.t3ServiceUtil.utility.exception.ServiceException: java.sql.SQLException@Invalid column name

at com.t3.t3ServiceUtil.service.panext.PANextXmlServiceImpl.generatePAXMLExtract(PANextXmlServiceImpl.java:157)

at com.t3.t3ServiceUtil.wsImpl.panext.PANextGenServiceImpl.getTestMap(PANextGenServiceImpl.java:133)

at com.t3.t3Services.service.publish.PANextServiceBean.getTestMap(PANextServiceBean.java:55)

at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)

at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)

at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:178)

at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:68)

at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)

at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask.run(FutureTask.java:262)

at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)

at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)

at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)

at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)

at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)

at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)

at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)

at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:163)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)

at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:200)

at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:178)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)

at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

Caused by: com.t3.t3ServiceUtil.utility.exception.DAOException: java.sql.SQLException@Invalid column name

at com.t3.t3ServiceUtil.dao.common.T3ServiceDAOImpl.retrieveFormsListbyTestNumber(T3ServiceDAOImpl.java:209)

at com.t3.t3ServiceUtil.service.panext.PANextXmlServiceImpl.generatePAXMLExtract(PANextXmlServiceImpl.java:131)

... 51 more

Caused by: java.sql.SQLException: Invalid column name

at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3665)

at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:2717)

at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:494)

at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)

at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:263)

at com.t3.t3ServiceUtil.dao.common.T3ServiceDAOImpl.retrieveFormsListbyTestNumber(T3ServiceDAOImpl.java:182)

... 52 more

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 10 2017
Added on Oct 12 2017
5 comments
4,603 views