When sending a large message that exceeds the size of
Integer.MAX_VALUE, the bridge will get negative chunk size during
fowarding. And the resend cache is not limited so there is a
potential that it may get OutOfMemory exception.
this is basically addressing a performance issue on OpenWire, setting the auto-create to the PostOffice
after not being able to route
The core protocol stays the same in regard to the auto-create since the exceptions are happening after the queueQuery
Sometimes /tmp doesn't support ext4 (tmpfs) and there's always a risk of leaving unnatended files in cases of crashed.
This is in alignment with how other tests run at apache
If a Transaction wasn't created, the case for duplciate Detection would cancel a transaction that never happened
and it would get a NPE instead of a TX Exception.
It wasn't a big deal as the client got an exception anyways and the users were able to cancel in that case
but the message sent was a string containing just "Null".
this will fix it with a proper handling
I have seen a NPE in a few unit tests that were caused by currenDelivery changing between these two steps:
i - if (currentDelivery != null)
ii - .... currentDelivery.getPos();
instead of adding extra synchronization I'm caching the currentValue what would been enough on this case.
This is just to avoid NPEs
Avoid loading problems of file configurations in
servlet containers when packaging the hornetq libs
not in the war file (e.g. in tomcat/lib/)
This was done with some refactoring from Clebert.
cherry-picking this from https://github.com/hornetq/hornetq/pull/1999
https://issues.apache.org/jira/browse/ACTIVEMQ6-95
The message.copy is broken when you set persistence=false, and the bridge will use that method before forwarding the message
this commit is fixing NullStorageLargeServerMessage.copy and adding the proper testcase to validate the fix
https://issues.apache.org/jira/browse/ACTIVEMQ6-89
I have done a lot of refactoring on this. So we can a different version of the interceptor for each protocol based on a base class now.
Just an abstract class over Stomp would be a bit hacky... this is a better approach.