Page 1 of 1

ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 12:18 pm
by tuxmin
Hello everyone,

I updated to 25.04 today, and since then I see
Jobqueue status: 1 errorneous jobs (DBCleaner)
in OST status page.
Looking deeper into catalina.out, I found repeating messages like
2025-09-26 11:14:05,622: ERROR [quartzScheduler_Worker-3] com.agnitas.service.JobQueueService - ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

So I checked the DB, and indeed, there is no date set for the DBCleaner

Code: Select all

MariaDB [openemm]> select ID,description,nextstart from job_queue_tbl;
+----+------------------------------------+---------------------+
| ID | description                        | nextstart           |
+----+------------------------------------+---------------------+
|  2 | BirtReports                        | 2025-09-26 11:40:00 |
|  3 | LoginTrackTableCleaner             | 2025-09-26 12:00:00 |
|  4 | DBCleaner                          | NULL                |
|  5 | CalendarCommentMailingService      | 2025-09-26 12:00:00 |
|  6 | DeletedContentblockCleaner         | 2025-09-27 01:35:00 |
|  7 | UndoRelictCleaner                  | 2025-09-27 01:30:00 |
|  8 | AutoOptimization                   | 2025-09-26 11:40:00 |
|  9 | DBErrorCheck                       | 2025-09-26 12:00:00 |
| 10 | WebserviceLoginTrackTableCleaner   | 2025-09-26 12:00:00 |
| 11 | RefreshUserLastLogin               | 2025-09-26 12:00:00 |
| 12 | AnonymizeStatistics                | 2025-09-27 00:00:00 |
| 13 | WorkflowReminderService            | 2025-09-26 11:40:00 |
| 14 | WorkflowReactionHandler            | 2025-09-26 11:40:00 |
| 16 | WorkflowStateHandler               | 2025-09-26 11:40:00 |
| 17 | DiskSpaceCheck                     | 2025-09-26 12:00:00 |
| 18 | MigrationJobWorker                 | 2025-09-26 15:00:00 |
| 19 | UpdatePasswordReminder             | 2025-09-27 08:00:00 |
| 20 | WebhookMessageDelivery             | 2025-09-26 11:38:00 |
| 23 | WebhookBackendDataMessageGenerator | 2025-09-26 11:38:00 |
Let's add some :)

Code: Select all

MariaDB [openemm]> update job_queue_tbl SET nextstart="2025-09-26 12:00:00" where description="DBCleaner";
Query OK, 1 row affected (0.001 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [openemm]> select ID,description,nextstart from job_queue_tbl;
+----+------------------------------------+---------------------+
| ID | description                        | nextstart           |
+----+------------------------------------+---------------------+
|  2 | BirtReports                        | 2025-09-26 11:45:00 |
|  3 | LoginTrackTableCleaner             | 2025-09-26 12:00:00 |
|  4 | DBCleaner                          | 2025-09-26 12:00:00 |
|  5 | CalendarCommentMailingService      | 2025-09-26 12:00:00 |
|  6 | DeletedContentblockCleaner         | 2025-09-27 01:35:00 |
|  7 | UndoRelictCleaner                  | 2025-09-27 01:30:00 |
|  8 | AutoOptimization                   | 2025-09-26 11:45:00 |
|  9 | DBErrorCheck                       | 2025-09-26 12:00:00 |
| 10 | WebserviceLoginTrackTableCleaner   | 2025-09-26 12:00:00 |
| 11 | RefreshUserLastLogin               | 2025-09-26 12:00:00 |
| 12 | AnonymizeStatistics                | 2025-09-27 00:00:00 |
| 13 | WorkflowReminderService            | 2025-09-26 11:45:00 |
| 14 | WorkflowReactionHandler            | 2025-09-26 11:45:00 |
| 16 | WorkflowStateHandler               | 2025-09-26 11:45:00 |
| 17 | DiskSpaceCheck                     | 2025-09-26 12:00:00 |
| 18 | MigrationJobWorker                 | 2025-09-26 15:00:00 |
| 19 | UpdatePasswordReminder             | 2025-09-27 08:00:00 |
| 20 | WebhookMessageDelivery             | 2025-09-26 11:42:00 |
| 23 | WebhookBackendDataMessageGenerator | 2025-09-26 11:42:00 |
+----+------------------------------------+---------------------+
That sort of fixed it, the messages went away, however, shortly after the set date, it starts all over again

Code: Select all

2025-09-26 12:00:48,572: ERROR [quartzScheduler_Worker-8] com.agnitas.service.JobQueueService - Cannot create worker for queued job #4
java.lang.ClassNotFoundException: com.agnitas.util.quartz.DBCleanerJobWorker
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332) ~[catalina.jar:10.1.25]
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1144) ~[catalina.jar:10.1.25]
        at java.base/java.lang.Class.forName0(Native Method) ~[?:?]
        at java.base/java.lang.Class.forName(Class.java:375) ~[?:?]
        at com.agnitas.service.JobQueueService.createJobWorker(JobQueueService.java:304) ~[classes/:?]
        at com.agnitas.service.JobQueueService.checkAndStartNewWorkers(JobQueueService.java:208) [classes/:?]
        at com.agnitas.service.JobQueueService.checkAndRunJobs(JobQueueService.java:119) [classes/:?]
        at com.agnitas.service.JobQueueQuartzJob.executeInternal(JobQueueQuartzJob.java:29) [classes/:?]
        at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:75) [spring-context-support-6.2.2.jar:6.2.2]
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar:?]
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar:?]
2025-09-26 12:01:48,520: ERROR [quartzScheduler_Worker-9] com.agnitas.service.JobQueueService - ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner    
        
