Olympia server management of duplicate subscriptions

Hi again,

There are several ocassions that we are getting exceptions coming out of Olympia that usually ended up on having to restart services with direct connection to it.

These are the exceptions:

06-03-2020 12:45:56.508 [EXCEPT] [ThreadId: 9756] [PID: 8044] MessageBroker exception for session {0311AA1F-C5BF-4A5C-A940-7E42AA63A23D}.: Exception EROUnregisteredServerException in module GX.Cerberus.exe at 000000000087C511.
An exception was raised on the server: Violation of PRIMARY KEY constraint ‘PK__EVENTSUB’. Cannot insert duplicate key in object ‘dbo.EVENTSUBSCRIPTIONS’. The duplicate key value is (3652fafa-598e-41a0-a392-8066817e588a, *).
The statement has been terminated.

06-03-2020 12:51:26.749 [EXCEPT] [ThreadId: 4404] [PID: 8044] MessageBroker exception for session {0311AA1F-C5BF-4A5C-A940-7E42AA63A23D}.: Exception EROUnregisteredServerException in module GX.Cerberus.exe at 000000000087C511.
An exception was raised on the server: Violation of PRIMARY KEY constraint ‘PK__EVENTSUB’. Cannot insert duplicate key in object ‘dbo.EVENTSUBSCRIPTIONS’. The duplicate key value is (e1e0849c-e131-40b4-8e92-9e3707956260, *).
The statement has been terminated.

06-03-2020 13:01:40.055 [EXCEPT] [ThreadId: 3568] [PID: 8044] MessageBroker exception for session {0311AA1F-C5BF-4A5C-A940-7E42AA63A23D}.: Exception EROUnregisteredServerException in module GX.Cerberus.exe at 000000000087C511.
An exception was raised on the server: Violation of PRIMARY KEY constraint ‘PK__EVENTSUB’. Cannot insert duplicate key in object ‘dbo.EVENTSUBSCRIPTIONS’. The duplicate key value is (733b63d5-fce0-4c4b-958c-76b63c92b186, *).
The statement has been terminated.

Those are messages coming directly from Olympia and trigger on the Olympia OnException event.

Shortly after that, service will stop responding and die.

No idea how internally the possibility of duplicates its being managed by Olympia or if it eventually leads to a catastrophic failure of some kind, dropping a client, a connection or some like that.

Btw, On the OnChannelException, I am only logging the exception, retry is set to false.

Hello

Shortly after that, service will stop responding and die.

You mean Olympia server or the target Delphi service?

Thanks, logged as bugs://84041

Hi Anton,

When Olympia dies, it simply grows in memory usage and goes into a constant cpu usage, e.g. gets stuck in 40%, memory goes to several GBs of RAM and keeps growing, without ever going down (we do have constant event sinks happening at least every 10 seconds). I’ll assume those are sessions that are shown as active but in reality they are not and will be disposed until the session expired, so memory keeps growing. Good thing, It’s not as frequent on Olympia, the ones who died first are services connected directly to it, they lose the session, keeps getting those exceptions and they get stuck.

Did this start to happen recently or this is a constant issue?

Could you capture a dump of Olympia when it starts to behave like this using this tool: https://www.microsoft.com/en-us/download/confirmation.aspx?id=16273 ?

Also what is the exact Olympia version?

Thanks, logged as bugs://84055

Hi again,

Sorry for the delayed response.

Version 10.0.0.1463

It will be hard to do cause machine is on customer premises so can’t do much manipulation there, but I’ll try.

bugs://84055 got closed with status fixed.