This is not pretty and I'm not entirely sure it solves the problem that was encountered in #332. I don't think it is possible/advisable to print the snapshot ID before we are done because the current behavior, which prints the snapshot ID on success, is probably being relied upon by users (including us).
So, I split the upload function into two parts, everything before the snapshot ID and everything after. If an error occurs after the snapshot ID exists, then I print it before returning the error to the caller.
This is sort of a conversational PR. I'm not sure we want to do this.
Testing
Upload still works. When I forceably caused an error to occur, the output looked like this:
Error during upload of snapshot snap-0b9692173e09e5886
Failed to upload snapshot: Failed to convert calculate file blocks 200 to i32: out of range integral type conversion attempted
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Issue #, if available:
Closes #332
Description of changes:
This is not pretty and I'm not entirely sure it solves the problem that was encountered in #332. I don't think it is possible/advisable to print the snapshot ID before we are done because the current behavior, which prints the snapshot ID on success, is probably being relied upon by users (including us).
So, I split the upload function into two parts, everything before the snapshot ID and everything after. If an error occurs after the snapshot ID exists, then I print it before returning the error to the caller.
This is sort of a conversational PR. I'm not sure we want to do this.
Testing
Upload still works. When I forceably caused an error to occur, the output looked like this:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.