Update comment
Track which blocks have been inserted, and complete when all segments have inserted all blocks.
Fix NPE
Factor out block choice and retry tracking code. Will reuse some of this for inserts.
Use SimpleBlockChooser for inserts.
Make these fatal, can't retry, be consistent with FetchException
Handle failure.
Do all this risky stuff off-thread.
More statuses, always create Metadata before feeding it to callback.
Check for failure or completion before storeStatus()
Check status in tests.
We must always have a key when a block insert completes.
Test completion (success).
Make InsertException.mode public
Fix NPE
Include error codes in final failure InsertException
Add tests for simple failure modes.
TransientChosenBlock -> ChosenRequestImpl (now used for persistent too)
Make sure callbacks are called on the jobRunner if necessary, and always call them off-thread.
Always pass in the key in onSuccess, and simplify slightly.