Fixing X-Frame-Options header so that is applied for all content served
by Jetty. The previous patch wasn't correct because it only applied it
to Servlets and JSPs and not static content. This also reverts AMQ-6113
(cherry picked from commit 24ad367785)
Computing messageSize for a durable subscription in KahaDB now runs much
faster (n vs n^2) which is noticable when there are a large number of
pending messages for a durable subscription.
(cherry picked from commit 25ff5699f1)
Ensure that when add / remove commands are colocated they don't prevent
the log from being GC'd once it is unreferenced.
(cherry picked from commit 8c4b5f485d)
Fixing a race condition that exists in the decompress method of
ActiveMQBytesMessage that can cause an invalid length to be read.
(cherry picked from commit 5f7a81f928)
- recoverSubscription()
-- map is defined as LinkedHashMap<MessageId, Message>
-- msg is defined as <map> entry.getValue() so must be a Message
-- condition if (msg.getClass() == MessageId.class) could never be true
-- no need to cast at all when using generics
- recoverNextMessages()
-- basically same code copy/pasted so same fix
Removed 2 conditions from ServerSessionPoolImpl that would result in impossible casts. Conditions removed were trying to cast ActiveMQQueueSession and ActiveMQTopicSession to ActiveMQSession which is illegal.
Since it isn't obvious what to do if you get an ActiveMQQueueSession or ActiveMQTopicSession from getServerSession() I make it fall back to the else condition which raises an async exception. This is better than getting a ClassCastException at runtime.
Remove impossible cast in MemoryMessageStore
(cherry picked from commit 4a937def7d)
Adding ACTIVEMQ_USER_CLASSPATH to make the ActiveMQ classpath more
extendable by users. Also fixinng the classpath parsing to use the
right path separator dependening on the environment.
(cherry picked from commit e0ad700f2c)
Fixing the processing of KahaUpdateMessageCommand to add the message to
the store if it doesn't exist, instead of ignoring it. This will
prevent message loss in certain cases when the KahaDB index has to be
rebuilt.
(cherry picked from commit b4aa53d806)
Ensure that a message sent to the store for the DLQ is rewritten so that
its updated values are written to prevent exirpation loops and loss of
reollback cause etc.
(cherry picked from commit 505a76a8bb)
AMQ-6122
Prevent messages on DLQ for looping back onto the same DLQ. Prevents
expired messages from bouncing back and duplicate messages from the
store from causing a deadlock.
(cherry picked from commit 66cfc7bab3)
Fixing file permissions in assembly tar. Some permissions were not
being set explicitly which means the value used could change depending
on where the assembly was built. Permissions are now being set to fix
this.
(cherry picked from commit 43d493e527)
The chooseValue method in DestinationMap will now always return the
exact match, if there is one, else it will then sort as before.
(cherry picked from commit 8e2176d93c)
Fixing JournalCorruptionEofIndexRecoveryTest class
Because of the size being stored in the message order index, the test
testRecoveryAftercorruptionCheckSumExistingIndex was no longer passing
as that test was corrupting the size value in the journal, but not the
size value in the index. The test now corrupts both values so that the
expect exception occurs again.
(cherry picked from commit 507d40a79f)