[
https://issues.apache.org/jira/browse/HDDS-501?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16619776#comment-16619776
]
Hanisha Koneru commented on HDDS-501:
-------------------------------------
Thanks for fixing this [~arpitagarwal].
+1 pending Jenkins.
> 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
> Assignee: Arpit Agarwal
> Priority: Blocker
> Attachments: HDDS-501.01.patch
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]