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

Deprecate the "Master" nomenclature #397

Closed
3 of 4 tasks
Tracked by #2589 ...
tlfeng opened this issue Mar 4, 2022 · 9 comments
Closed
3 of 4 tasks
Tracked by #2589 ...

Deprecate the "Master" nomenclature #397

tlfeng opened this issue Mar 4, 2022 · 9 comments
Labels
enhancement New feature or request v2.3.0

Comments

@tlfeng
Copy link

tlfeng commented Mar 4, 2022

Is your feature request related to a problem? Please describe.
OpenSearch repository is going to replace the terminology "master"with "cluster manager".
issue: opensearch-project/OpenSearch#472 (comment), with the plan for its terminology replacement.

Although the existing usages with "master" will be supported in OpenSearch version 2.x to keep the backwards compatibility, please prepare for the nomenclature change in advance, and replace all the usages with "master" terminology in the code base.
All the OpenSearch REST APIs and settings that contain "master" terminology will be deprecated in 2.0, and alternative usages will be added.

Describe the solution you'd like
Replace the terminology "master" with "cluster manager".

When being compatible with OpenSearch 2.0:

When being compatible with OpenSearch 3.0:

  • Replace "master" in the reference to OpenSearch Java API
    (most of the new APIs are available in version 2.2, except AcknowledgedResponse)
    • import org.opensearch.cluster.LocalNodeMasterListener -> LocalNodeClusterManagerListener
    • clusterManagerService.onMaster() / offMaster() -> onclusterManager() / offClusterManager()
    • DiscoveryNodes.Builder().masterNodeId() -> clusterManagerNodeId()
    • import org.opensearch.action.support.master.AcknowledgedResponse -> import org.opensearch.action.support.clustermanager.AcknowledgedResponse (will be available in version 3.0)

Describe alternatives you've considered
None.

Additional context
None.

@amitgalitz
Copy link
Member

I began this process by replacing any variable, logs or comments with the use of "master" to "clusterManager" (#504). This process will continue when Opensearch Core makes further changes to classes and methods that AD is using with this terminology.

@dblock dblock changed the title Change the "Master" nomenclature Deprecate the "Master" nomenclature Apr 18, 2022
@dblock
Copy link
Member

dblock commented Apr 18, 2022

For 2.0, at a minimum please ensure that the plugin is not calling any deprecated APIs in core or another plugin, and confirm below, then remove the 2.0.0 label. If you have time, do the complete deprecation as described in this issue.

@dblock dblock added v2.0.0 and removed untriaged labels Apr 18, 2022
@amitgalitz
Copy link
Member

@dblock Any leftover uses of "master" are from classes in Opensearch that haven't been changed yet. To my understanding this isn't something that will be done until 3.0. Anything that could have been removed for 2.0 has already been removed with the mentioned PR above. For example (https://github.com/opensearch-project/OpenSearch/blob/main/server/src/main/java/org/opensearch/cluster/LocalNodeMasterListener.java) and other classes, folder and etc. Any comments or logs have been changed in AD.

@dblock
Copy link
Member

dblock commented Apr 18, 2022

I think any leftovers will be done in 2.x, so I labeled this for v2.1.0.

@tlfeng
Copy link
Author

tlfeng commented Apr 18, 2022

Hi @dblock, I confirmed that @amitgalitz is correct that usages of "master" in OpenSearch Java APIs (public field, method, class, and package names) will be replaced in OpenSearch version 3.0, which is tracked in issue opensearch-project/OpenSearch#1684, and I haven't started yet. The plugins can only replace these usages when the public Java APIs are renamed in OpenSearch repository, and I will keep update on this progress.

@kaituo kaituo removed the v2.0.0 label May 20, 2022
@amitgalitz amitgalitz added v2.2.0 and removed v2.1.0 labels Jul 7, 2022
@ohltyler
Copy link
Member

@amitgalitz is there any changes left on the AD side?

@amitgalitz amitgalitz added v3.0.0 and removed v2.2.0 labels Aug 11, 2022
@anasalkouz anasalkouz added v2.3.0 and removed v3.0.0 labels Aug 25, 2022
@anasalkouz
Copy link
Member

Java APIs completed and released on 2.2 except for AcknowledgedResponse.
@amitgalitz Could you please complete the remaining part from your end? let's target 2.3 for all usages except for AcknowledgedResponse (there will be separate issue to track it).

@ohltyler
Copy link
Member

ohltyler commented Sep 7, 2022

All are resolved in #644 besides the AcknowledgedResponse change which won't be available until 3.0.

@anasalkouz if there will be a separate issue for that, should we close this issue now?

@ohltyler
Copy link
Member

ohltyler commented Sep 7, 2022

Please reopen if necessary.

@ohltyler ohltyler closed this as completed Sep 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request v2.3.0
Projects
None yet
Development

No branches or pull requests

8 participants