Looking at the timestamp in the DB, it is NULL again.

Re: ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 12:38 pm
by maschoff
Please show us the complete entry for description "DBCleaner" and tell us which exact version of OpenEMM you use.

Re: ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 1:54 pm
by tuxmin
Hi, thanks for the quick reply.
Here's the requested in formation:

Code: Select all

=============================================
= OpenEMM Support Tool (OST) v25.04.000.105 =
=============================================
Root mode: On
Hostname: xxx
Free diskspace: 98.2 % (of 4.94 GiB)
OpenEMM License: OpenEMM (ID: 0)
OpenEMM Runtime Version: 25.04.000.105
OpenEMM Version: 25.04.000.171
OpenEMM Manual Version: 25.04.001
System-Url: https://xxx

Code: Select all

     MariaDB [openemm]> select * from job_queue_tbl where description="DBCleaner"\G
*************************** 1. row ***************************
             id: 4
    description: DBCleaner
        created: 2025-03-10 12:22:45
      lastStart: NULL
        running: 0
     lastresult: Cannot create worker: ClassNotFoundException: com.agnitas.util.quartz.DBCleanerJobWorker
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1144)
java.base/java.lang.Class.forName0(Native Method)
java.base/java.lang.Class.forName(Class.java:375)
com.agnitas.service.JobQueueService.createJobWorker(JobQueueService.java:304)

startAfterError: 1
   lastDuration: 0
       interval: 0000
      nextstart: NULL
       hostname: xxx
       runClass: com.agnitas.util.quartz.DBCleanerJobWorker
 runOnlyOnHosts: NULL
   emailOnError: NULL
        deleted: 0
    job_comment: DbCleaner running from 0-3am, Do not change intervalpattern Except ISMF has ordered changing!
    criticality: 2
   acknowledged: 0
1 row in set (0.001 sec)

                                                                                                                                                                                                                                                                                                                                                                                                                                         

Re: ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 2:07 pm
by maschoff
Class DBCleanerJobWorker is not part of OpenEMM. Please execute

Code: Select all

DELETE FROM job_queue_result_tbl WHERE job_id = (SELECT id FROM job_queue_tbl WHERE description = 'DBCleaner');
DELETE FROM job_queue_tbl WHERE description = 'DBCleaner';
INSERT INTO agn_dbversioninfo_tbl (version_number, updating_user, update_timestamp) VALUES ('21.10.279', CURRENT_USER, CURRENT_TIMESTAMP);
in your MariaDB database to fix this. We will check our DB scripts to make sure this job is removed from OpenEMM.

Re: ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 2:27 pm
by tuxmin
I see.

The 1st command excutes
MariaDB [openemm]> DELETE FROM job_queue_result_tbl WHERE job_id = (SELECT id FROM job_queue_tbl WHERE description = 'DBCleaner');
Query OK, 0 rows affected (0.002 sec)

but the 2nd fails
MariaDB [openemm]> DELETE FROM job_queue_tbl WHERE description = 'DBCleaner';
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails (`openemm`.`job_queue_parameter_tbl`, CONSTRAINT `job_queue_parameter_tbl_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `job_queue_tbl` (`id`))

Sorry, I'm not sure how to resolve this... my SQL skills are limited...

Re: ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 2:49 pm
by maschoff
Try

Code: Select all

DELETE FROM job_queue_parameter_tbl WHERE job_id = (SELECT id FROM job_queue_tbl WHERE description = 'DBCleaner');

Re: ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 3:01 pm
by tuxmin
Nice :)
Thanks for the fix!

Re: ERROR: Missing value for field nextstart in table job_queue_tbl for JobWorker DBCleaner

Posted: Fri Sep 26, 2025 3:18 pm
by maschoff
+1