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]


Reply via email to