我发现了这个错误报告。问题是,“这就是发生在我身上的事吗?”。
我有几种情况会做这种事情。
<cfthread name="thread1" action="run">
code for thread1
</cfthread>
<cfthread name="thread2" action="run">
code for thread2
</cfthread>
下一个将有一个实际名称。
<cfthread name="CIMSThread" action="run">
code for CIMSThread
</cfthread>
<cfthread name="thread1,thread2,CIMSThread" action="join"></cfthread>
每隔一段时间,我就会遇到这些异常。
"Error","cfthread-638","04/10/13","15:14:14",,"CIMSTHREAD: null"
"Error","jrpp-1215","04/10/13","15:14:22","DWQueries","Error Executing Database
Query.<br><b>Query Of Queries runtime error.</b><br>
Table named CIMSThread.CIMSData was not found in memory. etc"
当它第一次发生时,我再次运行了适用的报告并在不同的thead上得到了相同类型的错误,最终让它成功运行而无需更改任何代码或数据。
当它第一次发生时,我还认为线程中可能发生了一些不好的事情会导致它崩溃,所以我做了一些事情来强迫它发生。但是,当我检查异常日志时,该线程中的错误出现了。在这些情况下,异常日志会显示这篇文章中的内容。
我们正在运行版本 9,0,1,274733 并打开了监控。
我是否受到报告的错误的影响,或者这可能是其他原因?
回复评论
我无法随意重现该问题。在与我的管理员协商后,我们关闭了监控,但这些页面并没有经常运行。如果错误暂时没有出现,则不一定能证明什么。
有问题的线程包含长时间运行的查询。我刚刚想到的是,有一个非常常用的页面从未引起过问题。好页面和问题页面之间有两个区别。好的页面只运行了两个线程并将它们连接起来。问题页面运行两个以上。此外,好页面上的查询不会花费很长时间来执行。
对于那些建议超时的人,不是
这是一些代码。查询运行大约需要 4 秒。
<cfthread name="ThreadWithTimeOut" action="run">
<cfquery name="thread.x" datasource="dw" timeout="1">
sql deleted
</cfquery>
</cfthread>
<cfthread action="join" name="ThreadWithTimeOut"></cfthread>
<cfdump var="#ThreadWithTimeOut.x#" metainfo="no">
异常日志显示:
"Error","cfthread-6","04/16/13","14:19:15",,"THREADWITHTIMEOUT:
Error Executing Database Query. **
Error ** (11319) [Red Brick Warehouse JDBC Driver] :
Query timeout (1 seconds) has expired."
coldfusion.tagext.sql.QueryTag$DatabaseQueryException: Error Executing Database Query.
和这个:
"Error","jrpp-238","04/16/13","14:19:15","Dan",
"Element X is undefined in THREADWITHTIMEOUT.
这是一组不同的例外。以前的说线程是空的。