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 [email protected] or file a JIRA ticket
with INFRA.
---