1135 Commits

Author SHA1 Message Date
Justin Bertram
d336a09f9a ARTEMIS-2108 Potential StackOverflowError when load balancing disabled 2018-10-10 18:45:40 -04:00
Justin Bertram
744838faaf ARTEMIS-2111 ManagementContext can leak 2018-10-10 18:43:10 -04:00
Michael André Pearce
8c6322deed ARTEMIS-2094 Only deploy reloadable config if reloaded. 2018-10-10 14:19:52 -04:00
Michael André Pearce
b2af19db2d NO-JIRA Fix NPE seen in test case logs 2018-10-10 17:17:31 +01:00
Justin Bertram
a28b4fb34e ARTEMIS-1545 refactor & rework a few incompatible pieces
Existing commit for ARTEMIS-1545 broke bridges and large messages. This
commit fixes those, and refactors the solution a bit to be more clear.
2018-09-27 17:29:18 -04:00
Michael André Pearce
e4ba48a311 ARTEMIS-1545 Support JMS 2.0 Completion Listener for Exceptions 2018-09-27 17:29:18 -04:00
Justin Bertram
c72bf53cb1 ARTEMIS-2098 potential NPE when decoding protocol 2018-09-27 10:24:33 -04:00
Michael André Pearce
8e40b2d4f4 ARTEMIS-2095 - Typed Properties ThreadSafety
Add Concurrency Test to expose concurrency errors seen in logs.
Add Fix to ensure TypedProperties to ensure threadsafety
Add forEach and forEachKey to allow for provide a thread safe way of iterating through keys and values, without needing to duplicate the collection.
Add getMapNames method to remove code duplication and to ensure thread safe
2018-09-26 15:41:52 +01:00
Michael André Pearce
cce0e1927c ARTEMIS-2094 - Fix Configuration change loss when network Issue
Further fix around network loss.
If network loss (split) and slave activates, for a period its config used when it initializes in initialisePart2 was stale. 
Add/Extend test to ensure address-setting change made on live preserved on slave (after activation)
Add/Extend test to ensure security-setting change made on live preserved on backup (after activation)
2018-09-26 09:23:57 -04:00
Justin Bertram
9c62531c2f ARTEMIS-1961 track routed and unrouted messages sent to an address 2018-09-25 18:07:32 -04:00
yang wei
d868563e7b ARTEMIS-2092 fix first page messages lost on server crash bug 2018-09-19 16:19:45 -04:00
Justin Bertram
5c8fcc19fd ARTEMIS-1991 document advanced destination options 2018-09-18 12:34:30 +01:00
Justin Bertram
c60d17884a ARTEMIS-1919 implement SNI properly 2018-09-18 08:00:05 +01:00
Roddie Kieley
34df9679d7 ARTEMIS-2000: For ScaleDown set the RoutingType header property on the message
so if the address does not exist on the other end it will be created correctly.

