× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Jim Damato wrote:
<<SNIP>>

Does anyone know a way to control the SMP query degree setting at a level that is less granular than job, but more granular than the system? We want to test a number of job streams. Many of these jobs submit dozens of jobs of their own. I don't want to have every job on the system running with an *OPTIMIZE value for query degree, but I can't possibly manage to hit every job or CL job stream I'd need to reach in our test.


Some thoughts.

IMO the application has a problem [in its design\coding] if there is not the ability to ensure finding all work\jobs activated and by what. That issue should probably be pursued irrespective of how the test is eventually worked out. The application program(s) should of course be able to set whatever attributes for its threads\job that it desires, for the length of time it desires. For example, if the submitted jobs are CALL of CL wrappers, the easiest is to modify each of those programs to make the decision for what they run; it could be an application data area that each checks to determine the library name of the QAQQINI file to use. The application program(s) may instead be submitting the jobs of CALL requests directly to various [non-wrappered] query programs, so possibly instead look at job routing.

Routing data and routing program. This is probably ideal, because an application should already be using its own work management; thus simply tweaking the already established JOBQ,SBSD,JOBD,etc. could have just one changed routing program. If not by specific routing data, then even if there is something about the submitted job [e.g. user or job name] could identify which jobs should run with a specific setting, establish a replacement routing program for the current default routing. That routing program would first perform the desired CHGQRYA, according to whatever is the defining characteristic for activating that CHGQRYA, before TFRCTL to QCMD.

Another option [subpar choice IMO] is to use the Query Governor Exit program for QRYTIMLMT [i.e. established by QQRYTIMLMT sysval] forced to zero, to enable a similar decision as a generic routing program might. Ideally all other jobs would be established to increase their time limit to avoid the exit program entirely; obviously more complex, if the query time limit and\or the exit program is already being utilized.

I do not recall if there is a restriction on CHGQRYA JOB(another) for a job that is either on a JOBQ or which is held, but the programs which issue SBMJOB could retrieve the *LAST message and then issue a CHGJOB on the job that was just submitted. Might be possible to HLDJOBQ first, then issue the CHGQRYA before RLSJOBQ, to ensure the CHGQRYA is enabled since the job being routed [like w/ routing program].

I presume, at least hope, that the Database Open Exit program runs before the database open feature actually establishes the QRYDEGREE for the open it is about to perform. If so then another possibility is to use that exit program to make the decision and set the query attributes according either to similar criteria that might be used for the Query Governor, or even with the file name being opened. This exit program is also IMO subpar choice for use.

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.