Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FLINK-16746] Deprecate legacy heap memory option for JM and expose the new ones in docs #11787

Closed
wants to merge 14 commits into from

Conversation

azagrebin
Copy link
Contributor

What is the purpose of the change

Add default 'jobmanager.memory.process.size: 1472m' to flink-conf.yaml.

Deprecate legacy heap options: jobmanager.heap.size (and update deprecation of jobmanager.heap.mb) to use jobmanager.memory.heap.size for standalone and jobmanager.memory.process.size for containerized (Yarn/K8s) environments.

Expose the new JM memory options in user docs.

Verifying this change

Trivial change. Check docs.

@azagrebin
Copy link
Contributor Author

The PR is based on #11577, #11545 and #11675 atm.
Only two last commits are to review.
cc @xintongsong

@flinkbot
Copy link
Collaborator

Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community
to review your pull request. We will use this comment to track the progress of the review.

Automated Checks

Last check on commit 74f7619 (Fri Apr 17 07:55:37 UTC 2020)

Warnings:

  • 1 pom.xml files were touched: Check for build and licensing issues.

Mention the bot in a comment to re-run the automated checks.

Review Progress

  • ❓ 1. The [description] looks good.
  • ❓ 2. There is [consensus] that the contribution should go into to Flink.
  • ❓ 3. Needs [attention] from.
  • ❓ 4. The change fits into the overall [architecture].
  • ❓ 5. Overall code [quality] is good.

Please see the Pull Request Review Guide for a full explanation of the review process.


The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commands
The @flinkbot bot supports the following commands:

  • @flinkbot approve description to approve one or more aspects (aspects: description, consensus, architecture and quality)
  • @flinkbot approve all to approve all aspects
  • @flinkbot approve-until architecture to approve everything until architecture
  • @flinkbot attention @username1 [@username2 ..] to require somebody's attention
  • @flinkbot disapprove architecture to remove an approval you gave earlier

@flinkbot
Copy link
Collaborator

flinkbot commented Apr 17, 2020

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run travis re-run the last Travis build
  • @flinkbot run azure re-run the last Azure build

Copy link
Contributor

@xintongsong xintongsong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for opening this PR, @azagrebin. The changes look good to me in general.
I left a few questions regarding the configuration value changes.
Besides, I have only two minor comments.

  • I would suggest to give the last commit a more descriptive message. It's not only deprecating the legacy configuration options, but also activating the new ones.
  • There are links in the mem_setup.md and mem_setup.zh.md pointing to config.html#jobmanager-heap-size, which I believe is removed.


jobmanager.heap.size: 1024m
jobmanager.memory.process.size: 1472m
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you explain why is the default 1472m?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a tab for JM in the calculation spreadsheet. The changes aim to align the new derived heap size with the previous default heap size for standalone. As a result, the container size will increase a bit. 1472m was miscalculated. It should be 1600m.

@@ -41,7 +41,7 @@
{:high-availability "zookeeper"
:high-availability.zookeeper.quorum (zookeeper-quorum test)
:high-availability.storageDir "hdfs:https:///flink/ha"
:jobmanager.heap.size "2048m"
:jobmanager.memory.process.size "2496m"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here? Why is the value change "2048 -> 2496"?

Copy link
Contributor Author

@azagrebin azagrebin Apr 20, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, it should be 2702m. Though, as discussed with @GJL, it does not matter too much in this case. I will revert this.

@azagrebin
Copy link
Contributor Author

azagrebin commented Apr 20, 2020

Thanks for the review @xintongsong
I addressed the comments.

The last thing:

There are links in the mem_setup.md and mem_setup.zh.md pointing to config.html#jobmanager-heap-size, which I believe is removed.

we can address in FLINK-16946. It is already planned to do so in the doc draft when the JM chapter becomes available. For now, this link will just go to the config page which should be ok.

Copy link
Contributor

@xintongsong xintongsong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanations. LGTM.

…getLegacyTaskManagerHeapMemoryIfExplicitlyConfigured
…flink-conf.yaml

The resulting default JVM heap size for standalone deployment is 1024Mb as before FLIP-116.
The requested container size (Yarn and Kubernetes) will increase by default from 1024Mb to 1600Mb.
…ory options

Deprecate legacy heap options: jobmanager.heap.size (and update deprecation of jobmanager.heap.mb)
to use jobmanager.memory.heap.size for standalone
and jobmanager.memory.process.size for containerized (Yarn/K8s) environments.

Expose the new JM memory options of FLIP-116 in user docs.

This closes apache#11787.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants