[ 
https://issues.apache.org/jira/browse/FLINK-6655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16057097#comment-16057097
 ] 

Chesnay Schepler commented on FLINK-6655:
-----------------------------------------

The stack trace is sufficient. The basic problem is that HistoryServer code 
(which the MemoryArchivist partly belongs to) re-uses some utility methods from 
the FsStateBackend for verifying the validity of paths. The problem is simply 
that the error messages were written with the FsStatebackend in mind, and 
aren't suited for general-purpose usages.

As such we either have to replace the call (i.e by copying the method somewhere 
else) or modifying the method to provide more general error messages. I would 
probably prefer the first option, even if it results in code duplication, for 
the sake of keeping the more specific error messages for the FsStatebackend.

> Misleading error message when HistoryServer path is empty
> ---------------------------------------------------------
>
>                 Key: FLINK-6655
>                 URL: https://issues.apache.org/jira/browse/FLINK-6655
>             Project: Flink
>          Issue Type: Bug
>          Components: History Server
>    Affects Versions: 1.3.0
>            Reporter: Timo Walther
>            Priority: Minor
>
> If the HistoryServer {{jobmanager.archive.fs.dir}} if e.g. {{file://}}. The 
> following exception mentions checkpoints, which is misleading.
> {code}
> java.lang.IllegalArgumentException: Cannot use the root directory for 
> checkpoints.
>       at 
> org.apache.flink.runtime.state.filesystem.FsStateBackend.validateAndNormalizeUri(FsStateBackend.java:358)
>       at 
> org.apache.flink.runtime.jobmanager.MemoryArchivist.org$apache$flink$runtime$jobmanager$MemoryArchivist$$archiveJsonFiles(MemoryArchivist.scala:201)
>       at 
> org.apache.flink.runtime.jobmanager.MemoryArchivist$$anonfun$handleMessage$1.applyOrElse(MemoryArchivist.scala:107)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33)
>       at 
> scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:25)
>       at 
> org.apache.flink.runtime.LogMessages$$anon$1.apply(LogMessages.scala:33)
>       at 
> org.apache.flink.runtime.LogMessages$$anon$1.apply(LogMessages.scala:28)
>       at scala.PartialFunction$class.applyOrElse(PartialFunction.scala:118)
>       at 
> org.apache.flink.runtime.LogMessages$$anon$1.applyOrElse(LogMessages.scala:28)
>       at akka.actor.Actor$class.aroundReceive(Actor.scala:467)
>       at 
> org.apache.flink.runtime.jobmanager.MemoryArchivist.aroundReceive(MemoryArchivist.scala:65)
>       at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
>       at akka.actor.ActorCell.invoke(ActorCell.scala:487)
>       at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
>       at akka.dispatch.Mailbox.run(Mailbox.scala:220)
>       at 
> akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)
>       at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>       at 
> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
>       at 
> scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>       at 
> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to