[
https://issues.apache.org/jira/browse/HADOOP-12635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15092854#comment-15092854
]
Chris Nauroth commented on HADOOP-12635:
----------------------------------------
[~dchickabasapa], thank you for incorporating the feedback.
I'm finding it challenging to follow the logic of whether or not the
test-and-set succeeds based on the {{updatePossible}} flag. Instead of
tracking it in a flag, I'm wondering if the whole logic could be simplified to
the following, which wouldn't require a flag tracked in another variable. Let
me know your thoughts.
{code}
// If there is prior lease metadata, and that least timeout has not yet
expired, then testCondition must match lease condition.
if (metadata.containsKey(APPEND_LEASE) &&
currentTime -
Long.parseLong(metadata.get(APPEND_LEASE_LAST_MODIFIED)) <=
BlockBlobAppendStream.APPEND_LEASE_TIMEOUT &&
!metadata.get(APPEND_LEASE).equals(Boolean.toString(testCondition))) {
return false;
}
// Do metadata update here.
return true;
{code}
I am assuming that {{uploadMetadata}} is atomic, so that we will never have a
case where metadata exists containing {{append_lease}}, but not
{{append_lease_last_modified}}. If that operation is not in fact atomic,
please let me know.
After addressing that, please feel free to click the Submit Patch button for a
pre-commit run.
> Adding Append API support for WASB
> ----------------------------------
>
> Key: HADOOP-12635
> URL: https://issues.apache.org/jira/browse/HADOOP-12635
> Project: Hadoop Common
> Issue Type: Improvement
> Components: azure
> Affects Versions: 2.7.1
> Reporter: Dushyanth
> Assignee: Dushyanth
> Attachments: Append API.docx, HADOOP-12635.001.patch,
> HADOOP-12635.002.patch
>
>
> Currently the WASB implementation of the HDFS interface does not support
> Append API. This JIRA is added to design and implement the Append API support
> to WASB. The intended support for Append would only support a single writer.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)