-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Private Memory on Db2 results in -930 errors at load #1527
Comments
Solution defined, need to review approach with Teammembers. |
This error is only on the Db2 and isolated to the Db2 stored procedure - add_any_resource. Scenario - Load a Bundle with multiple if not hundreds of resources in a simultaneous way within a single Connection - Note, the Bundle can be set as Transaction or Batch. - Db2 with 8GB of memory without INSTANCE_MEMORY=Automatic - The simultaneous load with ~10 to 20 threads. - The result is *SQL0930N There is not enough storage available to process the statement*. In the underlying Memory Allocation, the 2GB size cause a block of memory to be reserved, where it accumulates. So if a new large request comes up requiring substantial chunk of memory, this chunk can only be freshly acquired from so far unused range of addresses, or it may fail. If the p_payload is lowered to 10M, then the code operates as expected and the same workload can function with 200 threads. Note, it's dependent on the number of CALL to add_any_resource. This PR is opened to discuss in more detail on an approach. I'd like to lower the 2GB to 10M. If needed we can branch to a LARGE size Stored Procedure if the file is larger than 10M. Reference: https://www.ibm.com/support/pages/db2-content-management-application-may-receive-sql0930n Signed-off-by: Paul Bastide <pbastide@us.ibm.com>
Copying robin's proposal from the PR discussion:
|
- Implement recommendations from Code Review - Add Tests - Explicit setting for the BLOB size Signed-off-by: Paul Bastide <pbastide@us.ibm.com>
Signed-off-by: Paul Bastide <pbastide@us.ibm.com>
Signed-off-by: Paul Bastide <pbastide@us.ibm.com>
Signed-off-by: Paul Bastide <pbastide@us.ibm.com>
Describe the bug
Private Memory on Db2 results in -930 errors at load
Further, the package cache and catalog cache runs out of space in a shared memory environment.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Solution
SELECT * FROM SYSIBMADM.DBCFG WHERE NAME='pckcachesz';
CALL SYSPROC.ADMIN_CMD ('update db cfg for bludb using pckcachesz 25000 AUTOMATIC');
SELECT * FROM SYSIBMADM.DBCFG WHERE NAME='pckcachesz';
SELECT * FROM SYSIBMADM.DBCFG WHERE NAME='catalogcache_sz';
CALL SYSPROC.ADMIN_CMD ('update db cfg for bludb using catalogcache_sz 3000');
SELECT * FROM SYSIBMADM.DBCFG WHERE NAME='catalogcache_sz';
You must restart the appserver after the change.
Additional context
Debugged in IBM Cloud
The text was updated successfully, but these errors were encountered: