[ 
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)

Reply via email to