You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current implementation of the asynchronous tracing model cannot guarantee the closure of AsyncTrace unless it spans a single method.
For tracing asynchronous calls made by Thrift clients, the AsyncTrace begins in TAsyncMethodCall.start() and ends in one of TAsyncMethodCall.doWritingRequestBody(), TAsyncMethodCall.doReadingResponseBody(), or TAsyncMethodCall.onError().
If in future versions of Thrift adds a new code path that passes through TAsyncMethodCall.start() but not the one of ending methods, the AsyncTrace will be pushed(start) but not popped(end).
To prevent these situations from every becoming a problem, it might be a good idea to reduce the scope of AsyncTrace to the ending methods. The trace data might not be as detailed, but it would be safer this way.
The text was updated successfully, but these errors were encountered:
The current implementation of the asynchronous tracing model cannot guarantee the closure of AsyncTrace unless it spans a single method.
For tracing asynchronous calls made by Thrift clients, the AsyncTrace begins in
TAsyncMethodCall.start()
and ends in one ofTAsyncMethodCall.doWritingRequestBody()
,TAsyncMethodCall.doReadingResponseBody()
, orTAsyncMethodCall.onError()
.If in future versions of Thrift adds a new code path that passes through
TAsyncMethodCall.start()
but not the one of ending methods, the AsyncTrace will be pushed(start) but not popped(end).To prevent these situations from every becoming a problem, it might be a good idea to reduce the scope of AsyncTrace to the ending methods. The trace data might not be as detailed, but it would be safer this way.
The text was updated successfully, but these errors were encountered: