How to prevent numeric overflow on Event sequence number.
search cancel

How to prevent numeric overflow on Event sequence number.

book

Article ID: 130582

calendar_today

Updated On:

Products

CA Privileged Access Manager - Cloakware Password Authority (PA) CA Privileged Access Manager (PAM)

Issue/Introduction

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