Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
v1.0, v1.4.0
-
None
Description
When I deploy kylin-2.0 in my env and job execute failed, When send email of job status changed, I get the exception :
java.lang.IllegalArgumentException: Illegal group reference
at java.util.regex.Matcher.appendReplacement(Matcher.java:808)
at java.util.regex.Matcher.replaceAll(Matcher.java:906)
at java.lang.String.replaceAll(String.java:2162)
at org.apache.kylin.engine.mr.CubingJob.formatNotifications(CubingJob.java:140)
at org.apache.kylin.job.execution.AbstractExecutable.notifyUserStatusChange(AbstractExecutable.java:213)
at org.apache.kylin.job.execution.DefaultChainedExecutable.onExecuteFinished(DefaultChainedExecutable.java:100)
at org.apache.kylin.engine.mr.CubingJob.onExecuteFinished(CubingJob.java:166)
at org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:113)
at org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:124)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
This is because error message contain special character like '$' or '\', replaceAll will throw exception while encounter this string. http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replaceAll(java.lang.String, java.lang.String)
What is more, Kylin can not send error message of last executable job, I modify it too...