[ 
https://issues.apache.org/jira/browse/FLINK-30081?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mingliang Liu updated FLINK-30081:
----------------------------------
    Description: 
In local executor, it's not possible to set different values for 
{{taskmanager.memory.jvm-overhead.max}} and 
{{{}taskmanager.memory.jvm-overhead.min{}}}. The same problem for 
{{taskmanager.memory.network.max}} and {{{}taskmanager.memory.network.min{}}}.

Sample code to reproduce:
{code:java}
Configuration conf = new Configuration();
conf.setString(TaskManagerOptions.JVM_OVERHEAD_MAX.key(), "2GB");
conf.setString(TaskManagerOptions.JVM_OVERHEAD_MIN.key(), "1GB");

final StreamExecutionEnvironment env = 
StreamExecutionEnvironment.createLocalEnvironment(conf);

env.fromElements("Hello", "World")
    .executeAndCollect()
    .forEachRemaining(System.out::println);
{code}
The failing exception is something like:
{code:java}
Exception in thread "main" java.lang.IllegalArgumentException
  at org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:122)
  at 
org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils.calculateTotalProcessMemoryFromComponents(TaskExecutorResourceUtils.java:182)
  at 
org.apache.flink.runtime.taskexecutor.TaskExecutorMemoryConfiguration.create(TaskExecutorMemoryConfiguration.java:119)
{code}
I think the problem was that we expect the max and min to equal, but local 
executor did not reset them correctly?

  was:
In local executor, it's not possible to set different values for 
{{taskmanager.memory.jvm-overhead.max}} and 
{{{}taskmanager.memory.jvm-overhead.min{}}}. The same problem for 
{{taskmanager.memory.network.max}} and {{taskmanager.memory.network.min}}.

Sample code to reproduce:
{code:java}
Configuration conf = new Configuration();
conf.setString(TaskManagerOptions.JVM_OVERHEAD_MAX.key(), "1GB");
conf.setString(TaskManagerOptions.JVM_OVERHEAD_MIN.key(), "2GB");

final StreamExecutionEnvironment env = 
StreamExecutionEnvironment.createLocalEnvironment(conf);

env.fromElements("Hello", "World")
    .executeAndCollect()
    .forEachRemaining(System.out::println);
{code}

The failing exception is something like:
{code}
Exception in thread "main" java.lang.IllegalArgumentException
  at org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:122)
  at 
org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils.calculateTotalProcessMemoryFromComponents(TaskExecutorResourceUtils.java:182)
  at 
org.apache.flink.runtime.taskexecutor.TaskExecutorMemoryConfiguration.create(TaskExecutorMemoryConfiguration.java:119)
{code}

I think the problem was that we expect the max and min to equal, but local 
executor did not reset them correctly?


> Local executor can not accept different jvm-overhead.min/max values
> -------------------------------------------------------------------
>
>                 Key: FLINK-30081
>                 URL: https://issues.apache.org/jira/browse/FLINK-30081
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Configuration
>    Affects Versions: 1.16.0
>            Reporter: Mingliang Liu
>            Priority: Major
>
> In local executor, it's not possible to set different values for 
> {{taskmanager.memory.jvm-overhead.max}} and 
> {{{}taskmanager.memory.jvm-overhead.min{}}}. The same problem for 
> {{taskmanager.memory.network.max}} and {{{}taskmanager.memory.network.min{}}}.
> Sample code to reproduce:
> {code:java}
> Configuration conf = new Configuration();
> conf.setString(TaskManagerOptions.JVM_OVERHEAD_MAX.key(), "2GB");
> conf.setString(TaskManagerOptions.JVM_OVERHEAD_MIN.key(), "1GB");
> final StreamExecutionEnvironment env = 
> StreamExecutionEnvironment.createLocalEnvironment(conf);
> env.fromElements("Hello", "World")
>     .executeAndCollect()
>     .forEachRemaining(System.out::println);
> {code}
> The failing exception is something like:
> {code:java}
> Exception in thread "main" java.lang.IllegalArgumentException
>   at org.apache.flink.util.Preconditions.checkArgument(Preconditions.java:122)
>   at 
> org.apache.flink.runtime.taskexecutor.TaskExecutorResourceUtils.calculateTotalProcessMemoryFromComponents(TaskExecutorResourceUtils.java:182)
>   at 
> org.apache.flink.runtime.taskexecutor.TaskExecutorMemoryConfiguration.create(TaskExecutorMemoryConfiguration.java:119)
> {code}
> I think the problem was that we expect the max and min to equal, but local 
> executor did not reset them correctly?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to