Github user d2r commented on the pull request:

    https://github.com/apache/storm/pull/845#issuecomment-153492370
  
    storm.thrift:
    
    ```
      //BLOB APIs
        // These blob APIs guarantee very little.
        // Writes and reads can fail at any point in time and should be retried.
        // deletes are a best effort and if someone is adding or updating the 
same key
        //  at the same time the key may exist afterwards.
        // About the only thing that is guaranteed is a blob will be self 
consistent.
        // When downloading a blob all of the bits will be from the same 
version of the
        // blob. It may even mean that reading throws an exception in the 
middle.
        // Many of the APIs have sessions assoicated with them.  If you take 
too long to
        // complete a session it may timeout and you will need to start over.
        string beginCreateBlob(1: string key, 2: SettableBlobMeta meta) throws 
(1: AuthorizationException aze, 2: KeyAlreadyExistsException kae);
        string beginUpdateBlob(1: string key) throws (1: AuthorizationException 
aze, 2: KeyNotFoundException knf);
        void uploadBlobChunk(1: string session, 2: binary chunk) throws (1: 
AuthorizationException aze);
        void finishBlobUpload(1: string session) throws (1: 
AuthorizationException aze);
        void cancelBlobUpload(1: string session) throws (1: 
AuthorizationException aze);
        ReadableBlobMeta getBlobMeta(1: string key) throws (1: 
AuthorizationException aze, 2: KeyNotFoundException knf);
        void setBlobMeta(1: string key, 2: SettableBlobMeta meta) throws (1: 
AuthorizationException aze, 2: KeyNotFoundException knf);
        BeginDownloadResult beginBlobDownload(1: string key) throws (1: 
AuthorizationException aze, 2: KeyNotFoundException knf);
        //can stop downloading chunks when receive 0-length byte array back
        binary downloadBlobChunk(1: string session) throws (1: 
AuthorizationException aze);
        void deleteBlob(1: string key) throws (1: AuthorizationException aze, 
2: KeyNotFoundException knf);
        ListBlobsResult listBlobs(1: string session); //empty string "" means 
start at the beginning
        BlobReplication getBlobReplication(1: string key) throws (1: 
AuthorizationException aze, 2: KeyNotFoundException knf);
        BlobReplication updateBlobReplication(1: string key, 2: i32 
replication) throws (1: AuthorizationException aze, 2: KeyNotFoundException 
knf);
        void createStateInZookeeper(1: string key); // creates state in 
zookeeper when blob is uploaded through command line
    ```
    
    * all but the first line is indented 2 extra spaces
    * Should we move the comments to a readme?
    * "These blob APIs guarantee" -> This blob API guarantees
    * "assoicated" -> associated
    * "deletes" -> Deletes



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to