OF-3338 PubSub Cleanup Still Fails on Openfire 5.1.2 with HSQLDB 2.7.4

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.