Fixing a thread safety issue with memoryUsage when using concurrentStoreAndDispatch
that was causing memory usage to get out of sync.
The InnerFutureTask class inside KahaDB was not thread safe which was
the root cause of the problem.
(cherry picked from commit 0f0bdb21ef97c39ec7d54d164e07921611c1de08)
Adding support for Jetty 9.3 by re-adding in the logic to dynamically
load the correct GzipHandler depending on the version
(cherry picked from commit 80f46a80560b2b2ed9fb418c33df75136bc3dc52)
Changing the WebSocket servlet to return a succesful empty response
instead of an error when a GET request is made
(cherry picked from commit f40532a23d70639a027fcf87893de8683edf430f)
Better handle prefetch extension and pull consumers over Topics to avoid
the remote not receiving all the messages available based on the credit
it has issued.
(cherry picked from commit e050519ff6ae8079c5183f6e6372ddb3d03e91c7)
Fixing the auto transport protocol detection so that the byte buffer
that captures the initial bytes for detection is not shared across
threads. This was causing failed connections under high load and high cpu
usage under NIO
(cherry picked from commit 7e648d512d06508d85f6a4e111d9adbdb9e33a82)
Round the start time value not truncate to ensure delay falls on the
correct side of the scheduling block.
(cherry picked from commit 980162233fd3693d1f83d3f95985ac33affa7a8f)
Adding a timeout for websocket sends to prevent the transport thread
from getting stuck and blocking. The default is 30 seconds.
(cherry picked from commit 450cabe4ead1fb78eec2e94013d2868a5bf864da)
Include the already received backlog when deciding to grant additional
credit to avoid excessive backlogs of messages during producer flow
control.
(cherry picked from commit 7cf7fba7aab05ea9c41bf009325c63a6798f6cc8)
Adding a new ActiveMQXASslContextFactory and jndi support for it
in ActiveMQSslInitialContextFactory
(cherry picked from commit 016ae05d0e2697fe53db276d8e6f098d2e9f6f05)
State variables shared across threads in the transport need to be marked
volatile.
(cherry picked from commit 629ee285685b5f63315c8fcd6138a37bd17b958d)
Ensure the proper versions of dependencies for Qpid JMS are brought in
for the test.
(cherry picked from commit c239bf01a9f643fd217ee10efc5992105694b125)
ReduceMemoryFootprint now applies to non-persistent messages if they
have been marshalled and topics now clear memory after the recovery
policy check
(cherry picked from commit 7c3bb401007b4047c540287b53b435b20d3161c0)
Moving BrokerSubscriptionInfo processing into a new thread to prevent a
deadlock of the network bridge on startup
(cherry picked from commit b9cb02ae54a27e6c2f3ff934a1f01b88b7af2f11)
test showing that remote close and not detach is triggered on close of
the receiver.
(cherry picked from commit 1a811b72ddfae5874016de71300e73d8a286a8c6)
Add a test that checks that closing a session does not provoke the
remote to close the session resources explicitly.
(cherry picked from commit bd8f17700c32652883c0372c85f5296276cd1128)
Durable sync over a network bridge will now also sync non-durable
subscriptions proplrly if the consumer belongs to a destination that is
configured to force network durable subscriptions.
(cherry picked from commit d206621a73e4731b00eff49518ea93ba9a4ee3c0)
Fill in the source / target created for the requested dynamic node with
the actual attributes we are going to support.
(cherry picked from commit 10fc397ab72bcd3c111b517af687ccf4c9372ced)
Properly decrementing the message reference count in
DemandForwardingBridgeSupport when messages supression is checked for
durable subscriptions
(cherry picked from commit 406a34294befca4ba2de4b728c86f64b96a94945)
Better interop for MapMessage with Binary value in the entries of the
payload, should convert back and forth the byte to allow Message to be
treated as a MapMessage and not fall back to a BytesMessage encoding.
(cherry picked from commit d88c4e46ecffdba0040299df6efbcdc4171d1c3d)
Ensure that unsettled TX messages remain acquired and not redelivered to
the receiver. Add several tests that demonstrate that a received
message can be released, rejected, accepted or modified after a TX
rollback if it was not settled.
(cherry picked from commit 0dd806f43f3bee9372ee9b9481089d417c265dfe)
Add a new test for encode / decode validation. Fix issue where the
internal scheduled message properties were escaping into the outbound
message.
(cherry picked from commit b1a9a9382b837fb8cff7f9586c7f9516675bf78a)