Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Disable lead controller resource. All the controller workload will be done by Helix leader.

API Design

In order to get the information of table assignments for better debugging purpose, the following APIs are needed: 

Get the leaders for all the tables in the cluster 

GET /leader/tables 

lead controller resource enabledlead controller resource disabled

{ 

  “leadControllerResource_0”: { 

    “leadControllerId”: “Controller_localhost_9000”, 

    “tableNames”: [table1, table2, ...] 

  }, 

  ... 

  “leadControllerResource_23”: { 

    “leadControllerId”: “Controller_localhost_9008”, 

    “tableNames”: [table21, table22, ...] 

  } 

} 

{}

Given a table name, return the partition id and lead controller instance id 

GET /leader/tables/{tableName} 

lead controller resource enabledlead controller resource disabled

{ 

  “leadControllerResource_0”: { 

    “leadControllerId”: “Controller_localhost_9000”, 

    “tableNames”: [table1] 

  }

} 

{}


Test Plans and Schedule

Once the final plan has been adjusted and finalized, we can do the following steps. 

...