Bug 58042 - SlowQueryReport failed query logging
SlowQueryReport failed query logging
Product: Tomcat Modules
Classification: Unclassified
Component: jdbc-pool
PC All
: P2 normal (vote)
: ---
Assigned To: Tomcat Developers Mailing List
Depends on:
  Show dependency tree
Reported: 2015-06-16 15:02 UTC by Keith Williams
Modified: 2015-07-21 06:22 UTC (History)
0 users


Note You need to log in before you can comment on or make changes to this bug.
Description Keith Williams 2015-06-16 15:02:45 UTC
The SlowQueryReport JDBC interceptor catches Exceptions, by default logs them, and rethrows them. There is an option with the latest version not to write the message to the log, but it still sends it to JMX. It is very common in enterprise frameworks (such as Spring JDBC) to call a method, catch any exception thrown and handle the exception. All of this is normal activity. It should not be logged, it should not be sent to JMX. So first I would argue that SlowQueryReport SHOULD NOT log failed SQL statements at all. It is not documented as such, and it is a pain in the ??? that it does. :-) Second, it you will not remove the functionality, please understand that JMX and logging should "log" the same actions. So the setting should effect both. But again, if you want to make it hard to configure, by all means create yet another setting to control sending failed SQL to JMX. Finally, if you will not remove the functionality, please change the default to NOT log failed SQL. Minimal configuration is best. :-)
Comment 1 Mark Thomas 2015-06-16 15:49:36 UTC
Correct component
Comment 2 Keiichi Fujino 2015-06-29 09:35:36 UTC
Thanks for the report.
I fixed to use the LogSlow attribute and the logFailed attribute as a condition to send JMX notifications.(r1688164)

As for default value of the logFailed attribute, I will change to false against trunk and tc8.0 unless there is no objections.
Comment 3 Keiichi Fujino 2015-07-21 06:22:40 UTC
Fixed r1692049, r1692050.