Financial Management Blogs by SAP
Get financial management insights from blog posts by SAP experts. Find and share tips on how to increase efficiency, reduce risk, and optimize working capital.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member182709
Contributor
12,868

I see a lot of people encountered error "Error obtaining concurrency lock (foreign_lock)" when running data package, even when sending data from EPM Add-in.  If you are on BPC on HANA, you may see the error "Database returned the SQL code 131. Error text: transaction rolled back by lock wait timeout: Lock timeout occurs while waiting RECORD_LOCK of mode EXCLUSIVE(TRANSACTION_ID=70,UPDATE_TRANSACTION_ID=325118715)"


By searching SAP KBA/Note, you may get solution that increase value of RECLEVEL_NR to make it larger than another parameter PACKAGE_SIZE. Actually, this is wrong, make it even worse. (Therefore, this kba is not visible to customer, but you still can find it by Google. On other websites, see http://www.saptechies.com/runlogic-error-obtaining-concurrency-lock-foreignlock-bpc-n/ ).



Now, let's see what RECLEVEL_NR means. Below is the description from BPC admin guide.

See what you found, the default value is 10. Not like what is mentioned in that KBA - it should be bigger than PACKAGE_SIZE(which is wrong). According to the description, the record-based locking will be performed if the number of the records is less or equal to the value you set. If you change RECLEVEL_NR larger(e.g. 42000) than package_size(which has default value 40000) , every time the data generated by your package or EPM Add-in nearly reaches to 42000, 42000 records locking will be performed on your BI server. If your BI server is not strong enough, the locking may fail to implement the lock.  As a result, you will see error "Error obtaining concurrency lock (foreign_lock)".

So next time you see this error, you can try to change the value of RECLEVEL_NR to default value 10. To change the value, you can follow the steps below.

  1. Logon ABAP server.
  2. Execute transaction SPRO ->SAP reference IMG ->Planning and consolidation ->Configuration parameters ->Set model parameters
  3. Find Environment/Model.
  4. Edit parameter RECLEVEL_NR

By the way, changing the parameter doesn't release the lock. It just prevents the lock issue from happening again. As an option, you can restart the BW server to release the lock.

If this error still persists, this error may be caused by product bugs. You can try to apply notes.

Note 1923357 - DM packages failed due to concurrency lock

Note 1748701 - Deadlock RSPCSYNCLOG/RSPCLOGCHAIN for parallel InfoPackages.

BW Note fix updated on Nov 26, 2016.

Note 2169532 - P35: DTP: Deadlock DTPREQUEST check state with H observer

Note 2172634 - P35: ENQUE: Lock manager: Check_Tstate when checking request

Note 2179576 - 730SP14:SQL error 131 when accessing table "RSDD_TMPNM_ADM" during master data update...

Note 2091899 - P34: DTP: Deadlock between loading and extracting with DTP

There are two KBAs as well regarding this error.

1960682    RUN_LOGIC : Error obtaining concurrency lock (foreign_lock) - BPC NW

2015143 - Error obtaining concurrency lock (foreign_lock) - the latest version in BPC 10.0 NW

6 Comments