Test added by Andy Taylor (commit squash during rebase on #2202)
2018-09-14 14:48:09 -04:00
andytaylor
82795b7bff ARTEMIS-1898 - make sure tosend credits on rejected messages
And also to run the credit runnables once memory is free in fail mode

https://issues.apache.org/jira/browse/ARTEMIS-1898
2018-09-13 16:22:28 -04:00
andytaylor
3b34127bb3 ARTEMIS-2075 - allow Extra backups to try to replicate more than once
https://issues.apache.org/jira/browse/ARTEMIS-2075
2018-09-13 10:02:45 +01:00
Francesco Nigro
7e09e1b350 ARTEMIS-2070 broker can reduce buffer copies with large messages 2018-09-12 20:59:12 -04:00
Clebert Suconic
6361079aa0 ARTEMIS-2084: Failover will not work with network cable disconnect on core protocol 2018-09-12 19:59:00 -04:00
Francesco Nigro
3c7252adbc ARTEMIS-2068 save reading any file to get AMQP large msg size
ServerJMSBytesMessage::getBodyLength can save reading
the whole large message file by reading just its
file size
2018-09-11 16:36:45 -04:00
Francesco Nigro
7a7304bb28 ARTEMIS-2078 AMQP large msg aren't consumed by clusters without persistence
NullStorageLargeServerMessage is not correctly exposing its body buffer
to allow CoreAmqpConverter to convert it into an AMQPMessage
2018-09-11 16:35:15 -04:00
Michael André Pearce
c417d0b5f8 ARTEMIS-2081 listConfiguredQueues returns only queues created by config
Extend test case to reproduce problem of client created queues being incorrectly removed on simple reload of config.
Add a flag/field to the queues created by configuration/broker.xml so we can correctly filter only queues created/managed by config.
Update listConfiguredQueues to use the new queue flag
2018-09-11 13:55:11 -04:00
Michael André Pearce
4b88f38b2d ARTEMIS-2076 Make Filter update-able
Add Tests
Add implementation inline with other queue updatable settings.
Enhance tests to ensure queue is not destroyed during config change and messages in queue already are preserved
2018-09-07 15:49:03 -04:00
Michael André Pearce
dbfdc18f49 ARTEMIS-2065 Change routing-type isnt destructive.
Revert previous fix
Keep original ConfigChangeTest
Apply new non-destructive fix.
Enhance tests to ensure messages in queues are not lost either on reload when running or when config changed on-restart (e.g. queue i not destroyed)
2018-09-07 15:25:57 -04:00
Clebert Suconic
05ce7c6ecd NO-JIRA Adding a test playing with network disconnects and failover 2018-09-05 18:13:35 -04:00
Justin Bertram
3827c54c05 ARTEMIS-2065 Can't change queue routing-type between restarts 2018-08-30 14:31:18 -05:00
Justin Bertram
b0d30d4da5 ARTEMIS-2064 make address & queue deployment more robust
Any failure to deploy an address or queue will short-circuit the broker
initialization process preventing any other addresses or queues from
being deployed as well as other critical resources like acceptors, etc.
2018-08-30 15:10:44 -04:00
Justin Bertram
e7e5112d51 ARTEMIS-2066 LegacyJMSConfiguration parser may deploy non-jms queues 2018-08-30 15:08:10 -04:00
Justin Bertram
3af9ca057f ARTEMIS-2063 improve logging for address/queue deployment 2018-08-29 14:29:49 -05:00
Martyn Taylor
9a855e18e1 ARTEMIS-2055 Lock LM on PacketHandler on clear 2018-08-29 13:40:19 -04:00
Martyn Taylor
490ef71e1d ARTEMIS-2055 Set Live LM to Null after route
The ServerSessionPacketHandler has a close() callback handler which will
delete any pending large messages.  However, there is a race where a
large message can be routed, then the close delete the associated large
message resulting in data loss.
2018-08-27 12:56:53 +01:00
Christopher L. Shannon (cshannon)
87f393e597 ARTEMIS-2052 - Fix defaultConsumerWindowSize negotiation
First, QueueQuery should use address name for address settings
The name used for looking up address settings for a queue now uses the
address name if there is a local queue binding

Second, make sure sent credits to the server is the correct value
2018-08-26 18:25:47 -04:00
Clebert Suconic
6b1abd1aad ARTEMIS-2053 avoiding data loss after compacting 2018-08-26 18:17:29 -04:00
Carsten Lohmann
95ec8ea433 ARTEMIS-2044 Add onSendException, onMessageRouteException to ActiveMQServerMessagePlugin 2018-08-24 21:35:34 +01:00
Clebert Suconic
63e6cd98f8 ARTEMIS-2046 Fixing issues with JournalStorageManager.stop in replication, JDBC and shared storage 2018-08-20 21:25:57 -04:00
Michael André Pearce
24a28da09f ARTEMIS-2022 - Enhancements
Fix checkstyle
Avoid duplicated logic
Ability to filter and group
Instantiate SimpleString property key once
Get property value via getObjectProprty to ensure all special mapped properties such as in AMQPMessage would return
Avoid a custom string to represent null, instead rely on Java's representation "null" by using Objects.toString to get the string value of the property value used to group by.
2018-08-13 08:37:56 +01:00
Arthur Fritz Santiago
349477ed31 [ARTEMIS-2022] Ajust checkstyle 2018-08-13 08:37:56 +01:00
Arthur Fritz Santiago
e15917129f [ARTEMIS-2022] Create count messages 'group by' this property filter 2018-08-13 08:37:56 +01:00
Michael André Pearce
19e1bbeb49 ARTEMIS-2019 - Seperate ServerPlugin Interfaces
Seperate plugin interface by area, all extending a base interface. 
Update code to check and call only plugins implementing specific interfaces.
Existing interface extends all the new interfaces for back compatibility or those who want simplicity and don't care about perf.
2018-08-09 19:42:28 -04:00
Justin Bertram
53f8bc3daf ARTEMIS-2010 actively detect unauthenticated LDAP Bind requests 2018-08-09 19:40:30 -04:00
Christopher L. Shannon (cshannon)
e915545278 ARTEMIS-2018 - Add bridge events to plugin API
Add callbacks to handle bridge events including beforeDeliverBridge,
afterDeliverBridge and afterAcknowledgeBridge
2018-08-09 13:37:56 +01:00
Clebert Suconic
b710df7844 ARTEMIS-2011 Fixing incompatibility of AddressSettings encode between versions
To fix this I added a retry on AddressSettings using code that's closer to the original version
2018-08-06 11:12:46 -04:00
Jeff Mesnil
fd9aad202b [ARTEMIS-1947] Session metadata in session management operation
Fill the session's metadata in JSON properties instead of serializing it
as an opaque String.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1947
2018-08-06 14:11:40 +02:00
Christopher L. Shannon (cshannon)
e629ac4538 ARTEMIS-2003 - Add bridge metrics
This commit adds support for tracking metrics for bridges for both
normal bridges and bridges that are part of a cluster. The two
statistics added in this commit are messages pending acknowledgement
and messages acknowledged but more can be added later.
2018-08-03 14:18:34 -04:00
Michael André Pearce
825081cfc0 ARTEMIS-856 Fixing ScaleDownTest
Don't increment the pos if redistributor. causes pos to be > size thus index out of bounds when getting the consumer on next loop.
2018-08-03 10:48:59 +01:00
Clebert Suconic
77989c3763 NO-JIRA avoiding a NPE if the server is stopped 2018-08-02 10:57:17 -04:00
Michael André Pearce
de465179e5 ARTEMIS-856 Fixing MessageRedistributionTest
Cleaner code.
2018-08-02 14:20:03 +01:00
Michael André Pearce
ddd554f43f ARTEMIS-856 Fixing ExclusiveTest 2018-08-02 13:53:22 +01:00
Michael André Pearce
ec742cb889 ARTEMIS-856 Fixing MessageRedistributionTest 2018-08-02 13:52:32 +01:00
Clebert Suconic
59520b9018 ARTEMIS-856 Fixing QueueCommandTest 2018-08-02 10:50:26 +01:00
Clebert Suconic
0e36e072bd ARTEMIS-1732 I simplified some of the changes performed at the previous commit.
Also I changed GlobalDiskFullTest to actually block the senders.
I moved the Runnables from PagingManager into the Util as AtomicRunnable.
2018-07-31 21:39:04 -04:00