Skip to main content
pdf?stylesheet=default
Blackboard Help

Performance Improvements

As part of the release, performance optimizations are introduced back into the product as a result of a customer issue or internally found problem. The Blackboard Performance Engineering team is responsible for refactoring under-performing areas of the application and verifying regression improvements based on the optimization.


System

LRN-62082:USER_MAPPING high buffer busy waits

BbConnect user plugin USER_MAPPING queries were slow because of a missing index on the USERS_PK1 column.

LRN-62763:Extreme load spike for SYSTEM_ROLES_ENTITLEMENT, SYSTEM_REGISTRY, and COURSE_ROLES_ENTITLEMENT tables

The SYSTEM_ROLES_ENTITLEMENT, SYSTEM_REGISTRY, and COURSE_ROLES_ENTITLEMENT tables were not being cached per entry causing frequent cache invalidations and high database cpu utilization.

LRN-61961:CacheEhImpl uses default EhCache manager due to bug in buildCacheManager

Using the default cache manager could allow other cache frameworks to misuse the cache infrastructure; refactoring to stop using the default EhCache manager will avoid future issues.

LRN-62125:Contention detected around the table PEER_SERVICE after having applied patch for LRNSI-9456

Peer_service entries were being marked as inactive too frequenently which caused contention while trying to update the table. This was resolved by removing unnecessary calls to mark rows as inactive.

LRN-62662, LRN-62659, & LRN-62659:High CPU due to HashMap concurrency issues in TaskManagerService

High CPU caused by using a HashMap that is not thread safe; changed to use ConcurrentHashMap instead.

LRN-62082:USER_MAPPING high buffer busy waits

BbConnect user plugin USER_MAPPING queries were slow because of a missing index on the USERS_PK1 column.

LRN-61961:CacheEhImpl uses default EhCache manager due to bug in buildCacheManager

Using the default cache manager could allow other cache frameworks to misuse the cache infrastructure; refactoring to stop using the default EhCache manager will avoid future issues.

LRN-53904:Repeated ETL_AA failure and extreme TEMP tablespace usage (ORA-1652)

The Activity Accumulator ETL process failed due to high TEMP tablespace usage. The ETL process was refactored to reduce the TEMP tablespace footprint.


Course Delivery

LRN-62705:Move the attempt_attempt_bitrg trigger logic to attempt_cr

The attempt_attempt_bitrg trigger appeared to perform very slowly so the logic was moved into the attempt_cr stored procedure.


Content Collection

LRN-63756:Test pool import takes much longer than expected

Unnecessary QTI activity during test pool imports coupled with a hard coded query that prevented in the field query tuning caused extremely slow test pool imports.

LRN-61019:Massive overhead caused by Recycle Bin implementation

Synchronous, real-time recycle bin folder creation coupled with recursive sub-directory update of recycle bin contents cause a massive number of unnecessary recycle bin queries.