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