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

Add a new request parameter "cluster_manager_timeout" in the REST APIs that accept "master_timeout" parameter, and deprecate "master_timeout" #2511

Closed
11 tasks done
tlfeng opened this issue Mar 18, 2022 · 0 comments · Fixed by #2744
Assignees
Labels
enhancement Enhancement or improvement to existing feature or request v3.0.0 Issues and PRs related to version 3.0.0

Comments

@tlfeng
Copy link
Collaborator

tlfeng commented Mar 18, 2022

Is your feature request related to a problem? Please describe.
To promote inclusive language, replace "master" terminology in the request parameter "master_timeout" in many REST APIs.

A part of issue #1549

In version 2.0 and above:

[Update on 04/15/2022]
To compromise with the compatibility of High Level REST Client with server, the plan is adjusted to show deprecation warning start from version 3.0. For the detailed plan, see issue #2928 .

In version >=2.0 and <3.0:

In version 3.0 and above:

Describe the solution you'd like

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
List of the REST APIs that have got request parameter master_timeout

@tlfeng tlfeng added enhancement Enhancement or improvement to existing feature or request v2.0.0 Version 2.0.0 labels Mar 18, 2022
@tlfeng tlfeng self-assigned this Mar 28, 2022
tlfeng pushed a commit that referenced this issue Apr 1, 2022
…emoval - in CAT Nodes API (#2670) (#2695)

The request parameter `master_timeout` for CAT Nodes API is deprecated and alternative parameter `cluster_manager_timeout` is added in commit a87c9d4 / PR #2435.
This PR refactors a previous code commit, and it's suggested by #2658 (comment).

Change:
This PR put the temporary code related to the 'master_timeout' deprecation in centralized places, so that it will be easier to remove when removing the deprecated parameter `master_timeout` in the future.
- Move the method `parseDeprecatedMasterTimeoutParameter()` into abstract base class `BaseRestHandler`, so that every REST API handler can call it.
- Put the unit tests related to the 'master_timeout' deprecation in one class.

Another notable change: Prohibit using two paramters `master_timeout` and `cluster_manager_timeout` together.

Reason:
There are other 60 REST APIs have got request parameter `master_timeout`, and the parameter pending to be deprecated. (See issue #2511 for the full list). 
- Adding new codes (creating deprecation warning, validating the parameter value and unit tests) in every class for the 60 APIs will cause large duplication.
- Removing the duplicate deprecated codes in the future is also a trouble.

Signed-off-by: Tianli Feng <[email protected]>
tlfeng pushed a commit that referenced this issue Apr 1, 2022
…emoval - in CAT Nodes API (#2670) (#2696)

The request parameter `master_timeout` for CAT Nodes API is deprecated and alternative parameter `cluster_manager_timeout` is added in commit a87c9d4 / PR #2435.
This PR refactors a previous code commit, and it's suggested by #2658 (comment).

Change:
This PR put the temporary code related to the 'master_timeout' deprecation in centralized places, so that it will be easier to remove when removing the deprecated parameter `master_timeout` in the future.
- Move the method `parseDeprecatedMasterTimeoutParameter()` into abstract base class `BaseRestHandler`, so that every REST API handler can call it.
- Put the unit tests related to the 'master_timeout' deprecation in one class.

Another notable change: Prohibit using two paramters `master_timeout` and `cluster_manager_timeout` together.

Reason:
There are other 60 REST APIs have got request parameter `master_timeout`, and the parameter pending to be deprecated. (See issue #2511 for the full list). 
- Adding new codes (creating deprecation warning, validating the parameter value and unit tests) in every class for the 60 APIs will cause large duplication.
- Removing the duplicate deprecated codes in the future is also a trouble.

Signed-off-by: Tianli Feng <[email protected]>
@tlfeng tlfeng added v3.0.0 Issues and PRs related to version 3.0.0 and removed Severity-Blocker v2.0.0 Version 2.0.0 labels Apr 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement or improvement to existing feature or request v3.0.0 Issues and PRs related to version 3.0.0
Projects
None yet
1 participant