Build: #1943 was successful
Job: Run Maven was successful
Code commits
Openfire (master)
-
Guus der Kinderen 60f10b6ca52c029ecde6ea0c26c946d6a134cccf
Update openfire.doap
Even better logo.- documentation/openfire.doap (version 60f10b6ca52c029ecde6ea0c26c946d6a134cccf)
-
Guus der Kinderen b41fd1dcd6d7339d55ef9697d89b46a5994ca607
Update openfire.doap
Normalized 'http://www.xmpp.org' to 'http://xmpp.org' to help xmpp.org's rendering.- documentation/openfire.doap (version b41fd1dcd6d7339d55ef9697d89b46a5994ca607)
-
Guus der Kinderen 64942092c6f90ecfe6e03c408344ec736a5a5526
Update openfire.doap with nicer logo
- documentation/openfire.doap (version 64942092c6f90ecfe6e03c408344ec736a5a5526)
-
Guus der Kinderen 46d752d631ea53a1e96a8233951de0aba902feb9
Update openfire.doap
- documentation/openfire.doap (version 46d752d631ea53a1e96a8233951de0aba902feb9)
-
Guus der Kinderen 5b6024b4c02d9e81a2af1cd25c3d2dff4929c95f
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 5b6024b4c02d9e81a2af1cd25c3d2dff4929c95f)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/LocalMUCRoomManager.java (version 5b6024b4c02d9e81a2af1cd25c3d2dff4929c95f)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MUCPersistenceManager.java (version 5b6024b4c02d9e81a2af1cd25c3d2dff4929c95f)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 5b6024b4c02d9e81a2af1cd25c3d2dff4929c95f)
-
Guus der Kinderen d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae
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 d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java (version d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoomHistory.java (version d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae)
- xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae)
- xmppserver/src/main/java/org/jivesoftware/util/cache/CacheFactory.java (version d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae)
- xmppserver/src/test/java/org/jivesoftware/openfire/muc/HistoryStrategyTest.java (version d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae)
- xmppserver/src/test/java/org/jivesoftware/openfire/muc/MUCRoomTest.java (version d4191bd0c2a6cc1bc7c79d439f904d2830ff02ae)
-
Guus der Kinderen cc34ef51912cedf7ee1f72eea6e94362f0a1f23e
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 cc34ef51912cedf7ee1f72eea6e94362f0a1f23e)
-
Guus der Kinderen 6678f0099c1c13275e79d308aacaeccf7ad058b3
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 6678f0099c1c13275e79d308aacaeccf7ad058b3)
- xmppserver/src/test/java/org/jivesoftware/openfire/muc/spi/OccupantManagerTest.java (version 6678f0099c1c13275e79d308aacaeccf7ad058b3)
-
Guus der Kinderen 8a2a7ab25b0b64a269964efcde977061eb1911cc
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 8a2a7ab25b0b64a269964efcde977061eb1911cc)
-
Guus der Kinderen 0fad6e3dc3f4986cbbeeb5ecabad1132315cd0b6
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 0fad6e3dc3f4986cbbeeb5ecabad1132315cd0b6)