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. ---