bugfix: mobilecoind should return a grpc NOT_FOUND error code when ledger data is not found #3787
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, mobilecoind returned a GRPC INVALID_ARGUMENT error when certain calls were made to the ledger database and the data requested wasn't found.
NOT_FOUND is a more correct error code in such cases, and is required for correct behavior of the new remote-mobilecoind fog
BlockProvider
(see https://github.com/mobilecoinfoundation/mobilecoin/blob/feature/bugfix-ledger-notfound-err-code/fog/block_provider/src/error.rs#L38-L39 and https://github.com/mobilecoinfoundation/mobilecoin/blob/feature/bugfix-ledger-notfound-err-code/fog/ledger/server/src/merkle_proof_service.rs#L156)To verify this results in the expected behavior I hacked together a client that calls
get_outputs
on the fog merkleproof service. Prior to this change, I got this result:And after the change:
Note that
result_code
1 is NotFound (https://github.com/mobilecoinfoundation/mobilecoin/blob/feature/bugfix-ledger-notfound-err-code/fog/api/proto/ledger.proto#L173)