After upgrading from 5.1.0 to 5.1.1 (official .deb package, Debian 12), a new admin console page is not working. According to the logs, Openfire attempts to load a page named pubsub-subscription-maintenance-page.jsp but throws a ClassNotFoundException—the file for this page is simply missing from the .deb package.
I found a reference to this page in the admin plugin’s web.xml, but the corresponding .jsp file does not exist anywhere in the installation.
What works normally: the rest of the admin console (login, main pages), the Openfire server itself, and the PubSub duplication fix (OF-3306) introduced in this version—I tested and confirmed that there are no longer duplicates in the ofPubsubSubscription table.
What doesn’t work: only this specific new page, which appears to be a maintenance/viewing tool for PubSub subscriptions.
Environment: Openfire 5.1.1 (.deb), Debian 12 (bookworm), upgraded from 5.1.0 via dpkg -i, MariaDB 10.11 database.
Question: Does this happen only with the .deb package, or with other formats (RPM, ZIP) as well? Is there a way to access this page, or is it merely cosmetic/optional?
This is surprising - I don’t expect any of the distro-packages to be different to each-other in this way. What version of Java are you using, @gprilopes ?
@akrherz, I’m wondering if that error that you see is caused by your system not needing the migration. There’s a wonkey bit in our admin console:
OpenJDK 64-Bit Server VM (build 17.0.19+10-1-deb12u2-Debian, mixed mode, sharing)
```
Installed via Debian 12’s `default-jre-headless` package (which pulls in `openjdk-17-jre-headless` as the actual runtime).
Also, re: @akrherz’s finding that RPM shows the page but with a different error (“The subscription data could not be analyzed: null”) — that seems like a genuinely different failure mode than what I’m seeing. On the `.deb` install, the class for the JSP itself is missing entirely (`ClassNotFoundException`), so the servlet never starts at all — it’s not reaching the point where it could show any analysis error. That does point more toward this being a `.deb`-packaging-specific issue (the compiled `.jsp` class not being included in the build), separate from the JSTL/analysis-availability logic issue you flagged for the RPM case.
Happy to run any other diagnostic commands on my end if it helps narrow this down.
Do you have the service enabled in the PubSub Service Configuration?
I ran into the same problem.
Initially, the server didn’t notify me that maintenance was required, even though the logs clearly showed issues with PubSub.
I enabled the PubSub service.
A couple of minutes later, a notification appeared stating that maintenance was required, but then I encountered an error: “The subscription data could not be analyzed: null”
As a next step, I happened to install the “PubSub Server Info” plugin.
I noticed that after installing the plugin, a single “server-info” entry appeared under “PubSub Nodes” in the PubSub Service Configuration.
After some time - possibly following an Openfire restart - the “The subscription data could not be analyzed: null” error disappeared, and this is what I got:
There appears to be an issue in Openfire 5.1.1 that affects the maintenance functionality. So far, it seems to be limited to people using the embedded/HSQLDB database. It is discussed in more detail in this forum thread: Pub-Sub Cleanup fails
@Vladimir_Grigoriev — thanks, but I don’t think it’s the same root cause as mine. PubSub is already enabled on my server by default (the domain shows up in the startup logs, and I already have 46 existing PubSub nodes), so that’s not what’s blocking the page for me.
Also, my failure mode is different from yours: the page never even starts on my install — it’s a hard `ClassNotFoundException` because the `.jsp` class is entirely missing from the `.deb` package. It never gets far enough to show the “subscription data could not be analyzed: null” error you saw, and I haven’t tried installing the “PubSub Server Info” plugin — not sure that would help here since the servlet itself can’t load.
Your screenshot is still a great data point though — good to see the page work and expose real duplication (20M+ redundant rows in your case) once it’s not blocked. Confirms this maintenance page is doing what OF-3306 intended, at least for installs where the file isn’t missing.
@guus — re: the embedded/HSQLDB theory, my server uses an external MariaDB 10.11 database, not the embedded HSQLDB, so that doesn’t explain what I’m seeing either. That tracks with the linked “Pub-Sub Cleanup fails” thread too — the workaround there uses `CHECKPOINT;`, an HSQLDB-only command with no MySQL/MariaDB equivalent, so that report does look specific to the embedded database.
Mine looks like a third, separate issue: not an OOM during cleanup, and not the “null” analysis error — just the `.jsp` file/class missing entirely from the `.deb` build, so the page never starts at all.
Update: I upgraded from 5.1.1 to 5.1.2 (`.deb` package) today. Good news — **the `ClassNotFoundException` packaging issue is gone**. The page loads now (HTTP 200), no `Failed startup of context` in the logs anymore. Matches the 5.1.2 changelog mentioning a fix for “pubsub subscription cleanup failures.”
However, once logged in, the page now shows the same error @akrherz and @Vladimir_Grigoriev reported on RPM: **“The subscription data could not be analyzed: null”**.
@guus, this actually supports your theory. My database has zero duplicate rows (confirmed directly via SQL: 1,823 rows in `ofPubsubSubscription`, all unique), so this looks like exactly the “system not needing the migration” case you described — there’s nothing to analyze, but the page falls into the generic error branch instead of showing something like “no redundant rows found.” I also checked the Openfire log at the moment of loading the page — no exception logged, which supports this being a logic/UI issue rather than a real backend error.
Happy to share more diagnostics if useful — I have direct access to the database to check.