Issues after upgrading to 4.8.0 from 4.6

I updated my instance and having random weirdness but the primary issue I’m currently facing is this repeated error in the openfire logs.

2024.01.15 13:43:03.109 ERROR [pool-monitoring13]: org.jivesoftware.openfire.reporting.stats.RrdSqlBackend - Error while accessing information in database: java.sql.SQLSyntaxErrorException: Table 'openfire.ofRRDs' doesn't exist
2024.01.15 13:43:03.109 ERROR [pool-monitoring13]: org.jivesoftware.openfire.reporting.stats.StatsEngine - Error sampling for statistic successful
java.io.FileNotFoundException: Could not open successful [non existent]
        at org.jrobin.core.RrdDb.<init>(RrdDb.java:225) ~[jrobin-1.6.0.jar:1.6.0]
        at org.jrobin.core.RrdDb.<init>(RrdDb.java:201) ~[jrobin-1.6.0.jar:1.6.0]
        at org.jivesoftware.openfire.reporting.stats.StatsEngine$SampleTask.run(StatsEngine.java:364) [monitoring-2.5.0.jar:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]


From the limited amount of information I’ve been able to gather is that this table is tied to the Statistics and the “monitoring” plugin. I can see one of the tables is missing. I confirmed this after opening my openfire DB and table is not there.

I believe this script is apart process
/usr/share/openfire/plugins/monitoring/database/monitoring_mysql.sql

this block is in the script

CREATE TABLE ofRRDs (
   id            VARCHAR(100)         NOT NULL,
   updatedDate   BIGINT               NOT NULL,
   bytes         MEDIUMBLOB           NULL,
   PRIMARY KEY  (id)
);

Can I simply rerun the installer without any issue? Any help would be greatly appreciated here

Thanks in advance

Hello. Sorry to hear that you are running into issues. Let’s see if we can help resolve them.

Please ensure that you have backups of Openfire and its database before continuing, if you haven’t created those yet.

You are right: RRDs are used only by the Monitoring Service plugin. As such, I would advice against reinstalling Openfire. The data that you’re missing is not provided by the Openfire installer. Instead, it is provided by the Monitoring Service plugin.

Verify that you are using the latest version of the Monitoring Service plugin.

Try reloading the plugin, and look at the Openfire log files to see if any errors are logged with regards to the update. If a database update that is part of the Monitoring Service plugin installation fails, then this is likely logged. You may be able to manually correct for the failure.

Thanks for your reply, greatly appreciated!

I’ve resolved the issue by

  • manually creating the tabld by using DBAccess plugin and running the sql statement (in my original post)
  • uninstalling the “Monitor” plug in
  • reinstalling the “Monitor” plug in
  • restarting the Openfire service

No more errors regarding the monitoring plug in or missing database table

Hope this helps someone else!