Particular / ServicePulse

Production monitoring for distributed systems.
https://docs.particular.net/servicepulse/
Other
34 stars 27 forks source link

Endpoint details won't display when endpoint name contains special characters #606

Open progorovics opened 6 years ago

progorovics commented 6 years ago

In my first attempt to run a service monitoring with service pulse I tried to monitor an endpoint called ordering#local. So my endpoint name contained a special character. Monitoring runs fine and endpoints overview was displayed as expected. But when I tried to open the endpoint's details view in service pulse this leads to a redirect to the service pulse dashboard since the special character '#' was obviously also used in the requested URL which doesn't work.

Is there a recommendation or restriction when naming endpoints?


WilliamBZA commented 6 years ago

Hmm, that's an interesting problem. The # character is used for routing within angularjs, so by putting it as part of the URL, the router is getting confused.

Could you do a quick test for me? Try and copy the url that service pulse uses before it redirects to the dashboard, and replace the # with %23. Perhaps by simply encoding the name we could work around this.

progorovics commented 6 years ago

Sorry I've already renamed my endpoints so I cannot reproduce this issue since I've to rush forward to support my team. But another issue came up after renaming the endpoints in endpoint configuration (code) because Service Control wasn't able to start It's windows service. Some strange error message says: System.ObjectDisposedException cannot access SqlServerPollingDequeueStrategy I had to reinstall service control and monitoring completely to get this fixed. I guess service control was somehow still pointing to the old queues. But this is already a known issue in service control repo, I guess.

I use SQLServerTransport and NHibernatePersitence. I first had deleted all queues and other nsb tables in my db and let the NServiceBus framework install from scratch again with new endpoint namings when starting my endpoints. So I think this will be easy to reproduce for you.

WilliamBZA commented 6 years ago

I suspect that specific log entry is a red herring. It sounds like the error is surfacing because the app domain is being shutdown so the container has started disposing of the singleton instances inside mid-message pump processing.

Is there anything else in the log file or event log to hint at why the app domain would have been shutting down?

progorovics commented 6 years ago

No, I 've checked the logs andf there's no further hint.