Bug #32123 Recommended Action of "null" in Security Alterations rules causes log error
Submitted: 5 Nov 2007 20:11 Modified: 14 Nov 2007 4:24
Reporter: Bill Weber Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Enterprise Monitor: Advisors/Rules Severity:S3 (Non-critical)
Version:1.3.0.7936 OS:Any
Assigned to: Andy Bang CPU Architecture:Any

[5 Nov 2007 20:11] Bill Weber
Description:
All 3 of the Security Alterations rules (Security Alterations Detected: User Privileges Granted, Security Alterations Detected: User Privileges Revoked,  Security Alterations Have Been Detected) have 'null' for the Recommended Action instead of "None specified.". As a result, when any of these are scheduled you get the following error in the Miscellaneous Log:

-------------- String literal 'null' --------------
java.lang.Exception at com.mysql.util.Str.nullOrEmpty(Str.java:110) at com.mysql.util.Str.replace(Str.java:142) at com.mysql.merlin.server.monitors.MonitorOutput.substituteServerName(MonitorOutput.java:126) at com.mysql.merlin.server.monitors.MonitorOutput.<init>(MonitorOutput.java:77) at com.mysql.merlin.server.monitors.PlainTextMonitorOutput.<init>(PlainTextMonitorOutput.java:17) at com.mysql.merlin.server.monitors.dao.Schedule.advisorStateChanged(Schedule.java:312) at com.mysql.merlin.server.monitors.dao.Schedule.processAdvisorTriggered(Schedule.java:496) at com.mysql.merlin.server.monitors.AdvisorJob.evaluationComplete(AdvisorJob.java:342) at com.mysql.merlin.server.monitors.AdvisorJob.scanThresholds(AdvisorJob.java:410) at com.mysql.merlin.server.monitors.AdvisorJob.evaluate(AdvisorJob.java:189) at com.mysql.merlin.server.monitors.AdvisorJob.processDatum(AdvisorJob.java:336) at com.mysql.merlin.server.monitors.AdvisorJob.processCollect(AdvisorJob.java:141) at com.mysql.merlin.server.event.CollectEvent.processCollect(CollectEvent.java:23) at com.mysql.merlin.server.event.AbstractEventDispatcher$1.run(AbstractEventDispatcher.java:33) at com.mysql.merlin.server.event.SynchronousEventDispatcher.postEvent(SynchronousEventDispatcher.java:5) at com.mysql.merlin.server.event.AbstractEventDispatcher.processCollect(AbstractEventDispatcher.java:31) at com.mysql.merlin.server.collect.dao.SingleThreadedDelayedWriter.postCollectEvents(SingleThreadedDelayedWriter.java:61) at com.mysql.merlin.server.collect.dao.SingleThreadedDelayedWriter$PostCollectEvent.run(SingleThreadedDelayedWriter.java:224) at com.mysql.merlin.server.ReportingRunnable.run(ReportingRunnable.java:43) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:65) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:168) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) --------------

How to repeat:
- install a 1.3 dashboard and agent
- startup dash and bring in 1.3 advisor bundle
- start agent
- Advisors tab, Add to Schedule page
- expand Security Advisors
- click on any of Security Alterations rules and notice 'null' for Recommended Action
- click check boxes on all 3 Security Alterations rules
- click schedule and set Frequency to 1 minute
- wait at least 1 minute
| Settings tab, Logs page, Miscellaneous logs should have String literal 'null' erros
[8 Nov 2007 17:44] Sloan Childers
r8034 development-1.2.1

NOTE:  Andy will need to update the Advisor bundles on the enterprise site before we test.
[13 Nov 2007 1:27] Andy Bang
Updated advisor JARs have been uploaded to the Enteprise website.
[14 Nov 2007 4:24] Andrew Cwik
fixed 1.3.0.8044.