Hi Mike,

Thank you for your message. What you have done is correct, but you have run 
into a bug which was present for local execution in 2.9.0. It has since been 
fixed for the upcoming 2.10.0 release.

If you look at the 2.9.0 brach, you will see that the configuration is not 
passed to the local cluster: 
https://github.com/apache/beam/blob/release-2.9.0/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkExecutionEnvironments.java#L63

It is confusing that the config is indeed loaded but it won't be passed to the 
local cluster. 

Regarding the environment variable you mentioned, this is how Flink picks up 
the configuration file. If you use the Flink CLI or scripts this will work 
fine. But keep in mind that the memory settings are only read upon cluster 
startup, so changing this value for a Beam job won't do anything to existing 
non-local clusters. 

We could add an option to FlinkPipelineOptions to allow arbitrary Flink options 
to be passed. The main reason why we hesitated doing that was to avoid 
confusion about the different types of configuration settings and their scope. 

Please let us know if you have further questions. 

Best, 
Max


On January 9, 2019 8:27:36 AM EST, Mike Pedersen <m...@mikepedersen.dk> wrote:
>So I have Beam job that I want to run with Flink locally. Problem is, I
>get
>the following error:
>
>> java.io.IOException: Insufficient number of network buffers: required
>32,
>but only 24 available. The total number of network buffers is currently
>set
>to 32768 of 32768 bytes each. You can increase this number by setting
>the
>configuration keys 'taskmanager.network.memory.fraction',
>'taskmanager.network.memory.min', and 'taskmanager.network.memory.max'.
>
>So I create a config file with taskmanager.network.memory.max set to
>5gb
>and taskmanager.network.memory.fraction set to 0.2. I also set the
>FLINK_CONF_DIR path to the dir with the config file (undocumented
>feature)
>and set the --flinkMaster path to "[local]" as it seems like the
>default
>"[auto]" ignores the config file:
>https://github.com/apache/beam/blob/1e41220977d6c45d293b86f2e581daec3513c66e/runners/flink/src/main/java/org/apache/beam/runners/flink/FlinkExecutionEnvironments.java#L76-L82
>.
>
>Now, it seems like configs are loaded ok. I get the following log
>message
>during start:
>
>> Jan 09, 2019 10:54:43 AM
>org.apache.flink.configuration.GlobalConfiguration loadYAMLResource
>INFO: Loading configuration property: taskmanager.network.memory.max,
>5gb
>
>But the error at the top of the post still appears. 32768 * 32768 bytes
>=
>1gb, which is the default value of taskmanager.network.memory.max, so
>it
>seems like the config is ignored.
>
>Any ideas what might cause this problem? Am I adjusting the wrong
>parameter
>or something?
>
>>

Reply via email to