tracker issue : CF-4204112

select a category, or use search below
(searches all categories and all time range)
Title:

Loads of SQL errors in ClientScopeCleanUpThread with MySQL

| View in Tracker

Status/Resolution/Reason: Closed/Fixed/Fixed

Reporter/Name(from Bugbase): Bradley W. / ()

Created: 03/21/2019

Components: Database

Versions: 11.0

Failure Type: Incorrectly functioning

Found In Build/Fixed In Build: Update 15 / CF2016U12,CF2018U5

Priority/Frequency: Normal / Unknown

Locale/System: / Win All

Vote Count: 0

Problem Description:
I have a CF11 server using MySQL DB for client storage and I see tons of JDBC errors that get reported in FusionReactor. These do not affect HTTP requests as they appear to be part of a back-end cleanup process.  They cause a lot of noise in FusionReactor.  I'm unclear on whether the client vars are actually being cleaned or not.

An example of the SQL statement erroring is:
delete FROM CDATA WHERE CFID = '139340:56edcf6437328216-4DBA3BE3-5056-AB6B-F3CB9AB7CA95A64A ' and app = 'E98F365981EB687BC08BDA434AD20FD5 '

The error message is:
java.sql.SQLException: Can not issue data manipulation statements with executeQuery().

And the stack trace is:
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:904)
com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:483)
com.mysql.jdbc.PreparedStatement.$fr$executeQuery(PreparedStatement.java:2207)
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java)
coldfusion.server.j2ee.sql.JRunPreparedStatement.executeQuery(JRunPreparedStatement.java:86)
coldfusion.runtime.JDBCHelper.removeClientVars(JDBCHelper.java:662)
coldfusion.runtime.JDBCHelper._remove(JDBCHelper.java:622)
coldfusion.runtime.JDBCHelper.remove(JDBCHelper.java:529)
coldfusion.runtime.ClientScopeServiceImpl.removeRenewedClientStores(ClientScopeServiceImpl.java:482)
coldfusion.runtime.ClientScopeServiceImpl$ClientScopeCleanUpThread.run(ClientScopeServiceImpl.java:950)
coldfusion.scheduling.ThreadPool.run(ThreadPool.java:260)
coldfusion.scheduling.WorkerThread.run(WorkerThread.java:71)

Steps to Reproduce:
I can see these errors by using FusionReactor and choosing "JDBC" > "JDBC Error History".  

Another example is the SQL
delete FROM CGLOBAL WHERE cfid = '138561:46400d80de303a61-4B5670C8-5056-AB6B-F3445A475BDDE80A '

With the error message:

com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:959)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:904)
com.mysql.jdbc.StatementImpl.checkForDml(StatementImpl.java:483)
com.mysql.jdbc.PreparedStatement.$fr$executeQuery(PreparedStatement.java:2207)
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java)
coldfusion.server.j2ee.sql.JRunPreparedStatement.executeQuery(JRunPreparedStatement.java:86)
coldfusion.runtime.JDBCHelper.removeGlobalVars(JDBCHelper.java:679)
coldfusion.runtime.JDBCHelper._remove(JDBCHelper.java:633)
coldfusion.runtime.JDBCHelper.remove(JDBCHelper.java:529)
coldfusion.runtime.ClientScopeServiceImpl.removeRenewedClientStores(ClientScopeServiceImpl.java:482)
coldfusion.runtime.ClientScopeServiceImpl$ClientScopeCleanUpThread.run(ClientScopeServiceImpl.java:950)
coldfusion.scheduling.ThreadPool.run(ThreadPool.java:260)
coldfusion.scheduling.WorkerThread.run(WorkerThread.java:71)

Actual Result:
It errors

Expected Result:
no errors

Any Workarounds:
No

Attachments:

Comments:

This issue is fixed now. The fix for this issue will be available as part of an upcoming update of ColdFusion 2016 and ColdFusion 2018.
Comment by Nimit S.
31118 | August 13, 2019 05:38:24 AM GMT
Thanks Nimit!
Comment by Bradley W.
31119 | August 13, 2019 05:40:10 AM GMT