I can't compile in D1IM_v7 due Wait for DBQueue Processor

I'm getting a windows message Wait for DBQueue processor and I can't proceed with the compilation.

I checked JobQueue Configuration & some other setting and still the same issue.

Does anyone have any idea how to fix it or what's going on?  Below some screenshots.

Also, I noticed this error in the SQL Server which might be related.

  • You should not start the QBM_PDBQueueProcess_Main SQL Agent job manually. The start will be triggered and monitored by the Watchdog SQL Agent Job.

    It would be helpfull if you could check if your SQL Agent Job where executed at all. You could use the following statements to do that:

    --get the last activity on the schedule.

    --please note: is there is a row where 1st column is not null and 2nd column is null -> a DBScheduler agent is currently running AND NO additional session will be started

    -- check for watch dog is triggered frequently

    SELECT A.start_execution_date, A.stop_execution_date, j.name, j.enabled

    FROM msdb..sysjobs J

    JOIN msdb..sysjobactivity A ON A.job_id = J.job_id

    WHERE j.name LIKE 'QBM_PWatchDog%'+DB_NAME()

    ORDER BY 2,1

    -- check for DBQueueProcess MAIN is executed frequently(dbqueue job distributor)

    SELECT A.start_execution_date, A.stop_execution_date, j.name, j.enabled

    FROM msdb..sysjobs J

    JOIN msdb..sysjobactivity A ON A.job_id = J.job_id

    WHERE j.name LIKE 'QBM_PDBQueueProcess_MAIN%'+DB_NAME()

    ORDER BY 2,1


    In Addition you check if there are any jobs in the DBQueue at all:

    --show db queue entries as used in frontends

    SELECT *

    FROM QBMDBQueueOverview


    HtH

     

     

  • Hi Markus,

    This is the error that sql gives everytime the process tries to run. Not manually, with the agent


    Msg 50000, Sev 18, State 1, Line 113 : 50000 0 detected in (SRV=S-DAL, DB=D1IM) Procedure QBM_PDBQueueProcess_Main, Line 30 50000 0 starting QBM_PDBQueueProcess_Main unlimited is only allowed as an agent job [SQLSTATE 42000]

    If I execute a process or save person records, I can see the Job Queue processing those jobs. Also, I got an information that on the same day I got this issue the DB administrator install another SQL Instance on the same server. Don't know if this new instance might be causing the issue or not.

  • As i said, you should not start the QBM_PDBQueueProcess_Main SQL Agent job manually. The start will be triggered and monitored by the Watchdog SQL Agent Job.

    The error message is stating exactly that, it cannot be started manually.

    You can try to take a look at the history of the SQL Agent Task "QBM_PDBQueueProcess_Main" to check if it will be started regulary.

    Or use the SQL as provided.

  • I am not starting it manually. I am seeing where the watchdog runs it every few seconds and it is failing. I just ran it manually to try and get an error message. It is running over and over again like it is supposed to and failing every time. I just can not find out how to see what the error message is when it fails.

  • I have run into this issue after increasing the number of CPUs. "Wait for DB Queue processor"

    In SSMS I see the following...

    Note: "agent not exists (queue prepare missing): QBM_PDBQueueProcess009"

    As a workaround, I lowered the CPU back down to the previous setting. I have heard there may be a method to force recalculation of agents to match the added queue based on current CPU count.

  • Just, for clarification. You added another CPU to your system and then these Errors occur? Or did you do anything in addition?

    You could use the following SQL statements to remove and reinstall the SQL Agent Jobs:

    -- First check if there are sessions used by the DBProcessor. If so wait for them to be finished
    SELECT spid, PROGRAM_NAME, login_time, hostname
    FROM sys.sysprocesses
    WHERE PROGRAM_NAME LIKE 'SQLAgent%'
    AND dbid = DB_ID()
     
    -- if you need to remove the sql agents for D1IM, exec:
     
    EXEC QBM_PWatchDogPrepare 1
    GO
     
    EXEC QBM_PDBQueuePrepare 1
    GO

    -- To re-initialize the sql agents for D1IM, exec:
     
    EXEC QBM_PWatchDogPrepare 0
    GO
     
    EXEC QBM_PDBQueuePrepare 0, 1
    GO

     

     

  • CPUs were increased from 4 to 8 and then in Web Designer some QPM Integration settings were changed and published. Then the "Wait for DB Queue processor" was noticed.

  • Hi Markus,

             When I executed re-initialize exec statements, system generated Jobs with 'on D1IM'.  But my Database Name is like D1IMX.  Just want to confirm Is that Name matters? How can i create Job s like 'QBM_PDBQueueProcess_Del on D1IMX'?

    Thanks.

  • Check the SQL Agent Jobs if they are exectued against the correct database on your System.

  • Hi Markus,

        I forgot write in my previous post that,  When i executed command, system created Jobs with D1IM and D1IMP.

    Example: QBM_PDBQueueProcess_Del on D1IM   &  QBM_PDBQueueProcess_Del on D1IMP

    But I don't have database called D1IM, I just have D1IMP.

    Thanks