Products
ZENworks Patch Management (ZPM),ZENworks Configuration Management (ZCM)
Environment
ZENworks 23.4ZENworks Patch Management (Advanced)
Situation
For Advanced ZPM, the Maintenance Status shows Failed status under ZCC | Security | Patch Server ConfigurationMaintenance Status: | Failed |
Ensure that Messaging Library Logging is configured on the ZENworks Patch Server as per KB KM000024319 , and Patch Primary Server is set to full debug as per KM000005093
Ensure that the Patch License Status in ZCC shows as Valid.
Note the time when daily Maintenance is scheduled to run, or manually start using the "Run Maintenance Now" option in ZCC. Check loader-messages.log on the Patch Server for the below errors, when the Patch Maintenance fails.
Symptom #1: Random Patch Maintenance failures due to TimeoutException: Acknowledgement could not be received within 600 sec
[DEBUG] [04/26/2024 13:39:38.562] [16] [ZENLoader] [272] [] [PatchRunMaintenanceMessageProducer] [] [Sent message to patch microservice to initiate maintenance activities] [] [] [] [ZENServer] [TRACE] [04/26/2024 13:49:39.117] [16] [ZENLoader] [272] [] [PatchRunMaintenanceMessageProducer] [] [Some exception happened while performing maintenance activities : java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: Acknowledgement could not be received within 600 sec at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at com.microfocus.zenworks.patch.message.producer.PatchRunMaintenanceMessageProducer.sendMessageToPatchMicroserviceToRunMaintenance(PatchRunMaintenanceMessageProducer.java:54) at com.microfocus.zenworks.patch.loader.modules.queue.handlers.PatchRunMaintenanceQueueActionHandler.processAction(PatchRunMaintenanceQueueActionHandler.java:68) at com.novell.zenworks.loader.modules.queue.runner.QueueThreadWorker.processAction(QueueThreadWorker.java:228) at com.novell.zenworks.loader.modules.queue.runner.QueueThreadWorker.run(QueueThreadWorker.java:149) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) Caused by: java.util.concurrent.TimeoutException: Acknowledgement could not be received within 600 sec at com.microfocus.zenworks.messaging.producer.RDBMSAcknowledgementPollerService.call(RDBMSAcknowledgementPollerService.java:91) at com.microfocus.zenworks.messaging.producer.RDBMSAcknowledgementPollerService.call(RDBMSAcknowledgementPollerService.java:30) at java.util.concurrent.FutureTask.run(FutureTask.java:266) ... 3 more ] [] [] [] [ZENServer] [DEBUG] [04/26/2024 13:49:39.118] [16] [ZENLoader] [272] [] [Loader.QueueRunner] [] [Handler finished processing action ID: 2301012, Type: patch.run.maintenance, Status: false] [] [] [] [ZENServer]
Additionally, check in the patch-management.log for the same timestamp if the patch-management is unable to send a message (dau.bundle.create.loader.service) to zenloader microservice as per the below example where it timed out in 300 sec
[DEBUG] [2024-04-26 13:39:49] [pool-21-thread-1] [11] [Patch-Management] [20916] [MaintenanceActivityDelegateMessageProducer] [Sending message to loader 02162fb6e824955bb3b7365378ddc10b to get dau.bundle.create.loader.service] [WARN ] [2024-04-26 13:44:49] [pool-21-thread-1] [11] [Patch-Management] [20916] [PatchRunMaintenanceMessageConsumer] [Sending message to loader has failed] java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException: Acknowledgement could not be received within 300 sec Caused by: java.util.concurrent.TimeoutException: Acknowledgement could not be received within 300 sec
Symptom #2: PatchRunMaintenanceMessageProducer module throws the below message
Insert message into database failed
[DEBUG] [04/19/2024 03:00:02.997] [17] [ZENLoader] [7045] [] [Loader.QueueRunner] [] [Passing the action ID: 3997499, Type:patch.run.maintenance to Handler: com.microfocus.zenworks.patch.loader.modules.queue.handlers.PatchRunMaintenanceQueueActionHandler] [] [] [] [ZENServer] [TRACE] [04/19/2024 03:00:03.348] [17] [ZENLoader] [7045] [] [PatchRunMaintenanceMessageProducer] [] [Some exception happened while performing maintenance activities : com.microfocus.zenworks.messaging.exception.MessagingServiceException: Insert message into database failed at com.microfocus.zenworks.messaging.producer.RDMSMessagingProducer.sendMessageWithAck(RDMSMessagingProducer.java:69) at com.microfocus.zenworks.messaging.library.Producer.sendMessageWithAck(Producer.java:130) at com.microfocus.zenworks.patch.message.producer.PatchRunMaintenanceMessageProducer.sendMessageToPatchMicroserviceToRunMaintenance(PatchRunMaintenanceMessageProducer.java:51) at com.microfocus.zenworks.patch.loader.modules.queue.handlers.PatchRunMaintenanceQueueActionHandler.processAction(PatchRunMaintenanceQueueActionHandler.java:68) [DEBUG] [04/19/2024 03:00:03.348] [17] [ZENLoader] [7045] [] [Loader.QueueRunner] [] [Handler finished processing action ID: 3997499, Type: patch.run.maintenance, Status: false] [] [] [] [ZENServer]
Symptom #3: PatchMessagingModule throws the below MessagingServiceException in case of an embedded PostgreSQL database. The Messaging Library is unable to initialize correctly due to insufficient database connections.
[ZENLoader] [84] [] [Loader.PatchMessagingModule] [] [com.microfocus.zenworks.messaging.exception.MessagingServiceException: Unable to connect to datasource at com.microfocus.zenworks.messaging.library.MessagingLibrary.initializeConsumers(MessagingLibrary.java:82) com.microfocus.zenworks.patch.loader.modules.PatchMessagingModule.initializePatchModuleInLoaderServiceHandler(PatchMessagingModule.java:109) com.microfocus.zenworks.patch.loader.modules.PatchMessagingModule.initialize(PatchMessagingModule.java:69) com.novell.zenworks.loader.ZENModuleThread.run(ZENModuleThread.java:69)
Find resolution on support portal here