[ 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)