Run manually for releases

Build: #10 was successful Manual run by daryl herzmann

Code commits

Openfire (master)

  • daryl herzmann <akrherz@iastate.edu>

    daryl herzmann <akrherz@iastate.edu> 51b9db96d0f8611f768178901407dff05ee20f28

    Merge pull request #2141 from akrherz/release_474
    denote Openfire 4.7.4 release

  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> f3099fe9c65f8da04470e064bd65da40a80bf2c4

    denote Openfire 4.7.4 release

    • distribution/pom.xml (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • i18n/pom.xml (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • plugins/openfire-plugin-assembly-descriptor/pom.xml (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • plugins/pom.xml (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • pom.xml (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • starter/pom.xml (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • xmppserver/changelog.html (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • xmppserver/pom.xml (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/XMPPServerInfoImpl.java (version f3099fe9c65f8da04470e064bd65da40a80bf2c4)
  • Guus der Kinderen

    Guus der Kinderen e65c35bee793b97177bd63de532b362d284d0c53

    OF-2537: Advertise support for pubsub's 'multi-item' feature
    XEP-0060 defines, amongst many others, the 'multi-items' service discovery feature.

    This feature can be advertised by a pubsub service, when clients are allowed to configure a node in such a way that it can accept more-than-one item, by:

    - setting `persist_items` to `true`
    - setting `max_items` to a value higher than 1.

    Openfire supports allows for both. It can/should advertise the feature `http://jabber.org/protocol/pubsub#multi-items` on its pubsub services.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubModule.java (version e65c35bee793b97177bd63de532b362d284d0c53)
  • Guus der Kinderen

    Guus der Kinderen 3a0fb56650480bff8f01595dde70f00c607e010e

    OF-2525: Deprecate non-persisting XMLProperties API
    This aims to prevent accidental usage of XMLProperties instances that cannot persist changes. This is achieved by deprecating all constructors that create such an instance, replacing them with an aptly named static method.

    • xmppserver/src/main/java/org/jivesoftware/util/JiveGlobals.java (version 3a0fb56650480bff8f01595dde70f00c607e010e)
    • xmppserver/src/main/java/org/jivesoftware/util/XMLProperties.java (version 3a0fb56650480bff8f01595dde70f00c607e010e)
    • xmppserver/src/test/java/org/jivesoftware/util/XMLPropertiesTest.java (version 3a0fb56650480bff8f01595dde70f00c607e010e)
  • Dan Caseley <dan@caseley.me.uk>

    Dan Caseley <dan@caseley.me.uk> 15933dd3833af8898f114106e11722ff213abb2d

    OF-2415: Allow empty plugins directory at boot time in Docker entrypoint

    • build/docker/entrypoint.sh (version 15933dd3833af8898f114106e11722ff213abb2d)
  • Guus der Kinderen

    Guus der Kinderen ebfdb8be847384f48335847e73e83c178b0d9e18

    Revert "OF-2505: BOSH: add back-pressure to network IO when processing can't keep up"
    This reverts commit ea8d385bc4787fbd5230a4947671560e627f3547.

    • i18n/src/main/resources/openfire_i18n.properties (version ebfdb8be847384f48335847e73e83c178b0d9e18)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSessionManager.java (version ebfdb8be847384f48335847e73e83c178b0d9e18)
    • xmppserver/src/main/java/org/jivesoftware/openfire/util/ThreadPoolExecutorRejectionPolicy.java (version ebfdb8be847384f48335847e73e83c178b0d9e18)
    • xmppserver/src/main/java/org/jivesoftware/util/BlocksOnOfferQueue.java (version ebfdb8be847384f48335847e73e83c178b0d9e18)
  • Guus der Kinderen

    Guus der Kinderen 2ecd49a5522efb3db282a443f27b750fe81775df

    Revert "OF-2530: Optimize MUC Message History cache usage"
    This reverts commit 8ea20d392fe85aacf8e7eb834de05cc11fbc7291.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/HistoryStrategy.java (version 2ecd49a5522efb3db282a443f27b750fe81775df)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java (version 2ecd49a5522efb3db282a443f27b750fe81775df)
  • Guus der Kinderen

    Guus der Kinderen 4f9fa577d381982493a19659bdd96cf396adb40e

    OF-2531: Remove unneeded JID-based lock in MUC
    To fix https://igniterealtime.atlassian.net/browse/OF-1649 a user/JID-based lock was introduced. This lock made the creation of a user-and-joining-a-room atomic with respect to the cleanup action remove-all-users-that-are-not-in-any-room.

    With the rewrite of MUC in https://igniterealtime.atlassian.net/browse/OF-2224 (and friends), the cleanup of users is no longer based on room membership, but on duration since last activity. This will prevent https://igniterealtime.atlassian.net/browse/OF-1649. The lock that was put in place now no longer serves a purpose, and should be removed.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 4f9fa577d381982493a19659bdd96cf396adb40e)
  • Guus der Kinderen

    Guus der Kinderen 8ea20d392fe85aacf8e7eb834de05cc11fbc7291

    OF-2530: Optimize MUC Message History cache usage
    When reading or writing cached MUC messages, the entire collection of messages is serialized between cluster nodes. This adds an unacceptable amount of overhead, for every message that is added.

    In this commit, the singular cached entity (a list of messages), is separated into two parts:
    - A cached entity that represents a list of message references per chatroom
    - messages, by reference

    The purpose of this is to optimize the scenario of  adding a message (which is expected to happen more frequently than reading the history). By having to update only a list of references, instead of a list of actual objects, the amount of data that is to be operated on is reduced significantly.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/HistoryStrategy.java (version 8ea20d392fe85aacf8e7eb834de05cc11fbc7291)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java (version 8ea20d392fe85aacf8e7eb834de05cc11fbc7291)
  • Dan Caseley <dan@caseley.me.uk>

    Dan Caseley <dan@caseley.me.uk> 4bed54f50e986915dfbad58b3ae731984d2ea055

    Update apache commons-text from 1.6 to 1.10.0

    • xmppserver/pom.xml (version 4bed54f50e986915dfbad58b3ae731984d2ea055)
  • Guus der Kinderen

    Guus der Kinderen 6a6e9beb22d9e6411c0ee935987d1ab6467ccd65

    fixup log statement

    • xmppserver/src/main/java/org/jivesoftware/openfire/handler/IQBindHandler.java (version 6a6e9beb22d9e6411c0ee935987d1ab6467ccd65)
  • Guus der Kinderen

    Guus der Kinderen a55709c242a8a22c467c071f0c64f4604047cc3c

    Add debug logging to resource bind processing.

    • xmppserver/src/main/java/org/jivesoftware/openfire/handler/IQBindHandler.java (version a55709c242a8a22c467c071f0c64f4604047cc3c)
  • Dan Caseley <dan@caseley.me.uk>

    Dan Caseley <dan@caseley.me.uk> 807ff057a0ef6ebe98a897ef4b6a2ce7df4aaa89

    OF-2528: Migrate set-output to use $GITHUB_OUTPUT

    • .github/workflows/continuous-integration-workflow.yml (version 807ff057a0ef6ebe98a897ef4b6a2ce7df4aaa89)
    • .github/workflows/macos-release-artifact.yml (version 807ff057a0ef6ebe98a897ef4b6a2ce7df4aaa89)
  • Guus der Kinderen

    Guus der Kinderen 486ad31778dc309ce9c6f68c8b0063976876b3cb

    OF-2524: Add database index for MUC room log retrieval
    When loading the MUC room history for a single room, a query is executed that is not optimized by the existing database indexes:

    `SELECT sender, nickname, logTime, subject, body, stanza FROM ofMucConversationLog WHERE logTime>? AND roomID=? AND (nickname IS NOT NULL OR subject IS NOT NULL) ORDER BY logTime`

    On Ignite's server, this takes more than 400 milliseconds to execute.

    When room preloading is disabled, all rooms that are being used need to be loaded from memory. Looking at the admin console will load all rooms on that page. If that contains 25 rooms, then this query alone causes a delay of many seconds before the page is loaded.

    • distribution/src/database/openfire_db2.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/openfire_hsqldb.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/openfire_mysql.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/openfire_oracle.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/openfire_postgresql.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/openfire_sqlserver.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/openfire_sybase.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/upgrade/34/openfire_db2.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/upgrade/34/openfire_hsqldb.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/upgrade/34/openfire_mysql.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/upgrade/34/openfire_oracle.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/upgrade/34/openfire_postgresql.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/upgrade/34/openfire_sqlserver.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • distribution/src/database/upgrade/34/openfire_sybase.sql (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
    • xmppserver/src/main/java/org/jivesoftware/database/SchemaManager.java (version 486ad31778dc309ce9c6f68c8b0063976876b3cb)
  • Guus der Kinderen

    Guus der Kinderen 67510a07f373fddd5fb0c9e20f79d2ebc8dae76f

    OF-2524: Add MUC message history in bulk
    Instead of loading message and adding to MUC room history one-by-one, do this in a batch.

    With OF-2499, adding a message requires a lock to be held. In clustering, the repeated acquiring and releasing of that lock adds notable delays.

    This commit prevents much of this overhead by adding all history in one go, replacing the lock contention for each message, with one singular lock.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/HistoryStrategy.java (version 67510a07f373fddd5fb0c9e20f79d2ebc8dae76f)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoomHistory.java (version 67510a07f373fddd5fb0c9e20f79d2ebc8dae76f)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/FMUCHandler.java (version 67510a07f373fddd5fb0c9e20f79d2ebc8dae76f)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version 67510a07f373fddd5fb0c9e20f79d2ebc8dae76f)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> 8510fea00b33fc9ce905b1d44f49453a6a41fb55

    take install4j schema update verbatim

    • distribution/src/installer/openfire.install4j (version 8510fea00b33fc9ce905b1d44f49453a6a41fb55)
  • Guus der Kinderen

    Guus der Kinderen b6217cbd03c91979577e6c2cf80dfb104cdbb1a7

    OF-2519: Fix MUC room membership with groups
    When loading an individual room (eg: at boot time, when room preloading is disabled), ensure that a MUC room member JID is evaluated as a group JID.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version b6217cbd03c91979577e6c2cf80dfb104cdbb1a7)
  • Guus der Kinderen

    Guus der Kinderen 1b6722fdd8d660c6a60509c3ad252041220f47e0

    OF-2518: Attempt to load favicon over HTTPS
    This adds an additional attempt to load the favicon. With this, both HTTPS and HTTP are attempted.

    Additionally, the URL that's used is now being constructed through a builder, which should further reduce the attack vector of using 'user-provided input'.

    • xmppserver/src/main/java/org/jivesoftware/util/FaviconServlet.java (version 1b6722fdd8d660c6a60509c3ad252041220f47e0)
  • Guus der Kinderen

    Guus der Kinderen 665b2efd00444e617b2fc8815b2110964691173c

    Remove suppressing of LGTM warning (since it has been addressed)

    • xmppserver/src/main/java/org/jivesoftware/util/FaviconServlet.java (version 665b2efd00444e617b2fc8815b2110964691173c)
  • Guus der Kinderen

    Guus der Kinderen 5ea449b3dbd77434a78e7f07e2e4cdd035e31d32

    Update CodeQL action from v1 to v2
    v1 is being deprecated: https://github.blog/changelog/2022-04-27-code-scanning-deprecation-of-codeql-action-v1/

    • .github/workflows/codeql-analysis.yml (version 5ea449b3dbd77434a78e7f07e2e4cdd035e31d32)
  • Dan Caseley <dan@caseley.me.uk>

    Dan Caseley <dan@caseley.me.uk> 78241d7f3cca90e3176e9c84172788e7c6a17d69

    OF-2516: Add tooltips for RX/TX columns on session info

    • i18n/src/main/resources/openfire_i18n.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_cs_CZ.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_de.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_es.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_fr.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_ja_JP.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_pl_PL.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_pt_BR.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_pt_PT.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_ru_RU.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_sk.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • i18n/src/main/resources/openfire_i18n_zh_CN.properties (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • xmppserver/src/main/webapp/component-session-details.jsp (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • xmppserver/src/main/webapp/session-details.jsp (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
    • xmppserver/src/main/webapp/session-summary.jsp (version 78241d7f3cca90e3176e9c84172788e7c6a17d69)
  • Guus der Kinderen

    Guus der Kinderen acf2def9b15a8806935d6e0f956ce7fa260ab8dd

    OF-2516: Show session TX/RX instead of prio on admin console
    The admin console's "Session Summary" page lists all client sessions and shows some data.

    With this commit, the 'priority' value (which is hardly used) is replaced by TX and RX values, that give an indication of activity (as it shows the amount of stanzas exchanged between client and server).

    • i18n/src/main/resources/openfire_i18n.properties (version acf2def9b15a8806935d6e0f956ce7fa260ab8dd)
    • xmppserver/src/main/webapp/session-row.jspf (version acf2def9b15a8806935d6e0f956ce7fa260ab8dd)
    • xmppserver/src/main/webapp/session-summary.jsp (version acf2def9b15a8806935d6e0f956ce7fa260ab8dd)
  • Guus der Kinderen

    Guus der Kinderen 1ef403baf977864d461f0f0d49c5e96a1d571ca5

    OF-2517: Fix 'packet sent' count for BOSH connections
    Openfire keeps track of the amount of stanzas sent through a connection. For BOSH connections, the outgoing count was never updated. This is fixed in this commit.

    This change also ensures that a 'last activity' field is updated more frequently. This could improve the stability of BOSH connections.

    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSession.java (version 1ef403baf977864d461f0f0d49c5e96a1d571ca5)
  • Guus der Kinderen

    Guus der Kinderen c052c0ebae5b3613fcc39beb4020ed0ccb1084ed

    OF-2512: Fix for long custom user lockout values
    When using a longer value as a custom amount of lock-out minutes, the multiplication of two integers overflows the maximum integer value. Using longs instead of ints prevents this.

    • xmppserver/src/main/webapp/user-lockout.jsp (version c052c0ebae5b3613fcc39beb4020ed0ccb1084ed)
  • Guus der Kinderen

    Guus der Kinderen 78a791d360ea34de93b69e23f80bf1dfb4893985

    OF-2511: Prevent loading unused historic messages for MUC rooms.
    Typically, rooms are configured to retain only 25 message of history, to be sent to clients that join a room (note that this does _not_ relate at all to MAM).

    When loading a room from the database, Openfire should not load _all_ messages from the database, but only the ones that are potentially going to be sent to clients. For rooms which a large history, this saves a considerable amount of resources.

    This commit uses somewhat of a hack that is based on database driver functionality (skipping ahead in the resultset), as opposed to modifying the SQL query that is used to obtain the records. Such modification would likely depend on non-standardized SQL staments (TOP / LIMIT / ROWNUM), which would introduce the need for database-vendor specific code.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/HistoryStrategy.java (version 78a791d360ea34de93b69e23f80bf1dfb4893985)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoomHistory.java (version 78a791d360ea34de93b69e23f80bf1dfb4893985)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version 78a791d360ea34de93b69e23f80bf1dfb4893985)
  • Guus der Kinderen

    Guus der Kinderen f14c7c6325bbebb0d90836811cd8bd356c34954b

    OF-2509: openfirectl should store PID value
    This fixes a bug in the openfirectl script that failed to store the PID of the Openfire process that it just started.

    • distribution/src/bin/openfirectl (version f14c7c6325bbebb0d90836811cd8bd356c34954b)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> ee7425ba50d33872b181ea38156ea3e19ffdcfc1

    rethink mac CI release artifact task

    • .github/workflows/macos-release-artifact.yml (version ee7425ba50d33872b181ea38156ea3e19ffdcfc1)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> 66bb8ac4d517112c7620660ed5ba362ab98cc623

    CI: reorder commands to workaround unknown troubles

    • .github/workflows/macos-release-artifact.yml (version 66bb8ac4d517112c7620660ed5ba362ab98cc623)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> 249f5b0cd172549c00e2196ca013f98dd56ad51f

    create macos github action job for releases

    • .github/workflows/macos-release-artifact.yml (version 249f5b0cd172549c00e2196ca013f98dd56ad51f)
  • Guus der Kinderen

    Guus der Kinderen ea8d385bc4787fbd5230a4947671560e627f3547

    OF-2505: BOSH: add back-pressure to network IO when processing can't keep up
    For BOSH and websocket connections, this commit introduces a new feature (disabled by default) that allows Openfire to be configured to apply 'back pressure' that could be useful in a scenario where the network IO thread pool is outpacing the processing thread pool.

    By enabling the feature using `xmpp.httpbind.worker.backpressure-enabled` (and setting the queue to a limited value with `xmpp.httpbind.worker.queue-capacity`, the queuing of new tasks by the network IO thread pool blocks when the queue is at capacity.

    • i18n/src/main/resources/openfire_i18n.properties (version ea8d385bc4787fbd5230a4947671560e627f3547)
    • xmppserver/src/main/java/org/jivesoftware/openfire/http/HttpSessionManager.java (version ea8d385bc4787fbd5230a4947671560e627f3547)
    • xmppserver/src/main/java/org/jivesoftware/openfire/util/ThreadPoolExecutorRejectionPolicy.java (version ea8d385bc4787fbd5230a4947671560e627f3547)
    • xmppserver/src/main/java/org/jivesoftware/util/BlocksOnOfferQueue.java (version ea8d385bc4787fbd5230a4947671560e627f3547)
  • Guus der Kinderen

    Guus der Kinderen 465dc4a93653750981aba0a3ae66b6d433a28db7

    OF-2499: Prevent repeated JDBC queries for rooms without history

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/HistoryStrategy.java (version 465dc4a93653750981aba0a3ae66b6d433a28db7)
  • Guus der Kinderen

    Guus der Kinderen 4f1ee41c4aeffb50667ec2d677d762013fcff84d

    OF-2504: Replace broken MINA JMX monitoring
    The MINA-provided JMX beans are not functional (they throw runtime exceptions). This commit replaces them with generic executor thread pool MBeans. These give less data, but work.

    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/MINAConnectionAcceptor.java (version 4f1ee41c4aeffb50667ec2d677d762013fcff84d)
  • Guus der Kinderen

    Guus der Kinderen 95a16fdab5248be4efb5b954740706c9300e00b2

    OF-2502: Do not iterate over clustered cache when calculating stats
    When collecting statistics, two MUC methods iterate over caches. That is inefficient in itself, but the cache can also be clustered. If that's the case, then a lot of data serialization, which is a waste of resources.

    This commit introduces a new cache in which statistics can be stored. This way, the statistics need not be recalculated every time, saving resources at the expense of potential inaccuracy.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version 95a16fdab5248be4efb5b954740706c9300e00b2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 95a16fdab5248be4efb5b954740706c9300e00b2)
  • Guus der Kinderen

    Guus der Kinderen b1d1e50e783bccbe87167adc01808f5cf66ff807

    OF-2499: Allow MUC history to be loaded 'on demand'
    Now that MUC history is stored in a cache, this cache might unexpectedly _not_ contain data. This typically occurs around events that relate to joining or leaving a cluster.

    With this change, the room history is loaded on demand from the database when it's not already present in the cache.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/HistoryStrategy.java (version b1d1e50e783bccbe87167adc01808f5cf66ff807)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version b1d1e50e783bccbe87167adc01808f5cf66ff807)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version b1d1e50e783bccbe87167adc01808f5cf66ff807)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version b1d1e50e783bccbe87167adc01808f5cf66ff807)
  • Guus der Kinderen

    Guus der Kinderen 9af5af48f8127ba63a9b4405a9d23143a09616de

    OF-2499: No longer serialize MUC history with room
    As suggested in a 'TODO' comment in code, this replaces the MUC history that is stored inline with each MUC room, with a cache lookup.

    This change intends to result in a performance boost, as retrieving/storing MUC rooms from a cache (and serializing them between cluster nodes) no longer includes the history. The data associated with history is typically very large (~50kb for 25 messages), but changes a lot less often than the room itself.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/HistoryStrategy.java (version 9af5af48f8127ba63a9b4405a9d23143a09616de)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version 9af5af48f8127ba63a9b4405a9d23143a09616de)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoomHistory.java (version 9af5af48f8127ba63a9b4405a9d23143a09616de)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 9af5af48f8127ba63a9b4405a9d23143a09616de)
    • xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java (version 9af5af48f8127ba63a9b4405a9d23143a09616de)
    • xmppserver/src/test/java/org/jivesoftware/openfire/muc/HistoryStrategyTest.java (version 9af5af48f8127ba63a9b4405a9d23143a09616de)
    • xmppserver/src/test/java/org/jivesoftware/openfire/muc/MUCRoomTest.java (version 9af5af48f8127ba63a9b4405a9d23143a09616de)
  • Guus der Kinderen

    Guus der Kinderen 4f1bc67852307222420e37c89f0bae06930a7328

    OF-2497: align non-prefetched and prefetched room history loading
    With respect to the loading of MUC room history, Openfire should not behave differently when a room is 'pre-loaded' or not. Previously, the reload limit (days of history to load) defaulted to 2 days for non-preloaded rooms, while preloaded rooms did not have such a default.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version 4f1bc67852307222420e37c89f0bae06930a7328)
  • Guus der Kinderen

    Guus der Kinderen 1360aa307d180fe93dde9f0eff90275ffbc72de2

    OF-2498: Reduce MUCRole cache size calculations
    Whenever a MUCRole instance is being added to a cache, its size is being calculated. This is rather resource intensive.

    MUCRole instances are largely immutable: the cache size is unlikely to change a lot. To reduce the amount of recalculations, this change retains the last calculated size for an instance, resetting it only when a change has been applied.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRole.java (version 1360aa307d180fe93dde9f0eff90275ffbc72de2)
  • Guus der Kinderen

    Guus der Kinderen 61983eb33651e576b5040b612cea2c8d28278204

    OF-2498: Speed up MUCRoom cache size calculation
    To calculate the cache size of a MUC room instance, the pre-existing calculation iterated over all messages that it was maintaining as part of the message history strategy. This is a very resource intensive way of calculating the cache size. This commit replaces this with a hardcoded size that is roughly equal to having 25 messages kept in history. This reduces the occuracy of the calculated value, but improves the calculation time dramatically.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version 61983eb33651e576b5040b612cea2c8d28278204)
  • Guus der Kinderen

    Guus der Kinderen 1fcc6d07f2faec42c74efe08cc3efcd7aef55294

    OF-2498: Optimize OccupantManager#registerActivity
    Whenever any occupant sends some kind of stanza, a 'last activity' timestamp is being updated in OccupantManager. This process should be efficient, but has not been.

    This commit introduces a lookup by JID for the occupant to be updated. This replaces a strategy where all occupants were iterated over to find the correct item to update.

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/OccupantManager.java (version 1fcc6d07f2faec42c74efe08cc3efcd7aef55294)
    • xmppserver/src/test/java/org/jivesoftware/openfire/muc/spi/OccupantManagerTest.java (version 1fcc6d07f2faec42c74efe08cc3efcd7aef55294)
  • Guus der Kinderen

    Guus der Kinderen 5f4fd2f8fabdc11b36fab41652699cbc66204f6a

    OF-2495: Websocket onError handler prevents earlier data to be processed
    This commit ensures that the handling of the onError event is done in the same thread pool as that is using data. This should help ensure that those events are handled in roughly the same order. This in turn prevents data that has been supplied previously from going unprocessed, because the onError handler is executed 'early'.

    • xmppserver/src/main/java/org/jivesoftware/openfire/websocket/XmppWebSocket.java (version 5f4fd2f8fabdc11b36fab41652699cbc66204f6a)
  • Hamza Öztürk <hamza.ozturk@busoft.com.tr>

    Hamza Öztürk <hamza.ozturk@busoft.com.tr> 2e5ba66ea6aea31dbbbb58a1ccb9e4f056f26af9

    Update server-restart.jsp
    Typo

    • xmppserver/src/main/webapp/server-restart.jsp (version 2e5ba66ea6aea31dbbbb58a1ccb9e4f056f26af9)
  • akrherz <akrherz@iastate.edu>

    akrherz <akrherz@iastate.edu> 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c

    march version to 4.7.4-SNAPSHOT

    • distribution/pom.xml (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)
    • i18n/pom.xml (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)
    • plugins/openfire-plugin-assembly-descriptor/pom.xml (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)
    • plugins/pom.xml (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)
    • pom.xml (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)
    • starter/pom.xml (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)
    • xmppserver/pom.xml (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)
    • xmppserver/src/main/java/org/jivesoftware/openfire/spi/XMPPServerInfoImpl.java (version 53bbe8f1fa3cf6c574ec3e18b8e1a9014d93ee9c)