metamx/druid — pull request #36 by fjy (2012-11-29 01:44:58+00:00)
Title: Tiered Compute Nodes

This commit introduces subtypes to Druid Servers (compute nodes). The idea behind subtypes is that the master can be configured to assign segments to a given subtype depending on a set of rules.

Rules are stored in a separate database table and contain information about the type of node a given segment should be assigned to or if the segment should be dropped. Each datasource requires its own set of rules. The rule table may also include a set of default rules. The master reads all rules from the table. Each time a request is made for the rules of a given datasource, the default rules will automatically be included. Additional information about rules and compute node tiers are available upon request.

This commit also removes the Druid Master Replicator Helper as it is no longer needed. The code has been refactored such that the Druid Master Assigner and Dropper helpers now take care of managing replication.

Finally, moar(!) unit tests because unit tests are awesome.