Skip to content

Disable mem-ballast-size-mib from command line option #3626

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

Merged
merged 1 commit into from
Jul 23, 2021

Conversation

mxiamxia
Copy link
Member

Description: <Describe what has changed.

  • Disable mem-ballast-size-mib command line option for setting memory ballast

Link to tracking Issue:
#2516

@mxiamxia mxiamxia requested review from a team and bogdandrutu July 14, 2021 23:28
@mxiamxia mxiamxia changed the title Disable mem-ballast-size-mib from command line options Disable mem-ballast-size-mib from command line option Jul 14, 2021
Copy link
Member

@bogdandrutu bogdandrutu left a comment

Choose a reason for hiding this comment

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

This is a breaking change:

  1. Needs to be added to CHANGELOG
  2. How are we going to signal the users? Is it possible to keep the flag for few versions, then log an warning and hardcode to create the extension for the user?

@mxiamxia
Copy link
Member Author

mxiamxia commented Jul 14, 2021

This is a breaking change:

  1. How are we going to signal the users? Is it possible to keep the flag for few versions, then log an warning and hardcode to create the extension for the user?

Can we keep mem-ballast-size-mib option in command line but do nothing on it for a few releases. I will add the warning msg to ask users to switch to ballast extension as well.

ballast is mainly for improving CPU usage . I don't think it make a big impact to users, if they noticed worse CPU usage on Collector process after the upgrade, they should come back to check CHANGELOG.

@mxiamxia mxiamxia force-pushed the rmv_ballast_cmd branch 4 times, most recently from c0c0a6c to 0804955 Compare July 16, 2021 00:00
@mxiamxia
Copy link
Member Author

cc/ @bogdandrutu PTAL!

@mxiamxia
Copy link
Member Author

Load test failed due to the dependency on #3625

/home/circleci/project/testbed/tests/results/TestBallastMemory.

CHANGELOG.md Outdated
@@ -2,6 +2,11 @@

## Unreleased

## 🛑 Breaking changes 🛑

- Deprecate `mem-ballast-size-mib` option in command line (#3626)
Copy link
Member

Choose a reason for hiding this comment

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

Is not deprecated, is removed correct? Since the behavior is no longer there. Consider to explain what to do to fix this.

Copy link
Member Author

Choose a reason for hiding this comment

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

Corrected the wordings. Thanks!

@mxiamxia mxiamxia force-pushed the rmv_ballast_cmd branch 3 times, most recently from 8bde8a3 to c3b04d0 Compare July 19, 2021 16:43
@alolita
Copy link
Member

alolita commented Jul 20, 2021

@Aneurysm9 @jrcamp can you please review this PR too? Thx.

@jrcamp
Copy link
Contributor

jrcamp commented Jul 20, 2021

Isn't this the same as #3493? See #3493 (review)

@mxiamxia
Copy link
Member Author

Isn't this the same as #3493? See #3493 (review)

Hi @jrcamp, thanks for pointing it out, it is pretty much the same. I'm fine to merge either PR. I think the blocker is how we'll handle the breaking change and move fwd. I'll raise it in SIG meeting.

Copy link
Member

@tigrannajaryan tigrannajaryan left a comment

Choose a reason for hiding this comment

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

Duplicate of #3493
Since this a breaking change for our distro with many existing installations let's give some graceful deprecation period before we actually remove the feature. I suggest we return to this in 3 months.
For this PR: instead of removing the feature make it deprecated for now (give a warning, document that it is deprecated, announce in SIG and in Slack, etc).

@bogdandrutu
Copy link
Member

bogdandrutu commented Jul 21, 2021

@tigrannajaryan as we discussed here, this is not a breaking change. The downgrade in performance (if ballast is not correctly set) cannot be considered a breaking change.

@tigrannajaryan
Copy link
Member

@tigrannajaryan as we discussed here, this is not a breaking change. The downgrade in performance (if ballast is not correctly set) cannot be considered a breaking change.

I think it will cause the Collector to fail at statup when the command line option is removed but someone tries to use it (as it is used in Splunk distro). If that is the case then I think it can be considered a breaking change, no?

@bogdandrutu
Copy link
Member

@tigrannajaryan I am not sure how flags are implemented, but indeed we should not FAIL, but it is fine to just print a warning and not have ballast setup if using the flag. That is what I understood from that comment.

@mxiamxia can you test that? We may need to leave the flag and if set we log an warning and done :)

@alolita
Copy link
Member

alolita commented Jul 21, 2021

@mxiamxia can you test the flag conditionality asap. Let's get this PR done. :-)

@mxiamxia mxiamxia force-pushed the rmv_ballast_cmd branch 3 times, most recently from aaa4b88 to 0f2dcad Compare July 22, 2021 00:42
@mxiamxia
Copy link
Member Author

mxiamxia commented Jul 22, 2021

@tigrannajaryan I am not sure how flags are implemented, but indeed we should not FAIL, but it is fine to just print a warning and not have ballast setup if using the flag. That is what I understood from that comment.

@mxiamxia can you test that? We may need to leave the flag and if set we log an warning and done :)

Hi @bogdandrutu, yes, we keep the flag in the command line but does nothing so we don't have the breaking change. The change has been verified. :)

cc/ @alolita

Copy link
Member

@tigrannajaryan tigrannajaryan left a comment

Choose a reason for hiding this comment

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

I don't understand what's the rush with this change? It is still a performance degradation for existing users. What prevents us from keeping the existing behavior for a while?

@bogdandrutu
Copy link
Member

bogdandrutu commented Jul 22, 2021

@tigrannajaryan if you block this you will maintain it (because will be a backwards incompatible change) for the next 10 years, please sign with blood and will not push on this :)

Jokes aside, because it is very bad how we designed the collector to have half things in YAML and the other half in flags. We have 0 consistency of when things are configure where.

@tigrannajaryan
Copy link
Member

@tigrannajaryan if you block this you will maintain it (because will be a backwards incompatible change) for the next 10 years, please sign with blood and will not push on this :)

Jokes aside, because it is very bad how we designed the collector to have half things in YAML and the other half in flags. We have 0 consistency of when things are configure where.

I agree, I don't mind removing it. I am just saying let's give some grace period for users before we delete it. We are only declaring traces stable so we have no obligation to keep this for 10 years after Trace GA.

I may be missing something.

@mxiamxia
Copy link
Member Author

@tigrannajaryan if you block this you will maintain it (because will be a backwards incompatible change) for the next 10 years, please sign with blood and will not push on this :)
Jokes aside, because it is very bad how we designed the collector to have half things in YAML and the other half in flags. We have 0 consistency of when things are configure where.

I agree, I don't mind removing it. I am just saying let's give some grace period for users before we delete it. We are only declaring traces stable so we have no obligation to keep this for 10 years after Trace GA.

I may be missing something.

Hi @tigrannajaryan , since the current change won't break the existing collector instances, I think we should merge this changes before the trace GA release. In another way, ballast is mainly for improving CPU usage . I don't think it will make a big impact to the current users, if they noticed a worse CPU usage on Collector after the upgrade, they should come back to check CHANGELOG.

@tigrannajaryan
Copy link
Member

@mxiamxia we discussed with Bogdan and he is going to update our distro to use the new ballast approach (extension). Once it is done we should be able to move forward.

@mxiamxia
Copy link
Member Author

@mxiamxia we discussed with Bogdan and he is going to update our distro to use the new ballast approach (extension). Once it is done we should be able to move forward.

Sounds good! Thank you for the update.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants