Remove incorrect dispatch counter increment on message expiration in
TopicSubscription when a pending limit strategy is set
(cherry picked from commit d0c95146c37f96ca69e1fe82c4b2fe9208f8184e)
Queue purge now acquires the sendLock to prevent new messages from
coming in while purging. The statistics are no longer zeroed out as
they should properly decrement as messages are removed. These changes
should prevent the statistics from going negative.
(cherry picked from commit 56bb079c8227a2beee609b205c001d66597db98a)
Stop connections on all connection attempt errors, not just security
exceptions, to prevent dangling open sockets.
(cherry picked from commit d9c74d7317677725a52466349f7ed91911664d3d)
Converting flags in TransportConnection to AtomicBoolean to reduce
synchronization and improve thread safety
(cherry picked from commit bdec3f6ddb7f1417690f3c89d07ea77f0d6d96e5)
Fixing Scheduler so that a rescheduled task will first cancel the
existing task so it does not get orphaned from the task map. Also
fixing Topic start so that it will only start once and not twice.
(cherry picked from commit 2769298cf64a10cd74320ad132b3677bac20a6cc)
Fixing an issue with syncDurableSubs that cause a bridge failure when
adding multiple bridges between the same brokers
(cherry picked from commit 25703fbd1f27b65a7410acd7df0bfaf7c16845d8)
Fixing the auto+nio+ssl transport so that the protocol detection task
will properly terminate on timeout and not continue to run. Also
lowered the default detection timeout to 15 seconds instead of 30
seconds to match the InactivityMonitor default.
(cherry picked from commit 27238b2dd790cea38d95da46b23ed141f5847782)
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)
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)
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)
Properly decrementing the message reference count in
DemandForwardingBridgeSupport when messages supression is checked for
durable subscriptions
(cherry picked from commit 406a34294befca4ba2de4b728c86f64b96a94945)
The temporary store will now delete the old temp directory on start up
if lazyInit is true instead of waiting for the store to initialize to
clear up space. This prevents space on the disk from being wasted with
old data if the temp store isn't initialized
(cherry picked from commit a82c95cd29a6b06d2083b1869129b9e2addac7da)
Modifying patch so that only stores that persist the noLocal flag will
check if this flag has changed to prevent a subscription from being
deleted by mistake
(cherry picked from commit 18571ce09b6385d8560200928a353e9da1a1ffe4)
When a nolocal durable consumer reconnects the new connectionId is properly captured for
the NoLocal expression so that nolocal works on reconnect. Also fixed
the detection of the nolocal value changing on consumer connect.
(cherry picked from commit 7c293b661f22245ce21bf2b5aa1c5bf4192cb8c5)
Fixing durable sync over a network bridge so that network subscriptions
that are no longer permissible are also cleaned up
(cherry picked from commit a038655605e8fa1de279b37989ba69a68f83c601)
Properly copying wire format options map before applying to the
transport when using auto transports so that the options do not get
cleared and will be used for all future connections
(cherry picked from commit 9ab94883a8ba88aeeb0a16e2310ab42a46de1d05)
Properly setting the transport properties on the
AutoNIOSSLTransportServer and fixing the Stomp protocol to set the peer
certs when using auto+ssl
(cherry picked from commit 98c5866c7534c1f26d2e41edbdb372fe21387fe4)
Changing the nio+ssl transports to trigger a serviceRead after start up
to prevent blocking. The prevents the channels from not reading in
certain cases, most notably with the auto+nio+ssl transport when used
for a network bridge. Also added a couple tests and changed a network
bridge test to test out auto+nio+ssl.
(cherry picked from commit ed0e786b6002633411037923fb28a075489e442b)
Fix up the Memory Store such that it removes the references it adds to
messages when they are placed into the memory durable topic subscription
store.
(cherry picked from commit bb8d32c04aa06735d0036963685a4bc41fcbaad7)
Adding non-blocking metrics to KahaDB to track message counts and sizes
for subscriptions. Turned off by default but can be enabled on the
KahaDBPersistenceAdapter
Adding a new OpenWire command called BrokerSubscriptionInfo in order to
help synchronize durable subs across a network bridge. Added OpenWire
version 12. For dynamicallyIncludedDestination durable subs will now be
synchronized on a bridge reconnect as long as the bridge supports
conduitSubscriptions and dynamicOnly=false