public static final class ClientPB.ScanResponse.Builder extends com.google.protobuf.GeneratedMessageLite.Builder<ClientPB.ScanResponse,ClientPB.ScanResponse.Builder> implements ClientPB.ScanResponseOrBuilder
ScanResponse
The scan response. If there are no more results, more_results will be false. If it is not specified, it means there are more.
Modifier and Type | Method and Description |
---|---|
ClientPB.ScanResponse.Builder |
addAllCellsPerResult(Iterable<? extends Integer> values)
repeated uint32 cells_per_result = 1; |
ClientPB.ScanResponse.Builder |
addAllPartialFlagPerResult(Iterable<? extends Boolean> values)
repeated bool partial_flag_per_result = 7; |
ClientPB.ScanResponse.Builder |
addAllResults(Iterable<? extends ClientPB.Result> values)
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
addCellsPerResult(int value)
repeated uint32 cells_per_result = 1; |
ClientPB.ScanResponse.Builder |
addPartialFlagPerResult(boolean value)
repeated bool partial_flag_per_result = 7; |
ClientPB.ScanResponse.Builder |
addResults(ClientPB.Result.Builder builderForValue)
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
addResults(ClientPB.Result value)
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
addResults(int index,
ClientPB.Result.Builder builderForValue)
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
addResults(int index,
ClientPB.Result value)
repeated .Result results = 5; |
ClientPB.ScanResponse |
build() |
ClientPB.ScanResponse |
buildPartial() |
ClientPB.ScanResponse.Builder |
clear() |
ClientPB.ScanResponse.Builder |
clearCellsPerResult()
repeated uint32 cells_per_result = 1; |
ClientPB.ScanResponse.Builder |
clearHeartbeatMessage()
optional bool heartbeat_message = 9; |
ClientPB.ScanResponse.Builder |
clearMoreResults()
optional bool more_results = 3; |
ClientPB.ScanResponse.Builder |
clearMoreResultsInRegion()
optional bool more_results_in_region = 8; |
ClientPB.ScanResponse.Builder |
clearPartialFlagPerResult()
repeated bool partial_flag_per_result = 7; |
ClientPB.ScanResponse.Builder |
clearResults()
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
clearScanMetrics()
optional .ScanMetrics scan_metrics = 10; |
ClientPB.ScanResponse.Builder |
clearScannerId()
optional uint64 scanner_id = 2; |
ClientPB.ScanResponse.Builder |
clearStale()
optional bool stale = 6; |
ClientPB.ScanResponse.Builder |
clearTtl()
optional uint32 ttl = 4; |
ClientPB.ScanResponse.Builder |
clone() |
int |
getCellsPerResult(int index)
repeated uint32 cells_per_result = 1; |
int |
getCellsPerResultCount()
repeated uint32 cells_per_result = 1; |
List<Integer> |
getCellsPerResultList()
repeated uint32 cells_per_result = 1; |
ClientPB.ScanResponse |
getDefaultInstanceForType() |
boolean |
getHeartbeatMessage()
optional bool heartbeat_message = 9; |
boolean |
getMoreResults()
optional bool more_results = 3; |
boolean |
getMoreResultsInRegion()
optional bool more_results_in_region = 8; |
boolean |
getPartialFlagPerResult(int index)
repeated bool partial_flag_per_result = 7; |
int |
getPartialFlagPerResultCount()
repeated bool partial_flag_per_result = 7; |
List<Boolean> |
getPartialFlagPerResultList()
repeated bool partial_flag_per_result = 7; |
ClientPB.Result |
getResults(int index)
repeated .Result results = 5; |
int |
getResultsCount()
repeated .Result results = 5; |
List<ClientPB.Result> |
getResultsList()
repeated .Result results = 5; |
MapReducePB.ScanMetrics |
getScanMetrics()
optional .ScanMetrics scan_metrics = 10; |
long |
getScannerId()
optional uint64 scanner_id = 2; |
boolean |
getStale()
optional bool stale = 6; |
int |
getTtl()
optional uint32 ttl = 4; |
boolean |
hasHeartbeatMessage()
optional bool heartbeat_message = 9; |
boolean |
hasMoreResults()
optional bool more_results = 3; |
boolean |
hasMoreResultsInRegion()
optional bool more_results_in_region = 8; |
boolean |
hasScanMetrics()
optional .ScanMetrics scan_metrics = 10; |
boolean |
hasScannerId()
optional uint64 scanner_id = 2; |
boolean |
hasStale()
optional bool stale = 6; |
boolean |
hasTtl()
optional uint32 ttl = 4; |
boolean |
isInitialized() |
ClientPB.ScanResponse.Builder |
mergeFrom(ClientPB.ScanResponse other) |
ClientPB.ScanResponse.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
ClientPB.ScanResponse.Builder |
mergeScanMetrics(MapReducePB.ScanMetrics value)
optional .ScanMetrics scan_metrics = 10; |
ClientPB.ScanResponse.Builder |
removeResults(int index)
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
setCellsPerResult(int index,
int value)
repeated uint32 cells_per_result = 1; |
ClientPB.ScanResponse.Builder |
setHeartbeatMessage(boolean value)
optional bool heartbeat_message = 9; |
ClientPB.ScanResponse.Builder |
setMoreResults(boolean value)
optional bool more_results = 3; |
ClientPB.ScanResponse.Builder |
setMoreResultsInRegion(boolean value)
optional bool more_results_in_region = 8; |
ClientPB.ScanResponse.Builder |
setPartialFlagPerResult(int index,
boolean value)
repeated bool partial_flag_per_result = 7; |
ClientPB.ScanResponse.Builder |
setResults(int index,
ClientPB.Result.Builder builderForValue)
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
setResults(int index,
ClientPB.Result value)
repeated .Result results = 5; |
ClientPB.ScanResponse.Builder |
setScanMetrics(MapReducePB.ScanMetrics.Builder builderForValue)
optional .ScanMetrics scan_metrics = 10; |
ClientPB.ScanResponse.Builder |
setScanMetrics(MapReducePB.ScanMetrics value)
optional .ScanMetrics scan_metrics = 10; |
ClientPB.ScanResponse.Builder |
setScannerId(long value)
optional uint64 scanner_id = 2; |
ClientPB.ScanResponse.Builder |
setStale(boolean value)
optional bool stale = 6; |
ClientPB.ScanResponse.Builder |
setTtl(int value)
optional uint32 ttl = 4; |
public ClientPB.ScanResponse.Builder clear()
clear
in interface com.google.protobuf.MessageLite.Builder
clear
in class com.google.protobuf.GeneratedMessageLite.Builder<ClientPB.ScanResponse,ClientPB.ScanResponse.Builder>
public ClientPB.ScanResponse.Builder clone()
clone
in interface com.google.protobuf.MessageLite.Builder
clone
in class com.google.protobuf.GeneratedMessageLite.Builder<ClientPB.ScanResponse,ClientPB.ScanResponse.Builder>
public ClientPB.ScanResponse getDefaultInstanceForType()
getDefaultInstanceForType
in interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType
in class com.google.protobuf.GeneratedMessageLite.Builder<ClientPB.ScanResponse,ClientPB.ScanResponse.Builder>
public ClientPB.ScanResponse build()
build
in interface com.google.protobuf.MessageLite.Builder
public ClientPB.ScanResponse buildPartial()
buildPartial
in interface com.google.protobuf.MessageLite.Builder
public ClientPB.ScanResponse.Builder mergeFrom(ClientPB.ScanResponse other)
mergeFrom
in class com.google.protobuf.GeneratedMessageLite.Builder<ClientPB.ScanResponse,ClientPB.ScanResponse.Builder>
public final boolean isInitialized()
isInitialized
in interface com.google.protobuf.MessageLiteOrBuilder
public ClientPB.ScanResponse.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
mergeFrom
in interface com.google.protobuf.MessageLite.Builder
mergeFrom
in class com.google.protobuf.AbstractMessageLite.Builder<ClientPB.ScanResponse.Builder>
IOException
public List<Integer> getCellsPerResultList()
repeated uint32 cells_per_result = 1;
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
getCellsPerResultList
in interface ClientPB.ScanResponseOrBuilder
public int getCellsPerResultCount()
repeated uint32 cells_per_result = 1;
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
getCellsPerResultCount
in interface ClientPB.ScanResponseOrBuilder
public int getCellsPerResult(int index)
repeated uint32 cells_per_result = 1;
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
getCellsPerResult
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setCellsPerResult(int index, int value)
repeated uint32 cells_per_result = 1;
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
public ClientPB.ScanResponse.Builder addCellsPerResult(int value)
repeated uint32 cells_per_result = 1;
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
public ClientPB.ScanResponse.Builder addAllCellsPerResult(Iterable<? extends Integer> values)
repeated uint32 cells_per_result = 1;
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
public ClientPB.ScanResponse.Builder clearCellsPerResult()
repeated uint32 cells_per_result = 1;
This field is filled in if we are doing cellblocks. A cellblock is made up of all Cells serialized out as one cellblock BUT responses from a server have their Cells grouped by Result. So we can reconstitute the Results on the client-side, this field is a list of counts of Cells in each Result that makes up the response. For example, if this field has 3, 3, 3 in it, then we know that on the client, we are to make three Results each of three Cells each.
public boolean hasScannerId()
optional uint64 scanner_id = 2;
hasScannerId
in interface ClientPB.ScanResponseOrBuilder
public long getScannerId()
optional uint64 scanner_id = 2;
getScannerId
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setScannerId(long value)
optional uint64 scanner_id = 2;
public ClientPB.ScanResponse.Builder clearScannerId()
optional uint64 scanner_id = 2;
public boolean hasMoreResults()
optional bool more_results = 3;
hasMoreResults
in interface ClientPB.ScanResponseOrBuilder
public boolean getMoreResults()
optional bool more_results = 3;
getMoreResults
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setMoreResults(boolean value)
optional bool more_results = 3;
public ClientPB.ScanResponse.Builder clearMoreResults()
optional bool more_results = 3;
public boolean hasTtl()
optional uint32 ttl = 4;
hasTtl
in interface ClientPB.ScanResponseOrBuilder
public int getTtl()
optional uint32 ttl = 4;
getTtl
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setTtl(int value)
optional uint32 ttl = 4;
public ClientPB.ScanResponse.Builder clearTtl()
optional uint32 ttl = 4;
public List<ClientPB.Result> getResultsList()
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
getResultsList
in interface ClientPB.ScanResponseOrBuilder
public int getResultsCount()
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
getResultsCount
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.Result getResults(int index)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
getResults
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setResults(int index, ClientPB.Result value)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder setResults(int index, ClientPB.Result.Builder builderForValue)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder addResults(ClientPB.Result value)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder addResults(int index, ClientPB.Result value)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder addResults(ClientPB.Result.Builder builderForValue)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder addResults(int index, ClientPB.Result.Builder builderForValue)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder addAllResults(Iterable<? extends ClientPB.Result> values)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder clearResults()
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public ClientPB.ScanResponse.Builder removeResults(int index)
repeated .Result results = 5;
If cells are not carried in an accompanying cellblock, then they are pb'd here. This field is mutually exclusive with cells_per_result (since the Cells will be inside the pb'd Result)
public boolean hasStale()
optional bool stale = 6;
hasStale
in interface ClientPB.ScanResponseOrBuilder
public boolean getStale()
optional bool stale = 6;
getStale
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setStale(boolean value)
optional bool stale = 6;
public ClientPB.ScanResponse.Builder clearStale()
optional bool stale = 6;
public List<Boolean> getPartialFlagPerResultList()
repeated bool partial_flag_per_result = 7;
This field is filled in if we are doing cellblocks. In the event that a row could not fit all of its cells into a single RPC chunk, the results will be returned as partials, and reconstructed into a complete result on the client side. This field is a list of flags indicating whether or not the result that the cells belong to is a partial result. For example, if this field has false, false, true in it, then we know that on the client side, we need to make another RPC request since the last result was only a partial.
getPartialFlagPerResultList
in interface ClientPB.ScanResponseOrBuilder
public int getPartialFlagPerResultCount()
repeated bool partial_flag_per_result = 7;
This field is filled in if we are doing cellblocks. In the event that a row could not fit all of its cells into a single RPC chunk, the results will be returned as partials, and reconstructed into a complete result on the client side. This field is a list of flags indicating whether or not the result that the cells belong to is a partial result. For example, if this field has false, false, true in it, then we know that on the client side, we need to make another RPC request since the last result was only a partial.
getPartialFlagPerResultCount
in interface ClientPB.ScanResponseOrBuilder
public boolean getPartialFlagPerResult(int index)
repeated bool partial_flag_per_result = 7;
This field is filled in if we are doing cellblocks. In the event that a row could not fit all of its cells into a single RPC chunk, the results will be returned as partials, and reconstructed into a complete result on the client side. This field is a list of flags indicating whether or not the result that the cells belong to is a partial result. For example, if this field has false, false, true in it, then we know that on the client side, we need to make another RPC request since the last result was only a partial.
getPartialFlagPerResult
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setPartialFlagPerResult(int index, boolean value)
repeated bool partial_flag_per_result = 7;
This field is filled in if we are doing cellblocks. In the event that a row could not fit all of its cells into a single RPC chunk, the results will be returned as partials, and reconstructed into a complete result on the client side. This field is a list of flags indicating whether or not the result that the cells belong to is a partial result. For example, if this field has false, false, true in it, then we know that on the client side, we need to make another RPC request since the last result was only a partial.
public ClientPB.ScanResponse.Builder addPartialFlagPerResult(boolean value)
repeated bool partial_flag_per_result = 7;
This field is filled in if we are doing cellblocks. In the event that a row could not fit all of its cells into a single RPC chunk, the results will be returned as partials, and reconstructed into a complete result on the client side. This field is a list of flags indicating whether or not the result that the cells belong to is a partial result. For example, if this field has false, false, true in it, then we know that on the client side, we need to make another RPC request since the last result was only a partial.
public ClientPB.ScanResponse.Builder addAllPartialFlagPerResult(Iterable<? extends Boolean> values)
repeated bool partial_flag_per_result = 7;
This field is filled in if we are doing cellblocks. In the event that a row could not fit all of its cells into a single RPC chunk, the results will be returned as partials, and reconstructed into a complete result on the client side. This field is a list of flags indicating whether or not the result that the cells belong to is a partial result. For example, if this field has false, false, true in it, then we know that on the client side, we need to make another RPC request since the last result was only a partial.
public ClientPB.ScanResponse.Builder clearPartialFlagPerResult()
repeated bool partial_flag_per_result = 7;
This field is filled in if we are doing cellblocks. In the event that a row could not fit all of its cells into a single RPC chunk, the results will be returned as partials, and reconstructed into a complete result on the client side. This field is a list of flags indicating whether or not the result that the cells belong to is a partial result. For example, if this field has false, false, true in it, then we know that on the client side, we need to make another RPC request since the last result was only a partial.
public boolean hasMoreResultsInRegion()
optional bool more_results_in_region = 8;
A server may choose to limit the number of results returned to the client for reasons such as the size in bytes or quantity of results accumulated. This field will true when more results exist in the current region.
hasMoreResultsInRegion
in interface ClientPB.ScanResponseOrBuilder
public boolean getMoreResultsInRegion()
optional bool more_results_in_region = 8;
A server may choose to limit the number of results returned to the client for reasons such as the size in bytes or quantity of results accumulated. This field will true when more results exist in the current region.
getMoreResultsInRegion
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setMoreResultsInRegion(boolean value)
optional bool more_results_in_region = 8;
A server may choose to limit the number of results returned to the client for reasons such as the size in bytes or quantity of results accumulated. This field will true when more results exist in the current region.
public ClientPB.ScanResponse.Builder clearMoreResultsInRegion()
optional bool more_results_in_region = 8;
A server may choose to limit the number of results returned to the client for reasons such as the size in bytes or quantity of results accumulated. This field will true when more results exist in the current region.
public boolean hasHeartbeatMessage()
optional bool heartbeat_message = 9;
This field is filled in if the server is sending back a heartbeat message. Heartbeat messages are sent back to the client to prevent the scanner from timing out. Seeing a heartbeat message communicates to the Client that the server would have continued to scan had the time limit not been reached.
hasHeartbeatMessage
in interface ClientPB.ScanResponseOrBuilder
public boolean getHeartbeatMessage()
optional bool heartbeat_message = 9;
This field is filled in if the server is sending back a heartbeat message. Heartbeat messages are sent back to the client to prevent the scanner from timing out. Seeing a heartbeat message communicates to the Client that the server would have continued to scan had the time limit not been reached.
getHeartbeatMessage
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setHeartbeatMessage(boolean value)
optional bool heartbeat_message = 9;
This field is filled in if the server is sending back a heartbeat message. Heartbeat messages are sent back to the client to prevent the scanner from timing out. Seeing a heartbeat message communicates to the Client that the server would have continued to scan had the time limit not been reached.
public ClientPB.ScanResponse.Builder clearHeartbeatMessage()
optional bool heartbeat_message = 9;
This field is filled in if the server is sending back a heartbeat message. Heartbeat messages are sent back to the client to prevent the scanner from timing out. Seeing a heartbeat message communicates to the Client that the server would have continued to scan had the time limit not been reached.
public boolean hasScanMetrics()
optional .ScanMetrics scan_metrics = 10;
This field is filled in if the client has requested that scan metrics be tracked. The metrics tracked here are sent back to the client to be tracked together with the existing client side metrics.
hasScanMetrics
in interface ClientPB.ScanResponseOrBuilder
public MapReducePB.ScanMetrics getScanMetrics()
optional .ScanMetrics scan_metrics = 10;
This field is filled in if the client has requested that scan metrics be tracked. The metrics tracked here are sent back to the client to be tracked together with the existing client side metrics.
getScanMetrics
in interface ClientPB.ScanResponseOrBuilder
public ClientPB.ScanResponse.Builder setScanMetrics(MapReducePB.ScanMetrics value)
optional .ScanMetrics scan_metrics = 10;
This field is filled in if the client has requested that scan metrics be tracked. The metrics tracked here are sent back to the client to be tracked together with the existing client side metrics.
public ClientPB.ScanResponse.Builder setScanMetrics(MapReducePB.ScanMetrics.Builder builderForValue)
optional .ScanMetrics scan_metrics = 10;
This field is filled in if the client has requested that scan metrics be tracked. The metrics tracked here are sent back to the client to be tracked together with the existing client side metrics.
public ClientPB.ScanResponse.Builder mergeScanMetrics(MapReducePB.ScanMetrics value)
optional .ScanMetrics scan_metrics = 10;
This field is filled in if the client has requested that scan metrics be tracked. The metrics tracked here are sent back to the client to be tracked together with the existing client side metrics.
public ClientPB.ScanResponse.Builder clearScanMetrics()
optional .ScanMetrics scan_metrics = 10;
This field is filled in if the client has requested that scan metrics be tracked. The metrics tracked here are sent back to the client to be tracked together with the existing client side metrics.
Copyright © 2010-2017, The Async HBase Authors