-
Notifications
You must be signed in to change notification settings - Fork 518
Description
Search before asking
- I searched in the issues and found nothing similar.
Description
Task Overview:
Currently, Admin.addServerTag() and Admin.removeServerTag() only support specifying tablet servers by their server IDs. This task introduces two new overloaded methods that allow users to target all tablet servers belonging to a specific rack in a single call.
Purpose:
In production environments, the rack attribute of a ServerNode typically represents a physical machine (or a physical rack of machines). A common operational scenario is decommissioning a physical host — which may run multiple tablet servers — and marking all of them as PERMANENT_OFFLINE or TEMPORARY_OFFLINE at once.
Without rack-based targeting, operators must:
- Call
Admin.getServerNodes()to retrieve all server nodes. - Manually filter the results by the target rack.
- Extract the server IDs.
- Call
addServerTag()/removeServerTag()with those IDs.
This is repetitive, error-prone, and adds unnecessary boilerplate in automation scripts. A dedicated rack-based API makes the decommissioning workflow concise and intuitive.
Willingness to contribute
- I'm willing to submit a PR!