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
Fixes: #13012
This change introduces a circuit id 'secret' as the concept that's used when
doing handshaking between the client and the server, and makes CircuitId
(visible to user-code) a separate concept (not a secret, can't be used
to open a connection).
The scope of this grew once I realized that we probably shouldn't be
logging Circuit Secret in so many places, we should be logging CircuitId
as the piece of data we use for correlation, and try to keep the secret
out of logs except where really necessary (and with trace level).
I ended up creating a new type to represent the combination of the
circuit id and secret and prevent
accidental misuse, and then chased down all of the build errors.
As an extra detail, the circuit id is part of the data-protected payload
that's used as the secret. This way we can always get the id back from
the secret without any external storage.
LoggerMessage.Define<string>(LogLevel.Debug,newEventId(3,"InvalidCircuitId"),"CircuitDisconnectMiddleware recieved an invalid circuit id '{CircuitIdSecret}'.");
LoggerMessage.Define<string>(LogLevel.Warning,newEventId(2,"UnhandledExceptionInCircuit"),"Unhandled exception in circuit {CircuitId} while terminating gracefully.");
0 commit comments