public Pair<ServerErrorCode, BlobAll> getAll(DataNodeId dataNodeId, BlobId blobId, GetOption getOption,
      ClusterMap clusterMap, StoreKeyFactory storeKeyFactory) throws Exception {
    Pair<Pair<ServerErrorCode, InputStream>, ResponseInfo> response =
        getGetResponse(dataNodeId, blobId, MessageFormatFlags.All, getOption, clusterMap);
    InputStream stream = response.getFirst().getSecond();
    BlobAll blobAll = stream != null ? MessageFormatRecord.deserializeBlobAll(stream, storeKeyFactory) : null;
    response.getSecond().release();
    return new Pair<>(response.getFirst().getFirst(), blobAll);
  }
Gets all data for {@code blobId}.
@param dataNodeId the {@link DataNodeId} to contact.
@param blobId the {@link BlobId} to operate on.
@param getOption the {@link GetOption} to send with the {@link GetRequest}.
@param clusterMap the {@link ClusterMap} to use.
@param storeKeyFactory the {@link StoreKeyFactory} to use.
@return the {@link ServerErrorCode} and {@link BlobAll} for {@code blobId}
@throws Exception
ambry-tools/src/main/java/com/github/ambry/tools/admin/ServerAdminTool.java