Generates the latest/greatest Maven-based artifacts for the Openfire project, every night.

Build: #3215 was successful Scheduled with changes by 4 people

Stages & jobs

  1. Build and Package

Build result summary

Details

Completed
Queue duration
1 second
Duration
10 minutes
Labels
None
Revision
866d954312aa52e1d9adbc7e560dc6269c77c4fd
Total tests
1926
Successful since
#3206 ()

Tests

Code commits

Author Commit Message Commit date
Guus der Kinderen Guus der Kinderen 866d954312aa52e1d9adbc7e560dc6269c77c4fd OF-3181: Allow static configuration of cluster node ID
Previously, an Openfire server generated a new cluster node ID on every startup, causing the identifier to change after each restart. This commit ensures that a server reuses the same node ID over time by persisting the initially generated value.

The node ID is now stored in `openfire.xml` under a new property: `clustering.nodeid`

- If the property does not exist at startup, a random node ID is generated and persisted.
- If the property exists, its value is reused.

This allows administrators to optionally define stable, human-recognizable node IDs. When doing so, administrators are responsible for ensuring uniqueness across all cluster members.

This change also removes the concept of a "default" node ID. Since Openfire 4.4.0 (OF-1705), node IDs no longer change when joining a cluster, making the distinction between default and runtime IDs obsolete. As a result, there is now a single node ID per server.

As a functional consequence, the node ID is no longer available until after server initialization (it is no longer a static field). This is expected to have little to no practical impact, as the previous static value was not publicly accessible.
copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> a9638e30a3fb0a88f8e95ae2ae016abcebac0396 Update jmdns dependency from 1.0 to 3.6.3 (OF-536)
Co-authored-by: akrherz <210858+akrherz@users.noreply.github.com>
Guus der Kinderen Guus der Kinderen 3c55066eb3b9b57f9709f1f21fc533817045a06b OF-3164: Avoid user lookup for JIDs without node to reduce exception overhead
Prevent execution of user lookup logic when the provided JID has no node. JIDs without a node part cannot represent a local user, yet currently flow through UserManager.isRegisteredUser(), which relies on exception-based control flow when the user does not exist.

Thread dumps show significant CPU time spent constructing UserNotFoundException instances (Throwable.fillInStackTrace) on this hot path.

This change short-circuits the lookup for node-less JIDs, avoiding the exception-heavy path and reducing unnecessary CPU usage under load.

Note: This is a partial workaround. A full fix should refactor user existence checks to avoid exceptions for normal control flow.

Additionally, more unit tests were added.
daryl herzmann daryl herzmann eedd51fc881e7a568167dc799d0db57f17b8b700 Merge pull request #3112 from guusdk/OF-3161_Netty-4.1.130.Final
OF-3161: Upgrade Netty from 4.1.118.Final to 4.1.131.Final
daryl herzmann daryl herzmann 81d66bdeca1d485d050197ec0604cb67399fa02f Merge pull request #3183 from guusdk/OF-3204_DefaultExternalizableUtil-fixes
OF-3204: Fix readSerializableMap incorrectly narrowing key type to String

Jira issues

IssueDescriptionStatus
3 more issues…
Unknown Issue TypeOF-536Could not obtain issue details from Jira
Unknown Issue TypeOF-1705Could not obtain issue details from Jira
Unknown Issue TypeOF-3119Could not obtain issue details from Jira
Unknown Issue TypeOF-3161Could not obtain issue details from Jira
Unknown Issue TypeOF-3164Could not obtain issue details from Jira

Shared artifacts

Artifact File size
install4j-generated media 5 KB