你好,kylin4.0.1任务构建完成以后,告警发送邮件发生异常,看日志原因是构建邮件模版信息时报错了,获取不到env_name,但是kylin.properties中的kylin.env=QA,请问如何解决?以下是报错日志:
2024-04-11 18:03:38,738 ERROR [Scheduler 1170635011 Job 
43525ef8-d8ee-4b17-a326-a7e97fcad95f-86] freemarker.runtime:60 : Error 
executing FreeMarker template
FreeMarker template error:
The following has evaluated to null or missing:
==> env_name  [in template "JOB_SUCCEED.ftl" at line 100, column 19]


----
Tip: If the failing expression is known to be legally refer to something that's 
sometimes null or missing, either specify a default value like 
myOptionalVar!myDefault, or use <#if 
myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the 
last step of the expression; to cover the whole expression, use parenthesis: 
(myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----


----
FTL stack trace ("~" means nesting-related):
- Failed at: ${env_name}  [in template "JOB_SUCCEED.ftl" at line 100, column 17]
----


Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message was already 
printed; see it above ...]
at 
freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:131)
at freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:355)
at freemarker.core.Expression.evalAndCoerceToString(Expression.java:82)
at freemarker.core.DollarVariable.accept(DollarVariable.java:41)
at freemarker.core.Environment.visit(Environment.java:324)
at freemarker.core.MixedContent.accept(MixedContent.java:54)
at freemarker.core.Environment.visit(Environment.java:324)
at freemarker.core.Environment.process(Environment.java:302)
at freemarker.template.Template.process(Template.java:325)
at 
org.apache.kylin.common.util.MailTemplateProvider.buildMailContent(MailTemplateProvider.java:63)
at 
org.apache.kylin.job.util.MailNotificationUtil.getMailContent(MailNotificationUtil.java:70)
at org.apache.kylin.engine.mr.CubingJob.formatNotifications(CubingJob.java:251)
at 
org.apache.kylin.job.execution.AbstractExecutable.notifyUserStatusChange(AbstractExecutable.java:368)
at 
org.apache.kylin.job.execution.DefaultChainedExecutable.onStatusChange(DefaultChainedExecutable.java:179)
at org.apache.kylin.engine.mr.CubingJob.onStatusChange(CubingJob.java:280)
at 
org.apache.kylin.job.execution.DefaultChainedExecutable.onExecuteFinished(DefaultChainedExecutable.java:160)
at org.apache.kylin.engine.mr.CubingJob.onExecuteFinished(CubingJob.java:276)
at 
org.apache.kylin.job.execution.AbstractExecutable.onExecuteFinishedWithRetry(AbstractExecutable.java:138)
at 
org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:228)
at 
org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:113)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2024-04-11 18:03:38,773 ERROR [Scheduler 1170635011 Job 
43525ef8-d8ee-4b17-a326-a7e97fcad95f-86] execution.AbstractExecutable:371 : 
error send email
java.lang.NullPointerException
at 
org.apache.kylin.shaded.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:878)
at 
org.apache.kylin.shaded.com.google.common.base.Joiner.toString(Joiner.java:452)
at 
org.apache.kylin.shaded.com.google.common.base.Joiner.appendTo(Joiner.java:109)
at 
org.apache.kylin.shaded.com.google.common.base.Joiner.appendTo(Joiner.java:152)
at org.apache.kylin.shaded.com.google.common.base.Joiner.join(Joiner.java:195)
at org.apache.kylin.shaded.com.google.common.base.Joiner.join(Joiner.java:185)
at org.apache.kylin.shaded.com.google.common.base.Joiner.join(Joiner.java:203)
at 
org.apache.kylin.job.util.MailNotificationUtil.getMailTitle(MailNotificationUtil.java:79)
at org.apache.kylin.engine.mr.CubingJob.formatNotifications(CubingJob.java:252)
at 
org.apache.kylin.job.execution.AbstractExecutable.notifyUserStatusChange(AbstractExecutable.java:368)
at 
org.apache.kylin.job.execution.DefaultChainedExecutable.onStatusChange(DefaultChainedExecutable.java:179)
at org.apache.kylin.engine.mr.CubingJob.onStatusChange(CubingJob.java:280)
at 
org.apache.kylin.job.execution.DefaultChainedExecutable.onExecuteFinished(DefaultChainedExecutable.java:160)
at org.apache.kylin.engine.mr.CubingJob.onExecuteFinished(CubingJob.java:276)
at 
org.apache.kylin.job.execution.AbstractExecutable.onExecuteFinishedWithRetry(AbstractExecutable.java:138)
at 
org.apache.kylin.job.execution.AbstractExecutable.execute(AbstractExecutable.java:228)
at 
org.apache.kylin.job.impl.threadpool.DefaultScheduler$JobRunner.run(DefaultScheduler.java:113)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Reply via email to