You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Arpit Agarwal (JIRA)" <ji...@apache.org> on 2018/09/18 21:24:00 UTC
[jira] [Created] (HDDS-501) AllocateBlockResponse.keyLocation must
be an optional field
Arpit Agarwal created HDDS-501:
----------------------------------
Summary: AllocateBlockResponse.keyLocation must be an optional field
Key: HDDS-501
URL: https://issues.apache.org/jira/browse/HDDS-501
Project: Hadoop Distributed Data Store
Issue Type: Bug
Reporter: Arpit Agarwal
Fix For: 0.2.1
keyLocation may not be initialized if allocateBlock fails in the following function:
{code:java}
public AllocateBlockResponse allocateBlock(RpcController controller,
AllocateBlockRequest request) throws ServiceException {
AllocateBlockResponse.Builder resp =
AllocateBlockResponse.newBuilder();
try {
KeyArgs keyArgs = request.getKeyArgs();
OmKeyArgs omKeyArgs = new OmKeyArgs.Builder()
.setVolumeName(keyArgs.getVolumeName())
.setBucketName(keyArgs.getBucketName())
.setKeyName(keyArgs.getKeyName())
.build();
OmKeyLocationInfo newLocation = impl.allocateBlock(omKeyArgs,
request.getClientID());
resp.setKeyLocation(newLocation.getProtobuf());
resp.setStatus(Status.OK);
} catch (IOException e) {
resp.setStatus(exceptionToResponseStatus(e));
}
return resp.build();
}{code}
Hence it must be an optional field. Else the protobuf builder exception suppresses the real issue.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org