Hello,
I am experiencing a PubSub subscription cleanup failure on my Openfire server.
My environment:
-
Openfire 5.1.2
-
Embedded HSQLDB 2.7.4
-
Monitoring Service plugin 2.8.0
The PubSub cleanup page reports approximately 6,590,119 redundant subscription rows. However, when I run the cleanup task, it fails.
The error in openfire.log is:
2026.11.03 12:51:12.125 ERROR
Cleanup of redundant pubsub subscription rows failed.
java.sql.SQLSyntaxErrorException:
data type cast needed for parameter or null literal in statement
SELECT serviceID, nodeID, id
FROM ofPubsubSubscription
WHERE serviceID NOT IN (?)
AND ((serviceID, nodeID, id) > (?, ?, ?))
ORDER BY serviceID, nodeID, id
LIMIT 1000
The exception occurs in:
PubSubSubscriptionMaintenance.readPage
PubSubSubscriptionMaintenance.java:598
I checked the Openfire installation, and the HSQLDB driver is:
hsqldb-2.7.4.jar
I also verified that the installed Openfire package does not show modifications to its main files.
OF-3338 is listed as fixed in Openfire 5.1.2, but the cleanup still fails in my environment.
Has anyone encountered this issue? Is there a known workaround or a subsequent fix?
I have a full backup of the server and database. I have not manually modified or deleted any PubSub database records.
Thank you.