Issue
The database disk is full of many records in the system$queuedtask table that are of Idle status, and this table has grown significantly over time.
Environment
Applications hosted in all deployment types
Cause
Records with the Idle status in the system$queuedtask table are queued tasks that are still waiting to be executed by the Mendix Runtime. The large volume of records is caused by the application logic creating more queued tasks than are being executed, resulting in continuous growth of the table and the associated database storage.
As tasks are run, Completed tasks will move to the ProcessedQueueTask table, where they will be removed depending on the com.mendix.core.ProcessedTasksCleanupAge and com.mendix.core.ProcessedTasksCleanupBatchSize runtime setting.
However, for the tasks to be cleaned up, they must be executed and moved to the ProcessedQueueTask table, otherwise they will persist in the Queued Task table.
Solution / Workaround
To resolve this behavior, the underlying performance bottleneck must be addressed. Some options include: increasing the amount of instances, increasing the amount of threads for the queue that is used for these tasks, or reconfiguring the tasks to be less number but with more actions in each task. Additionally, CPU and database constraints may limit the ability for the environment to execute these tasks, in which case increasing resources can help as well.
Checking performance metrics will help in analyzing where the botttleneck lies, whether with queue configuration or a resource problem on the environment.
Once the performance bottleneck is addressed, the runtime will handle the backlog of tasks, with the oldest tasks being pickup up first.
Internal information related
- 287496, 279034
- C3T260XGA/p1779805333233099
Additional information
- Mendix documentation:
0 Comments