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
Customers using the Saga View to inspect message bodies when using a seperate audit instance.
Symptoms
When looking at a Saga in the Saga View, clicking "Show Messages" shows all messages as empty.
Analysis
Audited message bodies are stored in a separate audit instance. When ServiceInsight queries for a list of messages, the query is sent to the primary ServiceControl instance, which forwards the query to all attached Audit instances. When it gets back the results, it changes the BodyUrl value returned from the Audit instance to include an InstanceId query string parameter. When ServiceInsight then needs to load the body, it uses this address. The primary instance extracts the InstanceId query string parameter and forwards the request to the right Audit instance.
When ServiceInsight queries for Saga Audit data, ServiceControl knows which messages are correlated with the saga instance. It knows some additional details such as Message Id, Message Type, and whether the message was a command or an event. It does not know which Audit instance contains the message body, so it cannot update the BodyUrl property to contain an InstanceId value.
When ServiceInsight gets data back from the query, the InstanceId query string parameter is missing from the BodyUrl property. When ServiceInsight requests the details of the message body, ServiceControl does not know which Audit instance to forward the query to and it returns a 404 NOT FOUND.
To resolve this, ServiceInsight now issues a second query immediately after the Saga Audit query. This second query asks for a list of messages that contain the value of the Saga Id. It then matches the results up to each message replacing the BodyUrl property with one containing an InstanceId query string parameter.
The text was updated successfully, but these errors were encountered:
Who's affected
Customers using the Saga View to inspect message bodies when using a seperate audit instance.
Symptoms
When looking at a Saga in the Saga View, clicking "Show Messages" shows all messages as empty.
Analysis
Audited message bodies are stored in a separate audit instance. When ServiceInsight queries for a list of messages, the query is sent to the primary ServiceControl instance, which forwards the query to all attached Audit instances. When it gets back the results, it changes the
BodyUrl
value returned from the Audit instance to include anInstanceId
query string parameter. When ServiceInsight then needs to load the body, it uses this address. The primary instance extracts theInstanceId
query string parameter and forwards the request to the right Audit instance.When ServiceInsight queries for Saga Audit data, ServiceControl knows which messages are correlated with the saga instance. It knows some additional details such as Message Id, Message Type, and whether the message was a command or an event. It does not know which Audit instance contains the message body, so it cannot update the
BodyUrl
property to contain anInstanceId
value.When ServiceInsight gets data back from the query, the
InstanceId
query string parameter is missing from theBodyUrl
property. When ServiceInsight requests the details of the message body, ServiceControl does not know which Audit instance to forward the query to and it returns a 404 NOT FOUND.To resolve this, ServiceInsight now issues a second query immediately after the Saga Audit query. This second query asks for a list of messages that contain the value of the Saga Id. It then matches the results up to each message replacing the BodyUrl property with one containing an
InstanceId
query string parameter.The text was updated successfully, but these errors were encountered: