Open trask opened 1 month ago
@ibrahimrabab @ibrandes @kyleknap @seanmcc-msft
Thank you for your feedback. Tagging and routing to the team member best able to assist.
Switching ownership to Core as Storage doesn't do anything special with span creation.
exists()
, and the equivalent APIs that are speculative, have handling on the client side to return a better response when possible. For example, Storage Blob doesn't have a specific API for checking existence of a blob (or container) so an attempt on getProperties
is made with catching if a 404 is returned to indicate false
. So, from the REST API perspective this did fail but from an application perspective it didn't, which may be something that needs to be dug into as tracing and runtime are reporting different results.
Calling
BlobClientBase.exists()
produces two spans (which is expected):an INTERNAL span:
and a nested CLIENT span:
isn't not surprising that the CLIENT span has status ERROR, since it's probably captured by lower-level HTTP instrumentation which doesn't know that a 404 is an expected response code for this operation
what's surprising is that the INTERNAL span has status ERROR and attaches (an oftentimes large) exception stacktrace, even though the call to
BlobClientBase.exists()
doesn't throw an exception but instead just returns false when the blob is not found.repro at https://github.com/trask/azure-blob-storage-test
cc @lmolkova @jeanbisutti @heyams @harsimar