Luke Hutchison created FLINK-6057:
-------------------------------------
Summary: Better default needed for num network buffers
Key: FLINK-6057
URL: https://issues.apache.org/jira/browse/FLINK-6057
Project: Flink
Issue Type: Bug
Components: Core
Affects Versions: 1.2.0
Reporter: Luke Hutchison
Using the default environment,
{code}
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
{code}
my code will sometimes fail with an error that Flink ran out of network
buffers. To fix this, I have to do:
{code}
int numTasks = Runtime.getRuntime().availableProcessors();
config.setInteger(ConfigConstants.DEFAULT_PARALLELISM_KEY, numTasks);
config.setInteger(ConfigConstants.TASK_MANAGER_NUM_TASK_SLOTS, numTasks);
config.setInteger(ConfigConstants.TASK_MANAGER_NETWORK_NUM_BUFFERS_KEY,
numTasks * 2048);
{code}
The default value of 2048 fails when I increase the degree of parallelism for a
large Flink pipeline (hence the fix to set the number of buffers to numTasks *
2048).
This is particularly problematic because a pipeline can work fine on one
machine, and when you start the pipeline on a machine with more cores, it can
fail.
The default execution environment should pick a saner default based on the
level of parallelism (or whatever is needed to ensure that the number of
network buffers is not going to be exceeded for a given execution environment).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)