Skip to content

Reduce HostRegexTableLoadBalancer RPCs for OOB checks#6446

Merged
dlmarion merged 1 commit into
apache:mainfrom
dlmarion:host-regex-reduce-rpcs
Jun 26, 2026
Merged

Reduce HostRegexTableLoadBalancer RPCs for OOB checks#6446
dlmarion merged 1 commit into
apache:mainfrom
dlmarion:host-regex-reduce-rpcs

Conversation

@dlmarion

@dlmarion dlmarion commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

The StatusThread.updateStatus() method in the Manager calls gatherTableInformation to get information about all of the TabletServers in the cluster, then calls balanceTablets().

balanceTablets() creates a partitioned view of the status information and uses that when creating the BalanceParams to pass to table balancer's balance().

The HostRegexTableLoadBalancer.balance method will periodically check for tablets that are hosted outside of the defined regex. Prior to this change it was making an RPC call to every tablet server outside of the defined regex.

This change uses the gathered tablet server information such that the RPC call is made to the tablet server if the information indicates that the tablet server is hosting tablets for the table. The RPC is necessary to get the extent information to create the migrations, but it's only necessary when the tablet server is hosting tablets for the table.

The StatusThread.updateStatus() method in the Manager calls
gatherTableInformation to get information about all of the
TabletServers in the cluster, then calls balanceTablets().

balanceTablets() creates a partitioned view of the status
information and uses that when creating the BalanceParams
to pass to table balancer's balance().

The HostRegexTableLoadBalancer.balance method will periodically
check for tablets that are hosted outside of the definied
regex. Prior to this change it was making an RPC call to
every tablet server outside of the defined regex.

This change uses the gathered tablet server information
such that the RPC call is made to the tablet server if
the information indicates that the tablet server is
hosting tablets for the table. The RPC is necessary
to get the extent information to create the migrations,
but it's only necessary when the tablet server is
hosting tablets for the table.
@dlmarion dlmarion added this to the 2.1.5 milestone Jun 25, 2026
@dlmarion dlmarion self-assigned this Jun 25, 2026
@dlmarion dlmarion merged commit f7c2505 into apache:main Jun 26, 2026
8 checks passed
@dlmarion dlmarion deleted the host-regex-reduce-rpcs branch June 26, 2026 11:36
dlmarion added a commit that referenced this pull request Jun 26, 2026
The StatusThread.updateStatus() method in the Manager calls
gatherTableInformation to get information about all of the
TabletServers in the cluster, then calls balanceTablets().

balanceTablets() creates a partitioned view of the status
information and uses that when creating the BalanceParams
to pass to table balancer's balance().

The HostRegexTableLoadBalancer.balance method will periodically
check for tablets that are hosted outside of the defined
regex. Prior to this change it was making an RPC call to
every tablet server outside of the defined regex.

This change uses the gathered tablet server information
such that the RPC call is made to the tablet server if
the information indicates that the tablet server is
hosting tablets for the table. The RPC is necessary
to get the extent information to create the migrations,
but it's only necessary when the tablet server is
hosting tablets for the table.
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