Add support in the Router and Admin to get data chunk blob id list of a composite blob.
This enhancement should allow us to
- get the list of blob ids of the constituent data chunks of a composite blob.
- determine if a given blob id is an id of a composite blob (blob is simple if 1. returns a non-empty list; composite otherwise).
This should work even for deleted/expired blob ids.
Great idea ! Do you have any ideas on how this can integrated into the Router API? Are you thinking of a new API or modifications to the return type of the existing GetBlob API?
My prototype for this is working.
The idea is
- add new operationType(subBlobKeys) to GetBlobOptions
- by existing GetBlobOptionsInternal.getChunkIdsOnly to differentiate data request and subBlobKeys request.
- add storeKeys(existing class) to GetBlobResult.BlobInfo so that we can return it in the final stage.
The request url is host:port/ambryid/SubBlobKeys.
Let me know if any suggestion.
@zzmao sounds good overall. Just wondering if GetBlobResult will need any change at all. Go ahead and put up the PR and we can discuss these there.
I wonder if you can simply change GetBlobResultInternal into GetBlobResult?
Also, let's have a more descriptive name than SubBlobKeys. ChunkBlobIds seems more in line with the terminology we use.
Will do PR soon.