Event Handler "This XID is already in use"
-
It looks like this notifications is on every event handler, even one WITHOUT any xid entered.
-
I guess this may be related to the Event Handlers disappearing post here
When I try to manually re-enter the Event Handlers with the same XIDs as they used to have, it will not allow me to do so, as the "XID is already in use".
Would it be possible to completely clear all of the event handlers first, and re-do them, or something else?
Thanks.
-
Hi Mihai,
Perhaps we could work together directly to figure out how what has happened happened and how to make it right? I hesitate to give steps on a problem I've not encountered, but, my first inclination would be...
- Backup the database and the json.
- Run
SELECT COUNT(id) FROM eventHandlers;
in the SQL console. - Export the events, are there about as many as are in the table? Do you have any errors on export in the logs?
- Reimport the event Handlers. Do they import successfully? Errors in the logs?
Feel free to give us a call. Ultimately a screenshare or having access would be most useful in having me investigate, but we may get some more information to work with from those steps.
-
Here are the errors upon re-import:
Event handler 'boilerLeaderAlarmON': saved Event handler 'boilerMember1AlarmON': saved Event handler 'boilerMember2AlarmON': saved Event handler 'boilerMember3AlarmON': saved Event handler 'boilerMember4AlarmON': saved Event handler 'boilerMember5AlarmON': saved Event handler 'boilerMember1DHWTankHighAlarmON': saved Event handler 'MainHistorianShutdown': saved Event handler 'MainHistorianStartUp': saved Event handler 'MainHistorianBackupFailure': saved Event handler 'boilerLeaderNoComm': saved Event handler 'boilerLeaderLockout': saved Event handler 'boilerMember1Lockout': saved Event handler 'boilerMember1DHWTankLowAlarmON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember3DhwTempHighLimit' Event handler 'boilerMember3DhwBackupMode': Event type has an invalid 'detectorXID' value of 'PED_boilerMember5Lockout' Event handler 'boilerMember3DHWTankHighAlarmON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember3Lockout' Event handler 'boilerMember3DHWTankLowAlarmON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember4Lockout' Event handler 'boilerMember3NotDhwBackupMode': Event type has an invalid 'detectorXID' value of 'PED_boilerLeaderOutletTempHighLimit' Event handler 'boilerLeaderLockoutON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember1OutletTempHighLimit' Event handler 'boilerMember1LockoutON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember2OutletTempHighLimit' Event handler 'boilerMember2LockoutON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember3OutletTempHighLimit' Event handler 'boilerMember3LockoutON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember4OutletTempHighLimit' Event handler 'boilerMember4LockoutON': Event type has an invalid 'detectorXID' value of 'PED_boilerMember5OutletTempHighLimit' Event handler 'boilerMember5LockoutON': Event type has an invalid 'detectorXID' value of 'PED_boilerLeaderNoUpdate' Event handler 'boilerLeaderOutletTempHigh': Event type has an invalid 'detectorXID' value of 'PED_boilerMember1NoUpdate' Event handler 'boilerMember1OutletTempHigh': Event type has an invalid 'detectorXID' value of 'PED_boilerMember2NoUpdate' Event handler 'boilerMember2OutletTempHigh': Event type has an invalid 'detectorXID' value of 'PED_boilerMember3NoUpdate' Event handler 'boilerMember3OutletTempHigh': Event type has an invalid 'detectorXID' value of 'PED_boilerMember4NoUpdate' Event handler 'boilerMember4OutletTempHigh': Event type has an invalid 'detectorXID' value of 'PEPED_boilerMember5NoUpdate' Event handler 'boilerMember5OutletTempHigh': Event type has an invalid 'detectorXID' value of 'PED_boilerLeaderOff' Event handler 'boilerLeaderNoCommuncation': Event type has an invalid 'detectorXID' value of 'PED_boilerMember1Off' Event handler 'boilerMember1NoCommuncation': Event type has an invalid 'detectorXID' value of 'PED_boilerMember2Off' Event handler 'boilerMember2NoCommuncation': Event type has an invalid 'detectorXID' value of 'PED_boilerMember3Off' Event handler 'boilerMember4NoCommuncation': Event type has an invalid 'detectorXID' value of 'PED_boilerMember5Off' Event handler 'boilerMember5NoCommuncation': Event type must have a 'detectorXID' Event handler 'boilerLeaderOff': Event type must have a 'detectorXID' Event handler 'boilerMember1Off': Event type must have a 'detectorXID' Event handler 'boilerMember2Off': Event type must have a 'detectorXID' Event handler 'boilerMember3Off': Event type must have a 'detectorXID' Event handler 'boilerMember4Off': Event type must have a 'detectorXID' Event handler 'boilerMember5Off': Event type must have a 'detectorXID' Event handler 'boilerMember3NoCommuncation': Event type has an invalid 'detectorXID' value of 'PED_boilerMember4Off'
-
Hi Mihai,
Thanks for doing the leg work! I believe I found the cause of this problem, and fixed it. There was an error in the database upgrade script. I'll try to get an easy fix developed soon (I have fixed the upgrade, so we'll probably be releasing that as 2.8.6 soon). The short of it is that the IDs in the eventDetectors table (in 2.8.4) are not matching up to the IDs from the pointEventDetectors table (pre-Upgrade12) if there were gaps in the set of IDs.
The easiest way in my mind would be running this against the old database:
SELECT id, xid FROM pointEventDetectors;
then running (against the upgraded database)
UPDATE eventDetectors SET id=idFromStep1 WHERE xid='xidFromStep1';
for each id and xid in the result set.
Sorry for the inconvenience, I'll see if I can get a better solution to you soon.
-
Glad to be of help =)