Rename/remove user-facing APIs to avoid master
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
We should rename our APIs to avoid the word master, but it has bad connotations and we started using the term coordinator node in documentation years ago. We could also use the opportunity to make some small improvements (e.g. user-defined node identifiers).
For instance:
- master_add_node(...) -> citus_add_worker / add_citus_worker / add_worker_node
- master_add_node(..., groupid := 0) -> citus_add_coordinator / add_citus_coordinator / add_coordinator_node
- master_remove_node(...) -> citus_remove_node / remove_node
We should leave commonly used UDFs around for backwards compatibility, but remove them from our documentation.
We should also rename internal functions such as `master_remove_distributed_table_metadata_from_workers` or `master_dist_placement_cache_invalidate`. For those we can remove the old name completely.
We should further consider removing some very old UDFs with not clear purpose such as `master_get_table_metadata`.
Contributor guide
Research direction
Start by inventorying the listed user-facing UDFs, internal functions, and their documentation references, including master_add_node, master_remove_node, master_remove_distributed_table_metadata_from_workers, master_dist_placement_cache_invalidate, and master_get_table_metadata. Define the complete rename and removal scope, preserving commonly used UDFs for compatibility, and verify that documentation no longer presents the old names.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, postgresql, sql
- Domain
- backend-api-design, databases, documentation
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100