You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Felix Dreissig (JIRA)" <ji...@apache.org> on 2017/08/24 14:10:00 UTC

[jira] [Created] (FLINK-7503) Config options taskmanager.log.path and jobmanager.web.log.path are misleading, if not broken

Felix Dreissig created FLINK-7503:
-------------------------------------

             Summary: Config options taskmanager.log.path and jobmanager.web.log.path are misleading, if not broken
                 Key: FLINK-7503
                 URL: https://issues.apache.org/jira/browse/FLINK-7503
             Project: Flink
          Issue Type: Bug
    Affects Versions: 1.3.2
            Reporter: Felix Dreissig
            Priority: Minor


Setting config option {{taskmanager.log.path}} to the absolute directory of the logs caused the TaskManager logs to be unavailable through the JobManager web UI in our setup: The web UI said "Fetching TaskManager log failed.", JobManager and TaskManager logs see below.

By grepping through the source code, I found that {{taskmanager.log.path}} (resp. {{TASK_MANAGER_LOG_PATH_KEY}}) outside of tests only ever gets used by {{TaskManager.handleRequestTaskManagerLog()}}, but not for writing the logs. Which makes sense, because writing them is (solely, as far as I can tell) handled by Log4j.

Documentation on {{taskmanager.log.path}} is rather sparse and just says "The config parameter defining the taskmanager log file location". Apart from not telling what the value is supposed to look like (absolute/relative path), this also doesn't say how the option is supposed to be used.

A similar case is {{jobmanager.web.log.path}}, which isn't even documented (no idea how it ended up in our config) and apart from tests is only used in {{WebMonitorUtils.LogFileLocation.find()}}. For production deployments, it normally won't even be picked up there since {{log.file}} is always set when Flink is launched through the start script. However, this option caused no issues for us so far.

----

JobManager log:
{code}
ERROR org.apache.flink.runtime.webmonitor.handlers.TaskManagerLogHandler  - Fetching TaskManager log failed.
java.util.NoSuchElementException: None.get
	at scala.None$.get(Option.scala:347)
	at scala.None$.get(Option.scala:345)
	at org.apache.flink.runtime.webmonitor.handlers.TaskManagerLogHandler$2.apply(TaskManagerLogHandler.java:200)
	at org.apache.flink.runtime.webmonitor.handlers.TaskManagerLogHandler$2.apply(TaskManagerLogHandler.java:197)
{code}

TaskManager log:
{code}
ERROR akka.actor.OneForOneStrategy - /var/log/flink (Is a directory)
 java.io.FileNotFoundException: /var/log/flink (Is a directory)
 at java.io.FileInputStream.open0(Native Method)
 at java.io.FileInputStream.open(FileInputStream.java:195)
 at java.io.FileInputStream.<init>(FileInputStream.java:138)
 at org.apache.flink.runtime.taskmanager.TaskManager.org$apache$flink$runtime$taskmanager$TaskManager$$handleRequestTaskManagerLog(TaskManager.scala:840)
 at org.apache.flink.runtime.taskmanager.TaskManager$$anonfun$handleMessage$1.applyOrElse(TaskManager.scala:337)
{code}



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