Failed to stop thread - slow oracle query

I have an Oracle db query that runs slow “most of the time”; occassionally, though, it seems to get lost. The requestTimeOut log shows something like " failed to stop thread.
at java.base@11.0.9.1/java.net.SocketInputStream.socketRead0(Native Method)"

Query:
SELECT DISTINCT
T6.term_cd,
T6.crs_subj_cd,
T6.crs_nbr,
T6.sect_nbr,
T6.part_of_term_cd,
T1.netid_principal,
T1.netid_domain,
T2.pers_cur_info_ind,
T5.term_desc,
T4.crn
FROM edw.t_sect_base T6,
edw.v_student_crs_reg_hist_prr_ltd T4,
edw.t_student_reg_hist T3,
edw.t_student_term T5,
edw.v_pers_hist_prr_full_ltd T2,
edw.t_netid T1
WHERE T6.campus_cd = T4.campus_cd
AND T6.crn = T4.crn
AND T6.term_cd = T4.term_cd
AND T4.student_crs_reg_cur_info_ind = ‘Y’
AND T4.student_crs_reg_most_rcnt_ind = ‘Y’
AND T4.edw_pers_id = T3.edw_pers_id
AND T4.term_cd = T3.term_cd
AND T3.student_reg_cur_info_ind = ‘Y’
AND T3.edw_pers_id = T5.edw_pers_id
AND T3.term_cd = T5.term_cd
AND (T5.term_cd = ‘120211’
)
AND T5.edw_pers_id = T2.edw_pers_id
AND T2.pers_cur_info_ind = ‘Y’
AND T2.edw_pers_id = T1.edw_pers_id
AND T1.netid_principal = ‘userNetID’
AND T1.netid_domain = ‘netIDDomain’
ORDER BY T6.crs_subj_cd,
T6.crs_nbr,
T6.sect_nbr

“Average” execution time for this query is 20,000 ms, but recently execution time ran to 1,127,036 ms.

