Bug #75257 Wiki syntax error
Submitted: 18 Dec 2014 10:33 Modified: 19 Dec 2014 9:20
Reporter: Daniël van Eeden (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Enterprise Monitor: Web Severity:S3 (Non-critical)
Version:3.0.18.3095 OS:Any
Assigned to: CPU Architecture:Any
Tags: syntax, wiki

[18 Dec 2014 10:33] Daniël van Eeden
Description:
The wiki syntax as described on http://dev.mysql.com/doc/mysql-monitor/3.0/en/mem-advisors-wiki-format.html doesn't seem to get interpreted correctly by MEM

Example error:
2014-12-18 11:24:20,905  WARN com.mysql.etools.monitor.advisor.rule.RuleClassLoader: (repeated 3 times) rule text contains syn
tax errors
java.lang.IllegalArgumentException: can't parse argument number: moreInfo:Oracle Critical Patch Update October 2014|http://www
.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html for key [* {moreInfo:Oracle Critical Patch Update October 2014
|http://www.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html}
* {moreInfo:Critical Patch Update October 2014 Patch Availability Document for Oracle MySQL Products (Doc ID 1926629.1)|https:

//support.oracle.com/rs?type=doc&id=1926629.1}] in locale [en]

Caused by: java.lang.IllegalArgumentException: can't parse argument number: moreInfo:Oracle Critical Patch Update October 2014
|http://www.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html

Caused by: java.lang.NumberFormatException: For input string: "moreInfo:Oracle Critical Patch Update October 2014|http://www.o
racle.com/technetwork/topics/security/cpuoct2014-1972960.html"

How to repeat:
Enter the following as 'Links and Further Reading':
* {moreInfo:Oracle Critical Patch Update October 2014|http://www.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html}
* {moreInfo:Critical Patch Update October 2014 Patch Availability Document for Oracle MySQL Products (Doc ID 1926629.1)|https://support.oracle.com/rs?type=doc&id=1926629.1}

Save the rule, now it gets rewritten as:
* '{'moreInfo:Oracle Critical Patch Update October 2014|http://www.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html}
* '{'moreInfo:Critical Patch Update October 2014 Patch Availability Document for Oracle MySQL Products (Doc ID 1926629.1)|https://support.oracle.com/rs?type=doc&id=1926629.1}
[19 Dec 2014 9:20] MySQL Verification Team
Hello Daniël,

Thank you for the report.

Thanks,
Umesh
[19 Dec 2014 9:20] MySQL Verification Team
// 3.0.18

2014-12-19 14:18:33,129  WARN com.mysql.etools.monitor.advisor.rule.RuleClassLoader: rule text contains syntax errors
java.lang.IllegalArgumentException: can't parse argument number: moreInfo:Oracle Critical Patch Update October 2014|http://www.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html for key [* {moreInfo:Oracle Critical Patch Update October 2014|http://www.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html}
* {moreInfo:Critical Patch Update October 2014 Patch Availability Document for Oracle MySQL Products (Doc ID 1926629.1)|https://support.oracle.com/rs?type=doc&id=1926629.1}] in locale [en]
        at com.mysql.merlin.ui.helper.LocaleUtilsImpl.getText(LocaleUtilsImpl.java:247)
        at com.mysql.merlin.ui.helper.LocaleUtilsImpl.getText(LocaleUtilsImpl.java:137)
        at com.mysql.merlin.ui.helper.LocaleUtilsImpl._(LocaleUtilsImpl.java:118)
        at com.mysql.merlin.ui.helper.LocaleUtilsImpl.getAdvisorText(LocaleUtilsImpl.java:151)
        at com.mysql.etools.monitor.advisor.rule.RuleClassLoader$2.getAdvisorText(RuleClassLoader.java:744)
        at com.mysql.etools.monitor.advisor.rule.RuleClassLoader$2.getLocalizedTemplates(RuleClassLoader.java:696)
        at com.mysql.etools.monitor.text.HibEvaluatedText.<init>(HibEvaluatedText.java:79)
        at com.mysql.etools.monitor.text.HibEvaluatedTextOps.store(HibEvaluatedTextOps.java:67)
        at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at com.mysql.etools.monitor.text.$Proxy174.store(Unknown Source)
        at com.mysql.etools.monitor.text.PersistentEvaluatedTextStore.installTemplates(PersistentEvaluatedTextStore.java:101)
        at com.mysql.etools.monitor.text.PersistentEvaluatedTextStore.access$100(PersistentEvaluatedTextStore.java:35)
        at com.mysql.etools.monitor.text.PersistentEvaluatedTextStore$1.registered(PersistentEvaluatedTextStore.java:63)
        at com.mysql.etools.springboard.Springboard$6.run(Springboard.java:537)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: can't parse argument number: moreInfo:Oracle Critical Patch Update October 2014|http://www.oracle.com/technetwork/topics/security/cpuoct2014-1972960.html
        at java.text.MessageFormat.makeFormat(Unknown Source)
        at java.text.MessageFormat.applyPattern(Unknown Source)
        at java.text.MessageFormat.<init>(Unknown Source)
        at com.mysql.merlin.ui.helper.LocaleUtilsImpl.getText(LocaleUtilsImpl.java:238)
        ... 24 more
[22 Dec 2014 17:41] Andy Bang
Here's an example of how we do it internally:

{noformat}
'{'moreInfo:MySQL Manual: What Is New in MySQL 5.6|http://dev.mysql.com/doc/mysql/en/mysql-nutshell.html'}'
{noformat}

So I *think* the answer is to put single quotes around both the starting and ending curly braces.