You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ro...@apache.org on 2022/06/16 13:01:28 UTC

[activemq-artemis] branch new-logging updated (672217ec43 -> 1c36d932da)

This is an automated email from the ASF dual-hosted git repository.

robbie pushed a change to branch new-logging
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


 discard 672217ec43 add TODOs and disable certain tests that need more extensive fixups, gets overall build 'completing' for next steps
 discard 05470962ca update various tests to fix compilation
 discard 67b2be9cec fixup various compilations issues in more modules, and poking to get artemis-features build to complete
 discard 9c2fb57b9e add TODO about potentially expensive preparation of probably-not-logged details
 discard 0c24a5c503 get artemis-cli compiling
 discard 38262115d6 get artemis-mqtt-protocol compiling
 discard 2ecb4a8bce get artemis-jms-server compiling
 discard 0e3906ac03 add some TODO notes
 discard 677db1cac8 get artemis-amqp-protocol compiling [again]
 discard 37109a8212 some more rebase fixups missed in prior commit
 discard ae70ca8780 Fixing clashes after rebasing
 discard 16a9a82f6f remove log config reloader that depends on jboss logmanager
 discard 44552da4bd WIP - some osgi changes probably needed, and use snapshot artemis-native to remove JBL dep that should never have been passed on
 discard d73377c622 fix some missed conversions, dep updates from previous changes
 discard 2e6ea03768 jms-tests, joram tests
 discard 0014e1b286 Rest conv
 discard 2e919d7a27 Jakarta RA pom
 discard 890a66080f RA changes
 discard 11fd087272 some progress... next on the list now is RA
 discard 7d5392bba9 tweak variables for simplicity, make debug env variable align better with processor name/purpose
 discard 6d62c11d90 add missing license header
 discard d1024aeffb Placing getlogger back in place
 discard b6db395bc8 moving System.out loggers on LogProcessor
 discard 3be2ff76d5 removing system.out
 discard 98abb4b06f some javadoc fixup
 discard b66ec785df Some System.out.println logging on the log processor
 discard 7e2366710b removing some non used logging
 discard 95e0071cf5 removing non used class
 discard db721161d5 update artemis-cli
 discard 1635d6de58 update artemis-cdi-client
 discard 3b0c4d2be9 update artemis-mqtt-protocol
 discard 4fbe62c633 restore some levels to original DEBUG, for now at least (as they dont seem like INFOs)
 discard 69ad8b9322 fix some placeholder references not previously converted
 discard d02f0ae8a0 fix some handling of out-of-order placeholder references previously missed
 discard 1b200fdc0a restore original log level for a couple of entries in previous change
 discard 6fcf4568ff converting jms-server
 discard 6f4e19f841 fix placeholders missed in previous updates
 discard 0e11758be9 typo on comment
 discard 01f26168c5 adding some known objects to LogProcessor, adding an additional test
 discard c0b0b9fcd8 service-extensions conversion
 discard 3fdee207b8 openwire conversion
 discard 8b9e408d2b convert logging for artemis-jms-client
 discard d771d59d11 convert logging for artemis-stomp-protocol
 discard 5995c2b8e6 convert logging for artemis-amqp-protocol
 discard 2c3ecda36b some fixups or notes, for prior changes or existing code noticed reviewing them
 discard b44c34f686 small tweak on log processor
 discard 60f8f7c58d making progress: Artemis-server is compiling fine at this point
 discard 961c7d0c9b more progress
 discard c10931cedc progress on server
 discard 5fc09192d3 Making progress with artemis-server
 discard ffa5a8644d removing example created during prototype
 discard 9fb8ff0012 small tweak on processor to use a more unique name
 discard c1d6f5d640 Tweaks on log processor to support Exception, add DEBUG and TRACE (temporarily)
 discard 6b3bf1710c restore a @Cause annotation to args that had it removed previously, where method still exists
 discard 8b03236936 small test tweak
 discard 5e9d755fe2 Adding support for exception on LogProcessor
 discard 5428036d09 some more converstion on artemis-server
 discard ca0987782d disable push builds on apache repo; still enabled for forks, along with PR + manual builds
 discard d5d7bd0141 make start on artemis-server, note some issues with these and previous changes
 discard a0861d0e57 remove actioned TODO comment
 discard e71ea07441 fix some arg/format issues with prior commit
 discard 3b69f26016 Addressing variable arguments on AuditLogger
 discard 5a477dc228 Addressing TODOs: we should never have any wrong class names, no more usage of LOGGER.error, always remove those
 discard 9d392ee1e6 some TODOs around logger names etc
 discard a6f8a00865 update more of artemis-jdbc-store, but not all in order to note specific issues
 discard 8ea0dc205d fixing formatting with {} some real implementation on Processor
 discard 09284afd7d make start on artemis-jdbc-store to highlight some needed conversions
 discard 2c6bcea8d9 add scopes, mostly test and some runtime for now, for SLF4J Log4J binding dep
 discard d5c1ba5b18 use SLF4J -> Log4J 2 impl
 discard 46106924fb fix AuditLogger line spacing
 discard 07abffebd2 remove comment note already actioned
 discard d0bbd8c9ef fix junit licence note again
 discard ac3d301ba5 progress - artemis-journal is compiling
 discard af4853973e progress
 discard 0e4818ebab WIP: some notes
 discard 35923621d4 progress
 discard 937e2c2d2d Progress
 discard 0d7480b9dc Fixes
 discard 58664be26c progress
 discard a12f49edf7 progress
 discard f96849206c moving some stuff
 discard 85843b654b removing jboss logging
 discard efa86477de fail on duplicate
 discard 8809dc1185 removing logger level
 discard 6926329d6c prototype Log Processor
     add 2e1bf7fbf7 NO-JIRA update release docs for 2.22.0
     add 73758c91f4 NO-JIRA add DB upgrade instructions for 2.21.0
     add 1223f4fb03 NO-JIRA Updating Release notes on Docs, pre release
     add 8d27f3e333 ARTEMIS-3853 Fix default ping command IPv6 for Windows
     add 1eda08bc53 NO-JIRA Removing some obvious statements from Releasing.md
     add 04e4e7af86 NO-JIRA some extra cleanup on Releasing.md
     add 224ca0d4d7 [maven-release-plugin] prepare release 2.23.0
     add 0fab0dae91 [maven-release-plugin] prepare for next development iteration
     add 0c5e83b76a ARTEMIS-3854: use Process.pid() rather than reflection
     add 9d1ffaedf9 ARTEMIS-3854: remove unused import
     add 4581ea5f45 NO-JIRA: remove redundant test exclude for test removed/fixed in 2016 in fa67d40b9d5efd57f90a732722195665de20c027
     add 8ee5253281 NO-JIRA: remove ancient exclusion that doesnt match anything in the module
     add 88bb733232 ARTEMIS-3410: also disable related test in integration-tests module on Java 16+ for now
     add a3997380c7 NO-JIRA removing test-ng from groovy
     add 578f2fb5cf ARTEMIS-3856 re-applying recursive logic on ThreadLocal
     add cf2f9b4ffd ARTEMIS-3305 Compatibility tests dont work with Java 16+
     add 17f99be1dd ARTEMIS-3842 removed reference to JDK8 by retiring a whole mvn profile
     add 3002dcefec NO-JIRA Removing ThreadRuleCheck from CompatibilityTests
     add c9208aafda ARTEMIS-3851 MQTT sub q exists after restart despite CleanSession=1
     add 64de8f8f4e ARTEMIS-3859 offer "Original Queue" column only for dead-letter or expiry queues
     add 342565d4c1 ARTEMIS-3850 Eliminate Page Soft Cache. Add Option to read messages based on sizing.
     add d0d2a9a16b 2.23.1 release notes on doc
     new 74905447db prototype Log Processor
     new 3daa3dd603 removing logger level
     new c3ff24eba7 fail on duplicate
     new 1895474a05 removing jboss logging
     new f66167eb37 moving some stuff
     new a23199ab72 progress
     new 75ff495081 progress
     new 26423be44c Fixes
     new 87b00081e8 Progress
     new ca0c64a411 progress
     new dc46dd1be7 WIP: some notes
     new 83019db1af progress
     new 1ab2743203 progress - artemis-journal is compiling
     new ba6d550667 fix junit licence note again
     new c6b664835c remove comment note already actioned
     new 2042e95a8b fix AuditLogger line spacing
     new f38b24b23a use SLF4J -> Log4J 2 impl
     new d969ba854e add scopes, mostly test and some runtime for now, for SLF4J Log4J binding dep
     new 2f8af615b2 make start on artemis-jdbc-store to highlight some needed conversions
     new f61c43eaa7 fixing formatting with {} some real implementation on Processor
     new 915e0eeca4 update more of artemis-jdbc-store, but not all in order to note specific issues
     new d56041b487 some TODOs around logger names etc
     new 24bb838a7d Addressing TODOs: we should never have any wrong class names, no more usage of LOGGER.error, always remove those
     new 99772f0967 Addressing variable arguments on AuditLogger
     new 2bb0006a49 fix some arg/format issues with prior commit
     new bbb821b7b3 remove actioned TODO comment
     new 37a738f709 make start on artemis-server, note some issues with these and previous changes
     new e5481d72a0 disable push builds on apache repo; still enabled for forks, along with PR + manual builds
     new e819a5ee10 some more converstion on artemis-server
     new 0ac71db124 Adding support for exception on LogProcessor
     new ebecf9822a small test tweak
     new 5726a27c54 restore a @Cause annotation to args that had it removed previously, where method still exists
     new 07f3a5a17a Tweaks on log processor to support Exception, add DEBUG and TRACE (temporarily)
     new c5ce66d0b3 small tweak on processor to use a more unique name
     new 55eb7ed731 removing example created during prototype
     new 34b9084063 Making progress with artemis-server
     new 6bf89f31c2 progress on server
     new f6f8214240 more progress
     new 263dbe2b3d making progress: Artemis-server is compiling fine at this point
     new 2920cc7dfe small tweak on log processor
     new 87aa7fcb02 some fixups or notes, for prior changes or existing code noticed reviewing them
     new a20a28011f convert logging for artemis-amqp-protocol
     new 22f09396c5 convert logging for artemis-stomp-protocol
     new b628a27685 convert logging for artemis-jms-client
     new 7bd4bfe0da openwire conversion
     new 05b4707e59 service-extensions conversion
     new d774249df6 adding some known objects to LogProcessor, adding an additional test
     new ddde4e7bcc typo on comment
     new 4338fe0af1 fix placeholders missed in previous updates
     new b11abd2c20 converting jms-server
     new 98b8913a23 restore original log level for a couple of entries in previous change
     new 54288d45de fix some handling of out-of-order placeholder references previously missed
     new bb5a9b098b fix some placeholder references not previously converted
     new 5fcdcbf4ff restore some levels to original DEBUG, for now at least (as they dont seem like INFOs)
     new 12ad8271c8 update artemis-mqtt-protocol
     new 1fe3a540c5 update artemis-cdi-client
     new 5fbca4cc15 update artemis-cli
     new c86b3c2c10 removing non used class
     new ca242c9da1 removing some non used logging
     new 3f727bbb4a Some System.out.println logging on the log processor
     new 5dbaa2a6ac some javadoc fixup
     new df25cc0352 removing system.out
     new b6e3e0e485 moving System.out loggers on LogProcessor
     new 49c32f25d3 Placing getlogger back in place
     new bbf9e6c2b7 add missing license header
     new 66e69c5433 tweak variables for simplicity, make debug env variable align better with processor name/purpose
     new 964b1c1170 some progress... next on the list now is RA
     new d5eb7530d9 RA changes
     new f0a44b5adf Jakarta RA pom
     new e1f95ff856 Rest conv
     new d3bf8f985a jms-tests, joram tests
     new 4be34b586d fix some missed conversions, dep updates from previous changes
     new 9036de4dd4 WIP - some osgi changes probably needed, and use snapshot artemis-native to remove JBL dep that should never have been passed on
     new 1f961de74b remove log config reloader that depends on jboss logmanager
     new 67ba9eadc5 Fixing clashes after rebasing
     new 804ae3c953 some more rebase fixups missed in prior commit
     new 80e6fe4a4d get artemis-amqp-protocol compiling [again]
     new bf44d5bd14 add some TODO notes
     new 492c79ad56 get artemis-jms-server compiling
     new f31c69337a get artemis-mqtt-protocol compiling
     new 233445878a get artemis-cli compiling
     new 7a2b481a31 add TODO about potentially expensive preparation of probably-not-logged details
     new 132a445290 fixup various compilations issues in more modules, and poking to get artemis-features build to complete
     new 0a71eb0532 update various tests to fix compilation
     new ab1ed6c26f add TODOs and disable certain tests that need more extensive fixups, gets overall build 'completing' for next steps
     new 1c36d932da fixups for rebase from e49a9521aaf6b706d692d797c32100a205704186 to d0d2a9a16bb6664d1ebeb977f7213a9b8fa640da

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (672217ec43)
            \
             N -- N -- N   refs/heads/new-logging (1c36d932da)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 86 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASING.md                                       |   8 -
 artemis-boot/pom.xml                               |   2 +-
 artemis-cdi-client/pom.xml                         |   2 +-
 artemis-cli/pom.xml                                |   2 +-
 .../artemis/cli/commands/tools/PrintData.java      | 120 ++--
 .../cli/commands/tools/xml/XmlDataExporter.java    |  57 +-
 .../activemq/artemis/cli/commands/etc/broker.xml   |   7 +
 artemis-commons/pom.xml                            |   2 +-
 .../artemis/core/server/NetworkHealthCheck.java    |   2 +-
 .../artemis/utils/ReferenceCounterUtil.java        |  35 +-
 .../activemq/artemis/utils/SizeAwareMetric.java    |   7 +
 .../artemis/utils/collections/EmptyList.java       | 108 ++++
 .../artemis/utils/collections/LinkedList.java      |   6 +
 .../artemis/utils/collections/LinkedListImpl.java  |  27 +
 .../apache/activemq/artemis/utils/ExecuteUtil.java |  11 +-
 .../org/apache/activemq/artemis/utils/Wait.java    |   8 +-
 artemis-core-client-all/pom.xml                    |   2 +-
 artemis-core-client-osgi/pom.xml                   |   2 +-
 artemis-core-client/pom.xml                        |   2 +-
 .../api/core/management/AddressControl.java        |   2 +-
 .../core/protocol/core/CoreRemotingConnection.java |   5 +
 .../core/protocol/core/impl/PacketImpl.java        |   3 +
 .../core/remoting/impl/netty/NettyConnection.java  |  50 +-
 .../artemis/utils/SoftValueLongObjectHashMap.java  | 400 ------------
 .../src/main/resources/activemq-version.properties |   2 +-
 artemis-distribution/pom.xml                       |   2 +-
 artemis-dto/pom.xml                                |   2 +-
 artemis-features/pom.xml                           |   2 +-
 artemis-hawtio/activemq-branding/pom.xml           |   2 +-
 artemis-hawtio/artemis-console/pom.xml             |   2 +-
 artemis-hawtio/artemis-plugin/pom.xml              |   2 +-
 .../src/main/webapp/plugin/js/components/browse.js |   5 +-
 artemis-hawtio/pom.xml                             |   2 +-
 artemis-jakarta-client-all/pom.xml                 |   2 +-
 artemis-jakarta-client/pom.xml                     |   2 +-
 artemis-jakarta-ra/pom.xml                         |   2 +-
 artemis-jakarta-server/pom.xml                     |   2 +-
 artemis-jakarta-service-extensions/pom.xml         |   2 +-
 artemis-jdbc-store/pom.xml                         |   2 +-
 artemis-jms-client-all/pom.xml                     |   2 +-
 artemis-jms-client-osgi/pom.xml                    |   2 +-
 artemis-jms-client/pom.xml                         |   2 +-
 artemis-jms-server/pom.xml                         |   2 +-
 artemis-journal/pom.xml                            |   2 +-
 artemis-junit/pom.xml                              |   2 +-
 artemis-log-processor/pom.xml                      |   2 +-
 artemis-maven-plugin/pom.xml                       |   2 +-
 artemis-protocols/artemis-amqp-protocol/pom.xml    |   2 +-
 .../protocol/amqp/broker/AMQPLargeMessage.java     |   2 +-
 artemis-protocols/artemis-hornetq-protocol/pom.xml |   2 +-
 .../artemis-hqclient-protocol/pom.xml              |   2 +-
 artemis-protocols/artemis-mqtt-protocol/pom.xml    |   2 +-
 .../protocol/mqtt/MQTTSubscriptionManager.java     |  18 +-
 .../artemis-openwire-protocol/pom.xml              |   2 +-
 artemis-protocols/artemis-stomp-protocol/pom.xml   |   2 +-
 artemis-protocols/pom.xml                          |   2 +-
 artemis-quorum-api/pom.xml                         |   2 +-
 artemis-quorum-ri/pom.xml                          |   2 +-
 artemis-ra/pom.xml                                 |   2 +-
 artemis-rest/pom.xml                               |   2 +-
 artemis-selector/pom.xml                           |  31 +-
 artemis-server-osgi/pom.xml                        |   2 +-
 artemis-server/pom.xml                             |   2 +-
 .../deployers/impl/FileConfigurationParser.java    |  18 +
 .../core/management/impl/AddressControlImpl.java   |   2 +-
 .../artemis/core/paging/PageTransactionInfo.java   |   4 +-
 .../activemq/artemis/core/paging/PagedMessage.java |  12 +
 .../activemq/artemis/core/paging/PagingStore.java  |  22 +-
 .../artemis/core/paging/cursor/BulkPageCache.java  |  24 -
 .../artemis/core/paging/cursor/LivePageCache.java  |  24 -
 .../core/paging/cursor/PageCursorProvider.java     |  25 +-
 .../artemis/core/paging/cursor/PageIterator.java   |  10 +-
 .../artemis/core/paging/cursor/PagePosition.java   |   4 -
 .../core/paging/cursor/PageSubscription.java       |  33 +-
 .../artemis/core/paging/cursor/PagedReference.java |  12 -
 .../core/paging/cursor/PagedReferenceImpl.java     |  56 +-
 ...PageCache.java => QueryPagedReferenceImpl.java} |  23 +-
 .../core/paging/cursor/impl/LivePageCacheImpl.java | 115 ----
 .../core/paging/cursor/impl/PageCacheImpl.java     |  74 ---
 .../paging/cursor/impl/PageCursorProviderImpl.java | 270 +-------
 .../core/paging/cursor/impl/PagePositionImpl.java  |  35 +-
 .../core/paging/cursor/impl/PageReader.java        | 138 ----
 .../cursor/impl/PageSubscriptionCounterImpl.java   |  18 +-
 .../paging/cursor/impl/PageSubscriptionImpl.java   | 705 ++++++++-------------
 .../activemq/artemis/core/paging/impl/Page.java    | 583 +++++------------
 .../artemis/core/paging/impl/PageCache.java        |  70 ++
 .../artemis/core/paging/impl/PageReadWriter.java   | 326 ++++++++++
 .../core/paging/impl/PageTransactionInfoImpl.java  |  38 +-
 .../artemis/core/paging/impl/PagedMessageImpl.java |  35 +-
 .../artemis/core/paging/impl/PagingStoreImpl.java  | 198 ++++--
 .../artemis/core/persistence/StorageManager.java   |   6 +-
 .../journal/AbstractJournalStorageManager.java     |   4 +-
 .../persistence/impl/journal/DescribeJournal.java  |   2 +-
 .../impl/journal/JournalStorageManager.java        |   6 +-
 .../core/persistence/impl/journal/LargeBody.java   |   7 +
 .../impl/journal/LargeServerMessageImpl.java       |   2 +-
 .../journal/codec/CursorAckRecordEncoding.java     |   1 -
 .../impl/nullpm/NullStorageLargeServerMessage.java |   5 +-
 .../impl/nullpm/NullStorageManager.java            |   6 +-
 .../artemis/core/protocol/ServerPacketDecoder.java |   4 +-
 .../wireformat/ReplicationPageEventMessage.java    |  43 +-
 .../wireformat/ReplicationPageWriteMessage.java    |  42 +-
 .../core/replication/ReplicationEndpoint.java      |  22 +-
 .../core/replication/ReplicationManager.java       |  12 +-
 .../artemis/core/server/ActiveMQServerLogger.java  |  10 +-
 .../core/server/impl/PostOfficeJournalLoader.java  |  50 +-
 .../artemis/core/server/impl/QueueImpl.java        |  88 +--
 .../core/server/impl/ServerConsumerImpl.java       |   3 +-
 .../server/impl/SharedNothingBackupActivation.java |   2 +-
 .../core/settings/impl/AddressSettings.java        |  48 +-
 .../resources/schema/artemis-configuration.xsd     |  19 +
 .../config/impl/FileConfigurationParserTest.java   |  14 +
 .../core/config/impl/FileConfigurationTest.java    |  20 +
 .../cursor/impl/PageCursorProviderAccessor.java    |  15 +-
 .../cursor/impl/PageCursorProviderImplTest.java    | 129 ----
 .../core/paging/cursor/impl/PageReaderTest.java    | 214 -------
 .../paging/impl/PagingManagerTestAccessor.java     |   4 +
 .../core/paging/impl/PagingStoreTestAccessor.java  |  13 +
 .../artemis/core/server/impl/QueueImplTest.java    |   3 +-
 .../core/server/impl/QueueImplTestAccessor.java    |   4 +-
 .../core/transaction/impl/TransactionImplTest.java |   6 +-
 .../artemis/tests/util/ActiveMQTestBase.java       |  21 +
 artemis-service-extensions/pom.xml                 |   2 +-
 artemis-web/pom.xml                                |   2 +-
 artemis-website/pom.xml                            |   2 +-
 docs/user-manual/en/address-settings.md            |   3 +-
 docs/user-manual/en/config-reload.md               |   1 -
 docs/user-manual/en/configuration-index.md         |   1 -
 docs/user-manual/en/paging.md                      |  15 +-
 docs/user-manual/en/versions.md                    |  75 ++-
 .../amqp-receiving-messages/pom.xml                |   2 +-
 .../amqp-sending-messages-multicast/pom.xml        |   2 +-
 .../amqp-sending-messages/pom.xml                  |   2 +-
 .../broker-connection/amqp-sending-overssl/pom.xml |   2 +-
 .../broker-connection/disaster-recovery/pom.xml    |   2 +-
 examples/features/broker-connection/pom.xml        |   2 +-
 .../clustered/client-side-load-balancing/pom.xml   |   2 +-
 .../clustered-durable-subscription/pom.xml         |   2 +-
 .../features/clustered/clustered-grouping/pom.xml  |   2 +-
 .../features/clustered/clustered-jgroups/pom.xml   |   2 +-
 .../features/clustered/clustered-queue/pom.xml     |   2 +-
 .../clustered-static-discovery-uri/pom.xml         |   2 +-
 .../clustered/clustered-static-discovery/pom.xml   |   2 +-
 .../clustered/clustered-static-oneway/pom.xml      |   2 +-
 .../features/clustered/clustered-topic-uri/pom.xml |   2 +-
 .../features/clustered/clustered-topic/pom.xml     |   2 +-
 examples/features/clustered/pom.xml                |   2 +-
 .../clustered/queue-message-redistribution/pom.xml |   2 +-
 .../shared-storage-static-cluster/pom.xml          |   2 +-
 .../features/clustered/symmetric-cluster/pom.xml   |   2 +-
 .../connection-router/evenly-redirect/pom.xml      |   2 +-
 examples/features/connection-router/pom.xml        |   2 +-
 .../connection-router/symmetric-redirect/pom.xml   |   2 +-
 .../connection-router/symmetric-simple/pom.xml     |   2 +-
 .../federation/federated-address-divert/pom.xml    |   2 +-
 .../federated-address-downstream-upstream/pom.xml  |   2 +-
 .../federated-address-downstream/pom.xml           |   2 +-
 .../features/federation/federated-address/pom.xml  |   2 +-
 .../federated-queue-downstream-upstream/pom.xml    |   2 +-
 .../federation/federated-queue-downstream/pom.xml  |   2 +-
 .../features/federation/federated-queue/pom.xml    |   2 +-
 examples/features/federation/pom.xml               |   2 +-
 .../features/ha/application-layer-failover/pom.xml |   2 +-
 .../ha/client-side-failoverlistener/pom.xml        |   2 +-
 .../ha/colocated-failover-scale-down/pom.xml       |   2 +-
 examples/features/ha/colocated-failover/pom.xml    |   2 +-
 examples/features/ha/ha-policy-autobackup/pom.xml  |   2 +-
 .../features/ha/multiple-failover-failback/pom.xml |   2 +-
 examples/features/ha/multiple-failover/pom.xml     |   2 +-
 .../features/ha/non-transaction-failover/pom.xml   |   2 +-
 examples/features/ha/pom.xml                       |   2 +-
 .../features/ha/replicated-failback-static/pom.xml |   2 +-
 examples/features/ha/replicated-failback/pom.xml   |   2 +-
 .../ha/replicated-multiple-failover/pom.xml        |   2 +-
 .../ha/replicated-transaction-failover/pom.xml     |   2 +-
 examples/features/ha/scale-down/pom.xml            |   2 +-
 examples/features/ha/stop-server-failover/pom.xml  |   2 +-
 examples/features/ha/transaction-failover/pom.xml  |   2 +-
 .../ha/zookeeper-single-pair-failback/pom.xml      |   2 +-
 examples/features/perf/perf/pom.xml                |   2 +-
 examples/features/perf/pom.xml                     |   2 +-
 examples/features/perf/soak/pom.xml                |   2 +-
 examples/features/pom.xml                          |   2 +-
 examples/features/standard/auto-closeable/pom.xml  |   2 +-
 .../standard/broker-msg-auth-plugin/pom.xml        |   2 +-
 examples/features/standard/broker-plugin/pom.xml   |   2 +-
 examples/features/standard/browser/pom.xml         |   2 +-
 .../features/standard/camel/camel-broker/pom.xml   |   2 +-
 examples/features/standard/camel/camel-war/pom.xml |   2 +-
 examples/features/standard/camel/pom.xml           |   2 +-
 examples/features/standard/cdi/pom.xml             |   2 +-
 examples/features/standard/client-kickoff/pom.xml  |   2 +-
 .../features/standard/completion-listener/pom.xml  |   2 +-
 .../features/standard/consumer-rate-limit/pom.xml  |   2 +-
 examples/features/standard/context/pom.xml         |   2 +-
 examples/features/standard/core-bridge/pom.xml     |   2 +-
 examples/features/standard/database/pom.xml        |   2 +-
 examples/features/standard/dead-letter/pom.xml     |   2 +-
 .../features/standard/delayed-redelivery/pom.xml   |   2 +-
 examples/features/standard/divert/pom.xml          |   2 +-
 .../features/standard/durable-subscription/pom.xml |   2 +-
 examples/features/standard/embedded-simple/pom.xml |   2 +-
 examples/features/standard/embedded/pom.xml        |   2 +-
 examples/features/standard/exclusive-queue/pom.xml |   2 +-
 examples/features/standard/expiry/pom.xml          |   2 +-
 examples/features/standard/http-transport/pom.xml  |   2 +-
 .../instantiate-connection-factory/pom.xml         |   2 +-
 .../features/standard/interceptor-amqp/pom.xml     |   2 +-
 .../features/standard/interceptor-client/pom.xml   |   2 +-
 .../features/standard/interceptor-mqtt/pom.xml     |   2 +-
 examples/features/standard/interceptor/pom.xml     |   2 +-
 examples/features/standard/jms-bridge/pom.xml      |   2 +-
 examples/features/standard/jmx-ssl/pom.xml         |   2 +-
 examples/features/standard/jmx/pom.xml             |   2 +-
 examples/features/standard/large-message/pom.xml   |   2 +-
 .../features/standard/last-value-queue/pom.xml     |   2 +-
 .../standard/management-notifications/pom.xml      |   2 +-
 examples/features/standard/management/pom.xml      |   2 +-
 .../features/standard/message-counters/pom.xml     |   2 +-
 examples/features/standard/message-group/pom.xml   |   2 +-
 examples/features/standard/message-group2/pom.xml  |   2 +-
 .../features/standard/message-priority/pom.xml     |   2 +-
 examples/features/standard/netty-openssl/pom.xml   |   2 +-
 .../standard/no-consumer-buffering/pom.xml         |   2 +-
 examples/features/standard/opentracing/pom.xml     |   2 +-
 examples/features/standard/paging/pom.xml          |   2 +-
 examples/features/standard/pom.xml                 |   2 +-
 examples/features/standard/pre-acknowledge/pom.xml |   2 +-
 .../features/standard/producer-rate-limit/pom.xml  |   2 +-
 examples/features/standard/queue-jakarta/pom.xml   |   2 +-
 examples/features/standard/queue-requestor/pom.xml |   2 +-
 examples/features/standard/queue-selector/pom.xml  |   2 +-
 examples/features/standard/queue/pom.xml           |   2 +-
 examples/features/standard/reattach-node/pom.xml   |   2 +-
 examples/features/standard/request-reply/pom.xml   |   2 +-
 examples/features/standard/rest/dup-send/pom.xml   |   2 +-
 .../features/standard/rest/javascript-chat/pom.xml |   2 +-
 .../features/standard/rest/jms-to-rest/pom.xml     |   2 +-
 examples/features/standard/rest/pom.xml            |   2 +-
 examples/features/standard/rest/push/pom.xml       |   2 +-
 .../features/standard/scheduled-message/pom.xml    |   2 +-
 .../features/standard/security-keycloak/pom.xml    |   2 +-
 examples/features/standard/security-ldap/pom.xml   |   2 +-
 .../features/standard/security-manager/pom.xml     |   2 +-
 examples/features/standard/security/pom.xml        |   2 +-
 .../standard/send-acknowledgements/pom.xml         |   2 +-
 examples/features/standard/shared-consumer/pom.xml |   2 +-
 examples/features/standard/slow-consumer/pom.xml   |   2 +-
 .../standard/spring-boot-integration/pom.xml       |   2 +-
 .../features/standard/spring-integration/pom.xml   |   2 +-
 .../features/standard/ssl-enabled-crl-mqtt/pom.xml |   2 +-
 .../ssl-enabled-dual-authentication/pom.xml        |   2 +-
 examples/features/standard/ssl-enabled/pom.xml     |   2 +-
 examples/features/standard/static-selector/pom.xml |   2 +-
 examples/features/standard/temp-queue/pom.xml      |   2 +-
 .../features/standard/topic-hierarchies/pom.xml    |   2 +-
 examples/features/standard/topic-selector1/pom.xml |   2 +-
 examples/features/standard/topic-selector2/pom.xml |   2 +-
 examples/features/standard/topic/pom.xml           |   2 +-
 examples/features/standard/transactional/pom.xml   |   2 +-
 examples/features/standard/xa-heuristic/pom.xml    |   2 +-
 examples/features/standard/xa-receive/pom.xml      |   2 +-
 examples/features/standard/xa-send/pom.xml         |   2 +-
 .../sub-modules/artemis-jakarta-ra-rar/pom.xml     |   2 +-
 .../features/sub-modules/artemis-ra-rar/pom.xml    |   2 +-
 .../inter-broker-bridge/artemis-jms-bridge/pom.xml |   2 +-
 .../sub-modules/inter-broker-bridge/pom.xml        |   2 +-
 examples/features/sub-modules/pom.xml              |   2 +-
 examples/features/sub-modules/tomcat/pom.xml       |   2 +-
 examples/pom.xml                                   |   2 +-
 examples/protocols/amqp/pom.xml                    |   2 +-
 .../protocols/amqp/proton-clustered-cpp/pom.xml    |   2 +-
 examples/protocols/amqp/proton-cpp/pom.xml         |   2 +-
 examples/protocols/amqp/proton-ruby/pom.xml        |   2 +-
 examples/protocols/amqp/queue/pom.xml              |   2 +-
 examples/protocols/amqp/sasl-scram/pom.xml         |   2 +-
 .../protocols/mqtt/clustered-queue-mqtt/pom.xml    |   2 +-
 examples/protocols/mqtt/pom.xml                    |   2 +-
 examples/protocols/mqtt/publish-subscribe/pom.xml  |   2 +-
 examples/protocols/openwire/chat/pom.xml           |   2 +-
 .../protocols/openwire/message-listener/pom.xml    |   2 +-
 .../protocols/openwire/message-recovery/pom.xml    |   2 +-
 examples/protocols/openwire/pom.xml                |   2 +-
 examples/protocols/openwire/queue/pom.xml          |   2 +-
 .../openwire/virtual-topic-mapping/pom.xml         |   2 +-
 examples/protocols/pom.xml                         |   2 +-
 examples/protocols/stomp/pom.xml                   |   2 +-
 .../stomp/stomp-dual-authentication/pom.xml        |   2 +-
 .../stomp/stomp-embedded-interceptor/pom.xml       |   2 +-
 examples/protocols/stomp/stomp-jms/pom.xml         |   2 +-
 examples/protocols/stomp/stomp-websockets/pom.xml  |   2 +-
 examples/protocols/stomp/stomp/pom.xml             |   2 +-
 examples/protocols/stomp/stomp1.1/pom.xml          |   2 +-
 examples/protocols/stomp/stomp1.2/pom.xml          |   2 +-
 integration/activemq-spring-integration/pom.xml    |   2 +-
 pom.xml                                            |   4 +-
 tests/activemq5-unit-tests/pom.xml                 |   2 +-
 tests/artemis-test-support/pom.xml                 |   2 +-
 tests/compatibility-tests/pom.xml                  |  60 +-
 .../artemis/tests/compatibility/GroovyRun.java     |   8 +-
 .../resources/addressConfig/receiveMessages.groovy |   4 +-
 .../multiVersionReplica/backupServer.groovy        |  57 ++
 .../backupServerIsActive.groovy}                   |  19 +-
 .../multiVersionReplica/backupServerStop.groovy    |   8 +-
 .../multiVersionReplica/mainServer.groovy          |  57 ++
 .../mainServerIsReplicated.groovy}                 |  25 +-
 .../multiVersionReplica/mainServerStop.groovy      |   8 +-
 .../compatibility/MultiVersionReplicaTest.java     | 154 +++++
 .../artemis/tests/compatibility/ReplyToTest.java   |   9 +
 .../tests/compatibility/base/ClasspathBase.java    |  66 +-
 .../tests/compatibility/base/TestClassLoader.java  |  48 ++
 .../tests/compatibility/base/VersionedBase.java    |   9 +-
 tests/e2e-tests/pom.xml                            |   2 +-
 tests/extra-tests/pom.xml                          |   2 +-
 tests/integration-tests/pom.xml                    |  21 +-
 .../amqp/connect/AMQPBridgeDisconnectTest.java     |   7 +-
 .../amqp/connect/QpidDispatchPeerTest.java         |   2 +-
 .../amqp/paging/AmqpPageReaderTest.java            |  83 ---
 .../integration/amqp/paging/AmqpPagingTest.java    |   2 +-
 .../client/JMSPagingFileDeleteTest.java            |   2 +-
 .../tests/integration/client/LargeMessageTest.java |   4 -
 .../tests/integration/client/SendAckFailTest.java  |   6 +-
 .../management/AddressControlUsingCoreTest.java    |   2 +-
 .../tests/integration/mqtt/MQTTQueueCleanTest.java |  15 +
 .../integration/mqtt/PahoMQTTQOS2SecurityTest.java |   2 +-
 .../artemis/tests/integration/mqtt5/MQTT5Test.java |  17 +
 .../tests/integration/paging/PagingTest.java       | 515 ++++++++++++---
 tests/jms-tests/pom.xml                            |   2 +-
 tests/joram-tests/pom.xml                          |   2 +-
 tests/karaf-client-integration-tests/pom.xml       |   2 +-
 tests/performance-jmh/pom.xml                      |   2 +-
 tests/performance-tests/pom.xml                    |   2 +-
 .../storage/PersistMultiThreadTest.java            |  47 +-
 tests/pom.xml                                      |   2 +-
 tests/smoke-tests/pom.xml                          |   2 +-
 .../smoke/replicationflow/SoakPagingTest.java      |   4 +-
 tests/soak-tests/pom.xml                           |   2 +-
 tests/stress-tests/pom.xml                         |   2 +-
 .../tests/stress/paging/PageCursorStressTest.java  |  62 +-
 tests/timing-tests/pom.xml                         |   2 +-
 tests/unit-tests/pom.xml                           |   2 +-
 .../tests/unit/core/paging/impl/PageTest.java      |  92 ++-
 .../core/paging/impl/PagingManagerImplTest.java    |   4 +-
 .../unit/core/paging/impl/PagingStoreImplTest.java | 272 +++++---
 .../artemis/tests/unit/util/EmptyListTest.java     |  32 +-
 .../artemis/tests/unit/util/LinkedListTest.java    |  23 +
 .../artemis/tests/unit/util/SoftValueMapTest.java  | 131 ----
 347 files changed, 3433 insertions(+), 3604 deletions(-)
 create mode 100644 artemis-commons/src/main/java/org/apache/activemq/artemis/utils/collections/EmptyList.java
 delete mode 100644 artemis-core-client/src/main/java/org/apache/activemq/artemis/utils/SoftValueLongObjectHashMap.java
 delete mode 100644 artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/BulkPageCache.java
 delete mode 100644 artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/LivePageCache.java
 rename artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/{PageCache.java => QueryPagedReferenceImpl.java} (67%)
 delete mode 100644 artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/LivePageCacheImpl.java
 delete mode 100644 artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCacheImpl.java
 delete mode 100644 artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageReader.java
 create mode 100644 artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PageCache.java
 create mode 100644 artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/PageReadWriter.java
 copy artemis-journal/src/test/java/org/apache/activemq/artemis/core/TestDeleteme.java => artemis-server/src/test/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCursorProviderAccessor.java (73%)
 delete mode 100644 artemis-server/src/test/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageCursorProviderImplTest.java
 delete mode 100644 artemis-server/src/test/java/org/apache/activemq/artemis/core/paging/cursor/impl/PageReaderTest.java
 create mode 100644 tests/compatibility-tests/src/main/resources/multiVersionReplica/backupServer.groovy
 copy tests/compatibility-tests/src/main/resources/{journalcompatibility/forcepaging.groovy => multiVersionReplica/backupServerIsActive.groovy} (59%)
 copy artemis-commons/src/main/java/org/apache/activemq/artemis/core/PriorityAware.java => tests/compatibility-tests/src/main/resources/multiVersionReplica/backupServerStop.groovy (88%)
 create mode 100644 tests/compatibility-tests/src/main/resources/multiVersionReplica/mainServer.groovy
 copy tests/compatibility-tests/src/main/resources/{ActiveMQJMSClientCompatibilityTest/validateClient.groovy => multiVersionReplica/mainServerIsReplicated.groovy} (58%)
 copy artemis-commons/src/main/java/org/apache/activemq/artemis/core/PriorityAware.java => tests/compatibility-tests/src/main/resources/multiVersionReplica/mainServerStop.groovy (88%)
 create mode 100644 tests/compatibility-tests/src/test/java/org/apache/activemq/artemis/tests/compatibility/MultiVersionReplicaTest.java
 create mode 100644 tests/compatibility-tests/src/test/java/org/apache/activemq/artemis/tests/compatibility/base/TestClassLoader.java
 delete mode 100644 tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/paging/AmqpPageReaderTest.java
 copy artemis-protocols/artemis-amqp-protocol/src/test/java/org/apache/activemq/artemis/protocol/amqp/converter/AnnotationNameConveterTest.java => tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/util/EmptyListTest.java (52%)
 delete mode 100644 tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/util/SoftValueMapTest.java