Verifies the integrety of the projects, as builds are executed immediately after a code change was detected. This plan provides no artifiacts (use a nightly build instead).

Build: #2964 was successful Changes by Guus der Kinderen

Stages & jobs

  1. Default Stage

  2. Continuous Integration

Build result summary

Details

Completed
Queue duration
< 1 second
Duration
9 minutes
Labels
None
Agent
mesonet-ah.agron.iastate.edu (2)
Revision
89cb1ecbcc3d2c95fbddc7d657564dd48410ca9f
Total tests
1967
Successful since
#2937 ()

Tests

Code commits

Author Commit Message Commit date
Guus der Kinderen Guus der Kinderen 0d2a79c743435689470d830f24302468ac89b87a OF-3212: Add defensive (re)create of PEP root collection node if it's missing
Openfire expects each PEP service to have a root collection node. However, there are various code paths where a service can be created without one.

In this commit, the initialization of the service has been made more robust to always (re)create a root collection node in case one is missing.
Guus der Kinderen Guus der Kinderen f9f3526b525e3aa3a3aac0df87d89585531aff6c OF-3123: Initialize PEPService before adding to cache
Reorder PEPService initialization to occur before the service is placed in the cache. Previously, services were cached before initialize() completed, creating a race window where other threads could access uninitialized services. Now initialization happens in both getPEPService() and create() methods before caching, ensuring all cached services are fully initialized. This is still protected by existing per-JID locking and has zero performance impact.
Guus der Kinderen Guus der Kinderen 89cb1ecbcc3d2c95fbddc7d657564dd48410ca9f OF-3123: Save root node of new PEPService afer adding to cache
The root node of a (new) PEPService instance typically must be persisted in a database. Prior to this change, this happened in-line to the `PEPService#initialize()` invocation.

Saving to the database requires the PEPService to be registered with the cache of PEPServices. The prior commit's purpose was to ensure that an uninitialized service was _not_ registered with that cache, breaking the persistence of the root node.

In this commit, the root node is no longer stored in the database in the `initialize` method. Instead, it is persisted only after the new service is stored in the cache.

Jira issues

IssueDescriptionStatus
Unknown Issue TypeOF-3123Could not obtain issue details from Jira
Unknown Issue TypeOF-3212Could not obtain issue details from Jira

Shared artifacts

Artifact File size
Unpacked project files 268 MB