Trace from requestTimeout.log follows:
“ERROR”,“Thread-517398”,“02/12/2021”,“13:52:59”,“controller”,"stop request (37) because run into a timeout path: [expanded directory/filename] ( [expanded directory Name]/Application.cfc).
at java.base@11.0.9.1/java.util.Arrays.copyOf(Arrays.java:3745)
at java.base@11.0.9.1/java.lang.StringCoding.encodeUTF8_UTF16(StringCoding.java:954)
at java.base@11.0.9.1/java.lang.StringCoding.encodeUTF8(StringCoding.java:885)
at java.base@11.0.9.1/java.lang.StringCoding.encode(StringCoding.java:436)
at java.base@11.0.9.1/java.lang.String.getBytes(String.java:964)
at lucee.runtime.writer.CFMLWriterImpl.close(CFMLWriterImpl.java:372)
at lucee.runtime.writer.CFMLWriterWSPref.close(CFMLWriterWSPref.java:245)
at lucee.commons.io.IOUtil.closeEL(IOUtil.java:493)
at lucee.runtime.PageContextImpl.close(PageContextImpl.java:725)
at lucee.runtime.PageContextImpl.release(PageContextImpl.java:566)
at lucee.runtime.CFMLFactoryImpl.releaseLuceePageContext(CFMLFactoryImpl.java:204)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1144)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1072)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base@11.0.9.1/java.lang.Thread.run(Thread.java:834)
"
“ERROR”,“Thread-517399”,“02/12/2021”,“13:53:00”,“controller”,"stop request (37) because run into a timeout path: [expanded directory/filename] ([expanded directory]/Application.cfc).
at java.base@11.0.9.1/java.util.zip.Deflater.deflateBytesBytes(Native Method)
at java.base@11.0.9.1/java.util.zip.Deflater.deflate(Deflater.java:595)
at java.base@11.0.9.1/java.util.zip.Deflater.deflate(Deflater.java:474)
at java.base@11.0.9.1/java.util.zip.DeflaterOutputStream.deflate(DeflaterOutputStream.java:251)
at java.base@11.0.9.1/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:211)
at java.base@11.0.9.1/java.util.zip.GZIPOutputStream.write(GZIPOutputStream.java:146)
at java.base@11.0.9.1/java.io.FilterOutputStream.write(FilterOutputStream.java:108)
at lucee.runtime.writer.CFMLWriterImpl.close(CFMLWriterImpl.java:389)
at lucee.runtime.writer.CFMLWriterWSPref.close(CFMLWriterWSPref.java:245)
at lucee.commons.io.IOUtil.closeEL(IOUtil.java:493)
at lucee.runtime.PageContextImpl.close(PageContextImpl.java:725)
at lucee.runtime.PageContextImpl.release(PageContextImpl.java:566)
at lucee.runtime.CFMLFactoryImpl.releaseLuceePageContext(CFMLFactoryImpl.java:204)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1144)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1072)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base@11.0.9.1/java.lang.Thread.run(Thread.java:834)
"
“ERROR”,“Thread-517413”,“02/12/2021”,“13:53:15”,“controller”,"stop request (38) because run into a timeout path: expanded path/filename.cfm (expanded path/componentname.cfc).
at java.base@11.0.9.1/java.net.SocketInputStream.socketRead0(Native Method)
at java.base@11.0.9.1/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
at java.base@11.0.9.1/java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.base@11.0.9.1/java.net.SocketInputStream.read(SocketInputStream.java:140)
at oracle.net.ns.Packet.receive(Packet.java:311)
at oracle.net.ns.DataPacket.receive(DataPacket.java:105)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:305)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:429)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:397)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:774)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:925)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4901)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1385)
at lucee.runtime.type.util.QueryUtil.execute(QueryUtil.java:327)
at lucee.runtime.type.QueryImpl.execute(QueryImpl.java:280)
at lucee.runtime.type.QueryImpl.(QueryImpl.java:225)
at lucee.runtime.tag.Query.executeDatasoure(Query.java:1091)
at lucee.runtime.tag.Query._doEndTag(Query.java:672)
at lucee.runtime.tag.Query.doEndTag(Query.java:552)
at [componentName]$cf.udfCall(/[component name]:292)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:207)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:647)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1917)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:864)
at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1728)
at [directory/filename]_cfm$cf.call(/[directory/filename]:10)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:913)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:836)
at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:216)
at lucee.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:104)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2415)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2405)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2380)
at lucee.runtime.engine.Request.exe(Request.java:43)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1126)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1072)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base@11.0.9.1/java.lang.Thread.run(Thread.java:834)
"
“ERROR”,“Thread-517414”,“02/12/2021”,“13:53:16”,“thread”,"failed to interrupt thread.
at java.base@11.0.9.1/java.net.SocketInputStream.socketRead0(Native Method)
at java.base@11.0.9.1/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
at java.base@11.0.9.1/java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.base@11.0.9.1/java.net.SocketInputStream.read(SocketInputStream.java:140)
at oracle.net.ns.Packet.receive(Packet.java:311)
at oracle.net.ns.DataPacket.receive(DataPacket.java:105)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:305)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:429)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:397)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:774)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:925)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4901)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1385)
at lucee.runtime.type.util.QueryUtil.execute(QueryUtil.java:327)
at lucee.runtime.type.QueryImpl.execute(QueryImpl.java:280)
at lucee.runtime.type.QueryImpl.(QueryImpl.java:225)
at lucee.runtime.tag.Query.executeDatasoure(Query.java:1091)
at lucee.runtime.tag.Query._doEndTag(Query.java:672)
at lucee.runtime.tag.Query.doEndTag(Query.java:552)
at [componentName]_cfc$cf.udfCall(/[componentName].cfc:292)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:207)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:647)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1917)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:864)
at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1728)
at [directory.fileName]_cfm$cf.call(/[directory]/[fileName].cfm:10)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:913)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:836)
at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:216)
at lucee.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:104)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2415)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2405)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2380)
at lucee.runtime.engine.Request.exe(Request.java:43)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1126)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1072)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base@11.0.9.1/java.lang.Thread.run(Thread.java:834)
"
“ERROR”,“Thread-517414”,“02/12/2021”,“13:53:17”,“thread”,"failed to stop thread.
at java.base@11.0.9.1/java.net.SocketInputStream.socketRead0(Native Method)
at java.base@11.0.9.1/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
at java.base@11.0.9.1/java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.base@11.0.9.1/java.net.SocketInputStream.read(SocketInputStream.java:140)
at oracle.net.ns.Packet.receive(Packet.java:311)
at oracle.net.ns.DataPacket.receive(DataPacket.java:105)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:305)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:429)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:397)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:774)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:925)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:4901)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1385)
at lucee.runtime.type.util.QueryUtil.execute(QueryUtil.java:327)
at lucee.runtime.type.QueryImpl.execute(QueryImpl.java:280)
at lucee.runtime.type.QueryImpl.(QueryImpl.java:225)
at lucee.runtime.tag.Query.executeDatasoure(Query.java:1091)
at lucee.runtime.tag.Query._doEndTag(Query.java:672)
at lucee.runtime.tag.Query.doEndTag(Query.java:552)
at [componentName]_cfc$cf.udfCall(/[componentName].cfc:292)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:207)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:647)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1917)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:864)
at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1728)
at [directory.filename]_cfm$cf.call(/[directory]/[filename].cfm:10)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:913)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:836)
at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:216)
at lucee.runtime.listener.ModernAppListener.onRequest(ModernAppListener.java:104)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2415)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2405)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2380)
at lucee.runtime.engine.Request.exe(Request.java:43)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1126)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1072)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:431)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base@11.0.9.1/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base@11.0.9.1/java.lang.Thread.run(Thread.java:834)
"

