In the windows event logs and repository logs you will see:
The description for Event ID '0' in Source 'PostgreSQL' cannot be found. The local computer may not have the necessary registry information or message DLL files to display the message, or you may not have permission to access them. The following information is part of the event:'ERROR: duplicate key value violates unique constraint "ix_sensemq_target_topic_messageid"
DETAIL: Key (target, topic, messageid)=(AppDistributionService, app.update, 7e7abe2a-4c24-4d95-9ad9-75cba8d7157d) already exists.
STATEMENT:
INSERT INTO sensemq (id, messageid, messagetype, createddate, expirydate, source, target, topic, data)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)
Environment
- Multi-node Qlik Sense older than May 2021 Patch 2
Resolution
Best solution is to upgrade to Qlik Sense May 2021 Patch 2 and beyond, where R&D made an improvement for conflict handling when adding a message to the QSMQ queue.
If an upgrade would take some time, implement the workaround listed here. This workaround only works if no Qlik Sense SaaS services are used in combination with Qlik Sense Enterprise
1. Edit C:\Program Files\Qlik\Sense\ServiceDispatcher\services.conf
2. Modify it with following (notice second line):
[resource-distribution]
Disabled=true
Identity=Qlik.resource-distribution
DisplayName=Resource Distribution
ExePath=Node\node.exe
Script=..\ResourceDistributionService\server.js
3. Restart Qlik Sense Service Dispatcher.
If you are not using any Qlik cloud-based products but only Qlik Sense Enterprise, its safe disable following services by adding Disabled=true under these sections:
[hybridsetupconsole]
[hybriddeploymentservice]
[appdistributionservice]
[resource-distribution]
[deployment-based-warnings]
Cause
Updates form multi nodes in this index will lock the database in a locked state.