Prepare for parallelizable
[secondary index queries][../secondary-indexes/] by requesting a
coverage plan. The response will be multiple slices of the cluster, as
identified by a TCP endpoint and an opaque binary to be included with
each 2i query.
Request
message RpbCoverageReq {
    optional bytes type = 1;
    required bytes bucket = 2;
    optional uint32 min_partitions = 3;
    optional bytes replace_cover = 4;
    repeated bytes unavailable_cover = 5;
}
Required Parameters
| Parameter | Description | 
| bucket | The name of the bucket in which the data is stored | 
Optional Parameters
| Parameter | Description | 
| type | The name of the bucket type, if this bucket is not in the default (pre-2.0) bucket type. | 
| min_partitions | The minimum number of cluster slices. undefinedresults in a direct map of the internal coverage plan, which targets the minimum number of nodes necessary to retrieve all data. An integer will be rounded up to the nearest power of 2 greater than or equal to the ring size. | 
| replace_cover | If a client cannot reach the server designated by a previous coverage response, the opaque binary can be sent with a new coverage request via this parameter and a new plan component will be calculated and returned. | 
| unavailable_cover | List of opaque binaries representing other unreachable endpoints to help Riak determine what servers the client cannot currently use. | 
Response
The results of a coverage query are returned as a list of endpoints
with opaque binaries to be included with secondary index queries.
message RpbCoverageResp {
   repeated RpbCoverageEntry entries = 1;
}
message RpbCoverageEntry {
    required bytes ip = 1;
    required uint32 port = 2;
    optional bytes keyspace_desc = 3;
    required bytes cover_context = 4;
}
Values
| Parameter | Description | 
| ip | The IP address of the server containing a subset of the data. Depending on the environment, this address may require local translation to deal with routing or firewall constraints. | 
| port | The port to contact on the server. | 
| keyspace_desc | A human-readable description of the keyspace. Not intended to be used programmatically except potentially for logging. | 
| cover_context | The opaque binary to be used in secondary index queries (and possibly future coverage queries to indicate that this server appears offline or otherwise non-functional to the client). |