I’ve included the last 5 errors, since they all seem to be related to the same thread. Any/all help and suggestions are welcome.

OS: Linux (4.18.0-193.28.1.el8_2.x86_64) 64bit
Java Version: 11.0.9.1 (Red Hat, Inc.) 64bit
Tomcat Version: Apache Tomcat/9.0.37
Lucee Version: Lucee 5.3.5.96

I don’t know much specific to oracle db, but to me that is purely SQL-performance specific and not Lucee specific. Looks like your query needs some optimization. I would check the performance and optimize that query with explain or similar. From my mariaDB/mySQL experience I’d check the following:

  • check the use of indexes and evenutally define new indexes on behalf of your data and query, as well as for the order by colums
  • use inner joins
  • check your data types according the data and ensure to use the same data types for the inner joining connecting coluns.
  • avoid using ‘distinct’. Many times you can rewrite the query by using ‘group by’.

I’d rewrite the query. Doesn’t look very performant.

Thank you for these suggestions. Here’s where I am with each:

  • Indexes: I have absolutely no control over this database. It is a resource to which I’ve been given access privilege, nothing more. I have to use it “as is”.
  • Inner Joins: I’ve written/evaluated this query both ways: with and without inner joins; there is no difference in the query performance.
  • Data types are all appropriately matched.
  • Removed DISTINCT with no noticeable effect.

I am more concerned with the request exceeding 1 Million ms… before it threw a requestTimeout error. Should Lucee be able to interrupt java.net.SocketInputStream.socketRead0(Native Method) ? Does this error mean that the thread executes indefinitely because Lucee can’t stop it? Does this create a memory leak?

Did you find any usefull information by using EXPLAIN PLAN?

Result from attempt to use Explain Plan:

ORA-01039: insufficient privileges on underlying objects of the view

image001.jpg

image002.jpg