-
Notifications
You must be signed in to change notification settings - Fork 33
Allows linking nodes in the message flow view as a fallback when no link could be established on OriginatingEndpoint / ProcessingEndpoint mismatch #1171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think it's possible to add a unit test for this?
@WilliamBZA No tests exist at all against this view model. Potentially the |
I'm not sure that I'm the right person to review this PR. I can review the code but am not really sure I'm able to follow the implication of the change. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have enough context to argue whether we should proceed with this. I did try to provide some nitpicks though
@danielmarbach to answer your question: logs are displayed within SI in the Logs window. The reason to mark them as Warn/Error was to make them stand out as we log other things there as well. If you want to argue "what's the action" you can argue why we log anything at all. The error logs in the diagram code are not 'expected'. Maybe those can be replaced by exceptions. Those conditions are not expected to happen. When customers do report those, we'll need to check their (SC) data to see why that happens. |
9147a3c
to
8e77754
Compare
…here is no match on child.RelatedTo = parent.Id && child.OriginatingEndpoint = parent.ProcessingEndpoint
Co-authored-by: Daniel Marbach <[email protected]>
c0d5e85
to
c0dc8fa
Compare
Is rebased on top of dev-exp-upgrade-buid-fix, needs #1288 to be merged first. |
…ink could be established on OriginatingEndpoint / ProcessingEndpoint mismatch (#1171) * Allows linking nodes if originating message is not an event in case there is no match on child.RelatedTo = parent.Id && child.OriginatingEndpoint = parent.ProcessingEndpoint * Implemented logging TODO's * Removed unneeded TODO * Resolved ESSENTIAL formatting fix IDE0055...... * Apply suggestions from code review Co-authored-by: Daniel Marbach <[email protected]> * Update src/ServiceInsight/MessageFlow/MessageFlowViewModel.cs * Using names instead of numbers for Serilog messages * Fix missing ToArray * Converted to switch for reabability of intent Co-authored-by: Daniel Marbach <[email protected]> # Conflicts: # src/ServiceInsight/MessageFlow/MessageFlowViewModel.cs
…ink could be established on OriginatingEndpoint / ProcessingEndpoint mismatch (#1171) * Allows linking nodes if originating message is not an event in case there is no match on child.RelatedTo = parent.Id && child.OriginatingEndpoint = parent.ProcessingEndpoint * Implemented logging TODO's * Removed unneeded TODO * Resolved ESSENTIAL formatting fix IDE0055...... * Apply suggestions from code review Co-authored-by: Daniel Marbach <[email protected]> * Update src/ServiceInsight/MessageFlow/MessageFlowViewModel.cs * Using names instead of numbers for Serilog messages * Fix missing ToArray * Converted to switch for reabability of intent Co-authored-by: Daniel Marbach <[email protected]> # Conflicts: # src/ServiceInsight/MessageFlow/MessageFlowViewModel.cs
…ink could be established on OriginatingEndpoint / ProcessingEndpoint mismatch (#1171) (#1294) * Allows linking nodes if originating message is not an event in case there is no match on child.RelatedTo = parent.Id && child.OriginatingEndpoint = parent.ProcessingEndpoint * Implemented logging TODO's * Removed unneeded TODO * Resolved ESSENTIAL formatting fix IDE0055...... * Apply suggestions from code review Co-authored-by: Daniel Marbach <[email protected]> * Update src/ServiceInsight/MessageFlow/MessageFlowViewModel.cs * Using names instead of numbers for Serilog messages * Fix missing ToArray * Converted to switch for reabability of intent Co-authored-by: Daniel Marbach <[email protected]> # Conflicts: # src/ServiceInsight/MessageFlow/MessageFlowViewModel.cs
In order to link nodes the following must be true:
However, in situaties where only processed messages can be linked based on RelatedTo these messages remain unlinked in the message flow view.
Before:
After:
Logic is written in such a way that the fallback only happens if intent not equal to publish. Meaning, only messages and commands as these SHOULD only have one processing endpoint
Implications
This is a fallback, the default linking behavior remains the same is the message flow is purely passing only NServiceBus endpoints but adds linking when that is not always the case (i.e. native integration).