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

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

Stages & jobs

  1. Build and Package

Build result summary

Details

Completed
Queue duration
9 minutes
Duration
21 minutes
Labels
None
Agent
bamboo-agent-iowa.igniterealtime.org 3
Revision
380110d8e612a38cb55f620e80144d2ab37b8649
Total tests
1431
Successful since
#141 ()

Tests

Code commits

Author Commit Message Commit date
Guus der Kinderen Guus der Kinderen 3ce765067b90d3cc1071723dd9383e110f87a1ab OF-2966: BOSH events should execute in-order
BOSH related events (mostly: processing of received stanzas) are executed by a worker pool of threads.

Events for each individual session must be processed in the same order in which they are received. Prior to this change, every event was potentially executed by a different worker thread. This can cause some events to be processed (or finish processing) before an earlier event finishes execution in another worker thread.

This commit adds FIFO-based queuing of events, that ensures that events that belong to the same session are processed:
- by only one thread from the worker pool;
- in the same order in which they're received.

The technique applied here is inspired (well, just bluntly copied) from Ben Manes' work in https://github.com/ben-manes/caffeine/blob/master/jcache/src/main/java/com/github/benmanes/caffeine/jcache/event/EventDispatcher.java

(cherry picked from commit c6c9ce751899dc921ace283a0188840f9792c9b7)
Guus der Kinderen Guus der Kinderen e32355376bfd7cd87ba6974e2d2343eb1802a4a8 OF-2966: Periodic clean-up of BOSH working thread queues
In the previous commit, a mechanism was introduced that ensures per-session FIFO processing of events, using a queuing mechanism based on Futures.

This commit adds a periodic check to see if any events are queued for sessions that no longer exist, discarding those events if they're found.

The cleanup is intended as a safeguard measure against slow accumulation of non-executable events, which over time could lead to memory starvation.

(cherry picked from commit c80e54bbdd240169dae334647d0d2fb957c7aa25)
Guus der Kinderen Guus der Kinderen 380110d8e612a38cb55f620e80144d2ab37b8649 Chore: when debug logging, replace string concat of message
Instead of concatenation, use the `{}` construct will prevent building the string until it's actually logged.

Although it's probably a performance improvement, it's mainly a readability improvement.

(cherry picked from commit 741fc5560869663a0fe46bcb1bb565ee92f5c0dd)
Guus der Kinderen Guus der Kinderen 5fbfd21f67adb14acb0529b709595203ac45a1b6 BOSH: clean up logging
Removed redundant 'if is-log-level-is-enabled' checks.
Used parameterized logging statements when composing a log message.

(cherry picked from commit da97e73361eb872f835ff14ffed73075fd8a1e3b)
Guus der Kinderen Guus der Kinderen 25d7a86471e42297fd65251100e8314223507cce BOSH: Applied various minor IDE suggestions
(cherry picked from commit 955439d89edc5c3fd778e033c753b6c26acf49cc)

Jira issues

IssueDescriptionStatus
Unknown Issue TypeENT-425Could not obtain issue details from Jira
Unknown Issue TypeOF-2966Could not obtain issue details from Jira
Unknown Issue TypeOF-3026Could not obtain issue details from Jira

Shared artifacts

Artifact File size
install4j-generated media 210 MB