Propertly re-setting the storeOpenWireVersion from the BrokerService
on the KahaDB Metadata if a corrupted index is detected and the
Metadata has to be recreated.
(cherry picked from commit 7a7c70ad7524594339c4388b897fa1eac6988928)
Make the transportConnector configs consistent across all four variants
by removing the enableCipherSuites option on openwire NIO+SSL. RC4 was
enabled on the broker side but in later JDK releases that suite is
disbaled as it is insecure so the client side couldn't find a supported
suite.
(cherry picked from commit 315147c5ef3d545a868c74fe55d8ea7efb09f1d1)
WSServlet for websockets will attempt to detect the subprotocol
requested and respond with the appropriate one. Currently the protocols
loaded are what stomp.js use for stomp (v11.stomp and v12.stomp).
If a protocol can't be found then a default will be returned, either
"stomp" or "mqtt", which is the same behavior before this patch.
This will make it a bit easier to use stomp over websockets out of the
box as stomp.js will work by default.
(cherry picked from commit 913f64476b66c452fa03cb4fb8c09d831825bca5)
Updated QueueBrowserSubscription to use a ConcurrentMap to avoid a
potential race condition when multiple queue browsers browse
multiple queues.
(cherry picked from commit d346a765e3064a951c5d55119b80b8432a45bcb6)
Fixed contains method in PrioritizedPendinList which was not returning
correctly. This was causing messages to not be removed from the
dispatchPendingList when purge was called inside a Queue leading to an
eventual OOM error if enough messages were purged. This fix also
improves performance of the contains method.
(cherry picked from commit 8363c99b51a98eb176e6baea82fcafce3225ba2c)
Reverting commit because allowing 0 doesn't actually set the usage to
0 size. It ends up disabling the check all together which was the
opposite intention of the commit.
This reverts commit 3b658f8e1aa8c9170b8d414fe8cd05c6826b490a.
The journalSize counter should be set to 0 after KahaDB is shut down.
Usually, a store is not restarted again after stopping, but if it ever
was the value would be wrong since it wasn't reset back to 0.
Fixing an intermittent test failure in:
org.apache.activemq.transport.ws.StompWSSTransportTest.
testHeartbeatsKeepsConnectionOpen
Adding synchronization on sends for StompWSConnection. The protocol
doesn't allow multiple threads to call a blocking send at the same time
and the heartbeat keep alive thread was colliding with the main
thread on sends.
Switching addMessageLast to tryAddMessageLast when messages are added
to a Queue pending cursor to allow a potential deadlock to be
avoided. There is more work to be done here but this will at least
prevent a deadlock from occurring.
Fix and test based off of a patch created by Timothy Bish.
Account for Authzid in SASL PLAIN mechanism and provide a means to fail
the authorization if the challenge response is invalid. Update the
client to properly exclude sasl mechanism that don't apply to it's
configured credentials such as using only ANONYMOUS when no user or
password is set.