Sorry I should have specified how to handle job specific config parameters
using ParameterTool

ParameterTool parameters = ...

String someConfig = parameters.get("some.config"); <--- This is mandatory


Do I check someConfig for what ever requirement and just throw an exception
before starting the job or should I do System.exit(); Log it... Where does
the log if I log it?

On Wed, 15 Jan 2020 at 22:21, Yang Wang <danrtsey...@gmail.com> wrote:

> Hi John,
>
> Most of the config options will have default values. However, you still
> need to specify some
> required fields. For example, the taskmanager resource related options. If
> you do not specify
> anyone, the exception will be thrown on the client side like following.
>
> Exception in thread "main"
> org.apache.flink.configuration.IllegalConfigurationException: Either Task
> Heap Memory size (taskmanager.memory.task.heap.size) and Managed Memory
> size (taskmanager.memory.managed.size), or Total Flink Memory size
> (taskmanager.memory.flink.size), or Total Process Memory size
> (taskmanager.memory.process.size) need to be configured explicitly.
> at
> org.apache.flink.runtime.clusterframework.TaskExecutorResourceUtils.resourceSpecFromConfig(TaskExecutorResourceUtils.java:149)
> at
> org.apache.flink.runtime.util.BashJavaUtils.getTmResourceJvmParams(BashJavaUtils.java:62)
> at org.apache.flink.runtime.util.BashJavaUtils.main(BashJavaUtils.java:46)
>
>
> Also when you deploy Flink on Yarn cluster, it will check the queue
> configuration, resource, etc.
> If some config exception throws during startup, the Flink client will fail
> and print the exception on
> the console and client logs(usually in the {FLINK_HOME}/logs directory).
>
> However, not all the config options could be checked on the client side.
> For example, If you set a
> wrong checkpoint path, then you need to find the exceptions or errors in
> the jobmanager logs.
>
>
>
> Best,
> Yang
>
> John Smith <java.dev....@gmail.com> 于2020年1月16日周四 上午12:38写道:
>
>> Hi, so I have no problem reading config from resources files or anything
>> like that...
>>
>> But my question is around how do we handle mandatory fields?
>>
>> 1- If a mandatory field is missing during startup... Do we just "log" it
>> and do System.exit()?
>> 2- If we do log it where does the log end up, the task or the job node?
>>
>

Reply via email to