Build: #2764 was successful Scheduled with changes by Guus der Kinderen

Stages & jobs

  1. Build and Package

  2. Copy to Website

Build result summary

Details

Completed
Queue duration
1 second
Duration
18 minutes
Labels
None
Revision
4b8c2e0e6507423cd52047abcd4837cc89a96284
Total tests
1907
Successful since
#2725 ()

Tests

Code commits

Author Commit Message Commit date
Guus der Kinderen Guus der Kinderen f39e333e63bc8913daab8624b00a1d8954c8f8c3 OF-3287: evict per-user group caches for source group members
Ensure cache invalidation also includes members/admins of the group being processed, not only groups returned by shared-group traversal.

Previously, `evictCachedUsersForGroup(...)` could miss users in the source group (especially non-shared groups), leaving stale cache entries. This caused group create/rename/delete and shared-roster target-list changes to not be reflected immediately for affected users.
Guus der Kinderen Guus der Kinderen 66af4e0dce42c17ece25cd2316739588ff327911 OF-3288: Unify evicting of paginated and non-paginated group names
Instead of having two methods that should always be called at the same time, have one method, that does both. This is less error-prone, and more efficient.
Guus der Kinderen Guus der Kinderen bfbe0d15ed2b5428bea5c4513872048e071bd1d2 Refactor GroupManager to facilitate unit testing
A conservative refactoring: the public API is untouched and the seams needed for testing are now in place.

Existing tests have been adapted to the new API where sensible. Wording has been adjusted to reflect behavioral nature of tests, where applicable.
Guus der Kinderen Guus der Kinderen 1660d2ef2417cb23118b85d3734716d03e57e8de Increate test coverage for Group
Added tests for working with 'description' and verify behavior with read-only providers.

Fix inverted logic in TestGroupProvider.setName() that prevented proper GroupAlreadyExistsException handling
Guus der Kinderen Guus der Kinderen 4b8c2e0e6507423cd52047abcd4837cc89a96284 Improve GroupProvider thread safety
Making the field volatile guarantees that any thread reading provider (in createGroup, deleteGroup, search, getProvider, etc.) will always observe the value last written, not a stale cached copy from a CPU register or L1 cache.

Jira issues

IssueDescriptionStatus
10 more issues…
Unknown Issue TypeOF-3206Could not obtain issue details from Jira
Unknown Issue TypeOF-3254Could not obtain issue details from Jira
Unknown Issue TypeOF-3285Could not obtain issue details from Jira
Unknown Issue TypeOF-3286Could not obtain issue details from Jira
Unknown Issue TypeOF-3287Could not obtain issue details from Jira

Shared artifacts

Artifact File size
.deb files 69 MB