Applicable to Password Authority 4.5.3, with high event processing.
On a periodic basis: check the next sequence number for the event table: select * from sequences where name = 'event';
When the value gets close to 2,000,000,000, then it is getting too close to a java int 2,147,483, 647
Environment
Password Authority 4.5.3
Resolution
The simplest instructions are to truncate the event table, and start the numbering at 1001. Lost events will mean the A2A client cache will not be deleted for that entry, but the next request to the server will refresh the cache.
1. Stop all Tomcats 2. Truncate event table. truncate table event; 3. Run the following SQL commands: update sequences set next=1001 where name='event'; 4. Restart 1 Tomcat 5. Wait for a couple of minutes to enable event processing to start up 6. Verify no errors in log file 7. Start remaining Tomcats 8. After some time, run the query: select next from sequences where name='event' and verify the value (after some activity that would cause events to be generated, such as updating/adding or deleting target objects, scripts or request servers or group definitions) When the value gets close to 2,000,000,000, then it is getting too close to a java int 2,147,483, 647
Additional Information
There are alternate instructions to preserve the events and renumber them, but that means longer downtime. There was only a 5 minute outage with the truncate event table method, with 4 tomcats to restart.
select min(id) from event; Say result is 1852766170 1. Stop all Tomcats 2. Run the following SQL commands: update event set id=id-1852766170; update event set parentid=parentid-1852766170 where parentid > 0; update sequences set next=next-1852766170 where name='event'; 3. Restart 1 Tomcat 4. Wait for a couple of minutes to enable event processing to start up 5. Verify no errors in log file 6. Start remaining Tomcats 7. After some time, run the query: select next from sequences where name='event' and verify the value (after some activity that would cause events to be generated, such as updating/adding or deleting target objects, scripts or request servers or group definitions) When the value gets close to 2,000,000,000, then it is getting too close to a java int 2,147,483, 647