EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB9289: Why do jobs wait in queue while higher priority database threads are available in MicroStrategy Intelligence Server 9.x and 10.x?


Community Admin

• Strategy


Why do jobs wait in queue while higher priority database threads are available in MicroStrategy Intelligence Server 9.x and 10.x?

SYMPTOM:
In the Strategy Intelligence Server 9.x and 10.x Job Monitor, a user notices that jobs remain in queue and do not execute while there are free database threads. Consider the following example:
 
There are 5 high, 10 medium and 10 low priority database threads set. The job monitor had 10 jobs executing with low priority and 13 waiting in queue with low priority. There were no medium or high priority jobs running. Why would the reports in queue not execute using one of the other priority threads?
 
CAUSE:
Strategy Intelligence Server engages in connection borrowing. Connection borrowing allows a job to run on a lower priority connection when no connections corresponding to the jobs' priority are available at execution. This feature is called 'borrow low'. However, 'borrow high' is not allowed. In other words, a low priority job can't run on a medium or high thread and a medium priority job can`t use a high priority thread. Such a mechanism can guarantee higher priority jobs a better chance of getting a database thread.
 
In the example mentioned above, all low priority threads are used. Although some medium and high threads are available, to use them is to implement 'borrow high', which is not allowed in Strategy Intelligence Server.
 
ACTION:
To avoid wasting database threads and expedite processing of low priority jobs, administrators may want to decrease the number of medium and/or high priority threads and increase the number of low priority threads. In that case, some medium or high priority jobs may not be executed due to the lack of threads.
What happens if all low priority threads are used and there is no low priority thread to be borrowed?
Administrators may also increase the number of low priority threads without decreasing the number of medium/high priority threads. However, in this case, more memory is used because every connection requires 1MB of Random Access Memory (RAM) on the Strategy Intelligence Server.
 
Administrators are advised to compare the benefits and drawbacks of each option and configure database thread prioritization based on system use patterns.
 
 


Comment

0 comments

Details

Knowledge Article

Published:

June 4, 2017

Last Updated:

June 4, 2017