Salesforce

Database Request Statement Cache the database crashed error 15750

« Go Back

Information

 
TitleDatabase Request Statement Cache the database crashed error 15750
URL Name000046074
Article Number000114207
EnvironmentProduct: OpenEdge
Version: 10.2Bx, 11.x
OS: All supported platforms
Other: Statement Caching
Question/Problem Description
After disabling Database Request Statement Cache the database crashed error 15750.
PROMON > R&D > 1. Status Displays > 18. Client Database-Request Statement Cache > 5. Deactivate For All Users
PROMON > R&D > 1. Status Displays > 18. Client Database-Request Statement Cache > 6. Deactivate For All Future Users


Prior to disabling connected users were hung waiting for STCA latch. 
Steps to Reproduce
Clarifying Information
DB Request Statement Cache previously activated for all users and all future users.
No core files generated.
No protrace files generated.
Error MessageSYSTEM ERROR 1: ST cache for user <num> is locked by pid/tid <pid>/<tid> and not by this user <num+x>
(15750) SYSTEM ERROR: Statement caching unlock operation performed without a prior lock operation.
Defect NumberDefect PSC00286145
Enhancement Number
Cause
A race condition between a user logging out and the management of the Statement Cache lock on that user control structure by another user:

A user querying the statement cache vstFetch() for another user that is in the process of logging out will without regard free the statement cache lock. While there is code to protect against a failure in this situation, however, since the lock is freed, it allows another user to lock that disconnected usrctl's statement cache. When the first user attempts to unlock the statement cache it previously had locked, it sees the lock owned by another user.
Resolution
Upgrade to OpenEdge 11.3.3 or later
Upgrade to OpenEdge 11.4.0 or later

The fix covers the following aspects:
  • Contention on Statement Cache locks when a user already being monitored via statement cache is logging out is fixed.
  • When clearing the usrctl for a user being monitored, any outstanding wait requests are awoken to prevent a hang situation, by performing a wakeup of statement lock waiters when clearing a usrctl at logout to prevent other client's being monitored from hanging on the STCA latch .
  • Additionally, a Statement Lock viewing option was added to PROMON to view the current lock status:
​​​PROMON > R&D > 1. Status Displays > 18. Client Database-Request Statement Cache > 10. Database statement cache locks
Workaround
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:24 AM

Powered by