Overview
The application database frequently encounters deadlock issues, with the following query constantly appearing in the database logs:
UPDATE jiveStatusLevelPntSum ps, (SELECT userID, sum( points ) AS sm
FROM jiveStatusLevelPnt slp
WHERE slp.userID > 0
AND EXISTS
(SELECT userID FROM jiveStatusLevelPntSum sub WHERE slp.userID = sub.userID
AND sub.containerID = 1 AND sub.containerType = 14 AND dirty = 1
AND pointLevel > 0) GROUP BY slp.userID ) lc
SET ps.pointLevel = lc.sm, ps.dirty = 0
WHERE ps.userID = lc.userID AND ps.containerType = 14 AND ps.containerID = 1;
This article describes possible solutions to this issue.
Environment
Jive On-Premise.
Information
Jive versions greater than or equal to 9.4
Run the following queries on the application database:
OPTIMIZE TABLE jiveStatusLevelPnt;
OPTIMIZE TABLE jiveStatusLevelPntSum;
If you are using a MySQL database, review the innodb_buffer_pool_size value. Ideally, this should be between 50-75% of the system RAM.
Jive versions prior to 9.4
Upgrading to the latest version of Jive will address the cause of this issue. As a workaround, the issue may be mitigated by following these steps:
- Browse to the Admin Console > System.
- Click on System properties.
- In the Property Name textbox at the top of the page, paste in: statusLevels.calculator.user.delayedCalculation.enabled
- In the Property Value textbox below it, paste in: true
- Click on the Save Property button.
- In the Property Name textbox at the top of the page, paste in: userPointLevel.updateInterval.seconds
- In the Property Value textbox below it, paste in: 1800
- Click on the Save Property button.
- In the Property Name textbox at the top of the page, paste in: statusLevelLeaders.updateInterval.seconds
- In the Property Value textbox below it, paste in: 1800
- Click on the Save Property button.
- Schedule a time to perform a full restart of your Jive environment.
Comments
0 comments
Article is closed for comments.