Print this page

java.sql.SQLException: ORA-30006: resource busy; acquire with WAIT timeout expired

Knowledge Article Number 000002383

Customer is receiving an email containing the error code above. Cannot create Campaign Member for Lead submitted from Web to Lead.


Alert: Salesforce experienced the following problem creating an associated campaign member for the lead below: 

Reason: java.sql.SQLException: ORA-30006: resource busy; acquire with WAIT timeout expired 
ORA-06512: at "SLEEPY.ROWLOCK", line 48 
ORA-06512: at "SLEEPY.ROWLOCK", line 125 
ORA-06512: at "SLEEPY.ROWLOCK", line 183 
ORA-06512: at line 1


The error code that you are receiving means that something else was currently working with the campaign at the exact same time. It's essentially a "campaign object is in use, try again later" error. 

What happens is 

1. A lead comes in via Web To lead that's should also be added to a campaign. 
2. Salesforce tries to "lock" the campaign object (ie, prevent anyone else from modifying it) so that when the campaign member is created all the RSFs will calculate correctly. Usually the lock is successful, the campaign member is quickly, created, RSFs are calculated, and all is well. 

However, if two leads come in at the same time, for the same campaign, both of them will want to "lock" it. One of them has to wait. In this scenario, multiple leads are coming in at the same time or something else is modifying the campaign (ex: import, data loader, manual hierarchy recalc, etc.) at the same time therefore this particular lead has to wait longer. At some point it gives up ("WAIT timeout") and that's when this email is sent. 

To fix this issue going forward, try to minimize processes that updates the campaigns during the entry of the records.

promote demote