brianloss opened a new pull request #2123:
URL: https://github.com/apache/accumulo/pull/2123
The previous attempt to fix SuspendedTabletsIT attempted to use
HostRegexTableLoadBalancer as a per-table balancer. Unfortunately,
HostRegexTableLoadBalancer was not designed to be used that way but
instead was meant to replace TableLoadBalancer and use regular
expressions to divide the hosts into pools. Therefore, the balancer was
failing to initialize and wasn't actually doing any work.
* Performed minor refactoring on HostRegexTableLoadBalancer so that it
can be extended to include the port when performing regex checks.
* Extend HostRegexTableLoadBalancer and configure it to use the port as
well as host name for regex checks so that a single tserver on a host
with multiple tservers running can be isolated and used for a table.
In particular, this is used to send all metadata table tablets to a
single tserver running in MiniAccumuloCluster.
* Start MiniAccumuloCluster with a single tserver so that we can use
that information to configure the extended HostRegexTableLoadBalancer
to send all metadata tablets to that first tablet server. With one
tablet server running, we can also grab the process reference to it
for when we later kill tablet servers (to ensure we don't kill the
tablet server hosting the metadata table). Once this information is
collected, then MiniAccumuloCluster is re-configured for 3 tablet
servers and the additional tablet servers are launched.
* Fix the "Waiting on hosting and balance" conditions to wait for BOTH
all tablets to be hosted and for those tablets to be hosted across all
tablet servers (except the one reserved for the metadata table)
* Fix the "Waiting on suspended tablets" condition which was incorrectly
using a conjunction when a disjunction was needed. The result was the
loop could exit without any tablets actually reaching the suspended
state.
* Refactor TabletLocations so we can choose to scan either the root or
metadata table. This allows us to retrieve tablet locations for the
metadata table.
Fixes #2121
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]