1438 Commits

Author SHA1 Message Date
Sebastian Thomschke
3ad8391e9b
ARTEMIS-2570 Improve performance of ConnectionsView 2019-12-06 11:55:48 +01:00
Wei Yang
9ce8cad970 NO-JIRA close page after recovering page counter 2019-12-05 16:52:58 -05:00
Justin Bertram
04db90edde ARTEMIS-2567 restore locking semantics on server.lock when reading status 2019-12-05 11:39:11 -06:00
Clebert Suconic
108ee5d24b NO-JIRA Fixing intermittent failure 2019-12-03 16:25:00 -05:00
Justin Bertram
8614ca1167 ARTEMIS-2564 retryMessages incorrectly removes msgs 2019-12-03 14:24:01 -05:00
Clebert Suconic
0b1afd35dc ARTEMIS-2421 Using ActiveMQScheduledComponent 2019-11-26 16:15:06 -05:00
Bas Elzinga
e12f3ddc6f ARTEMIS-2421 periodic journal lock evaluation
If a broker loses its file lock on the journal and doesn't notice (e.g.
network connection failure to an NFS mount) then it can continue to run
after its backup activates resulting in split-brain.

This commit implements periodic journal lock evaluation so that if a live
server loses its lock it will automatically restart itself.
2019-11-26 11:14:56 -05:00
Clebert Suconic
506c03a884 ARTEMIS-2559 Clear Transaction out of ResourceManager in case of failure 2019-11-22 10:30:29 -05:00
brusdev
9946d8e63c ARTEMIS-2538 Removing all messages from a huge queue causes OOM
The PageSubscriptionImpl.cleanupEntries could be locked by the queue
depage because they are executed with the same executor and the depage
could be locked by the iterQueue.
If PageSubscriptionImpl.cleanupEntries is locked, no one clean up the
JournalRecord and PagePositionImpl instances created during iterQueue.
So removing all messages from a huge queue, causes the retention of too
JournalRecord and PagePositionImpl instances until an OOM.
To avoid to lock the PageSubscriptionImpl.cleanupEntries the depage is
executed only if the queue isn't iterating.
2019-11-22 10:10:16 -05:00
Clebert Suconic
91cbbb8698 ARTEMIS-2559 Connection failure should rollback pending XA TX 2019-11-21 17:52:45 -05:00
Christopher L. Shannon (cshannon)
fb54707e2d ARTEMIS-2549 - Add Downstream support to Federation
This commit introduces the ability to configure a downstream connection
for federation.  This works by sending information to the remote broker
and that broker will parse the message and create a new upstream back
to the original broker.
2019-11-20 08:47:16 -05:00
Andy Taylor
0ab75b9968 ARTEMIS-2554 - Queue control browse broken with large messages
https://issues.apache.org/jira/browse/ARTEMIS-2554
2019-11-18 10:36:18 +00:00
michael.pearce
f6401d81b5 ARTEMIS-2547 fix AMQP Client reconnect fails on broker stop start
Add unit test
Add fix to clear clientids when server is stopped.
2019-11-11 12:33:13 +00:00
sebthom
54daa445ed ARTEMIS-2541 Improve message browser of Admin UI 2019-11-08 12:31:50 +01:00
sebthom
318c26cde7 ARTEMIS-2540 Display LargeMessage column in message browser of admin UI 2019-11-05 20:02:51 -05:00
brusdev
f680d9f712 ARTEMIS-2466 PageSyncTimer::timeSync isn't configurable using ASYNCIO
Add the config parameter `page-sync-timeout` to set a customized value,
because if the broker is configured to use ASYNCIO journal, the timeout
has the same value of NIO default journal buffer timeout ie 3333333.
2019-11-05 22:44:52 +01:00
brusdev
83e2595618 ARTEMIS-2534 Deleting addresses auto created on configuration reload
Skip the deletion of address's and queue's auto created on configuration
reload.
2019-11-05 16:05:27 -05:00
brusdev
55a55daa7b ARTEMIS-2538 Removing all messages from a huge queue causes OOM
The iterQueue transaction commits are locked by the synchronization
context. So removing all messages from a huge queue causes the creation
of too locked transactions for the paged messages and so OOM.
The iteration on paged message is executed out the iterQueue
synchronization context to avoid to lock the transaction commits.
2019-11-05 16:04:08 -05:00
Joshua Smith
d7d11a0c6f ARTEMIS-2535 Add ignorePartialResultException option to LDAPLoginModule
Active Directory servers are unable to handle referrals automatically.
This causes a PartialResultException to be thrown if a referral is
encountered beneath the base search DN, even if the LDAPLoginModule is
set to ignore referrals.

This option may be set to 'true' to ignore these exceptions, allowing
login to proceed with the query results received before the exception
was encountered.

Note: there are no tests for this change as I could not reproduce the
issue with the ApacheDS test server. The issue is specific to directory
servers that don't support the ManageDsaIT control such as Active
Directory.
2019-10-30 13:47:50 -07:00
Justin Bertram
0ddd55b2cc NO-JIRA add acceptor to handshake timeout msg 2019-10-29 14:37:57 -04:00
Justin Bertram
84067d8fef ARTEMIS-2504 implement retroactive addresses
A new feature to preserve messages sent to an address for queues that will be
created on the address in the future. This is essentially equivalent to the
"retroactive consumer" feature from 5.x. However, it's implemented in a way
that fits with the address model of Artemis.
2019-10-28 09:01:42 -04:00
Justin Bertram
c0e77e96d1 ARTEMIS-2529 update address-settings mngmnt 2019-10-28 09:01:42 -04:00
Christopher L. Shannon (cshannon)
ad0581bf76 ARTEMIS-2531: Fix filter in FederatedQueue to prevent infinite consumer
creation in a circular or bidrectional setup
2019-10-25 14:26:46 -04:00
Christopher L. Shannon (cshannon)
1aed3f9dd6 ARTEMIS-2526 - Update ActiveMQServerImpl to call correct
beforeDestroyQueue hook
2019-10-24 16:20:08 -04:00
brusdev
0ac605740e ARTEMIS-2503 Improve wildcards for the authorisation key attributes
Improve wildcard support for the key attribute in the roles access
match element and whitelist entry element, allowing prefix match for
the mBean properties.
2019-10-23 15:27:53 -04:00
Wei Yang
89698b9dbc ARTEMIS-2524 Remove message from map in LVQ if it's deleted/moved/expired/changed 2019-10-21 20:46:13 -04:00
Howard Gao
6177d32774 ARTEMIS-2513 Large message's copy may be interfered by other threads
In LargeMessageImpl.copy(long) it need to open the underlying
file in order to read and copy bytes into the new copied message.
However there is a chance that another thread can come in and close
the file in the middle, making the copy failed
with "channel is null" error.

This is happening in cases where a large message is sent to a jms
topic (multicast address). During delivery it to multiple
subscribers, some consumer is doing delivery and closed the
underlying file after. Some other consumer is rolling back
the messages and eventually move it to DLQ (which will call
the above copy method). So there is a chance this bug being hit on.
2019-10-14 15:59:31 -04:00
Wei Yang
cb355bb584 ARTEMIS-2515 pageIterator.hasNext spends too much time in the case of no messages matched 2019-10-12 15:36:04 -04:00
Clebert Suconic
b0497ed724 ARTEMIS-2517 JMX will be shutdown after failback 2019-10-10 14:44:55 -04:00
brusdev
28d1a53630 ARTEMIS-2508 Crititical analyser trigger shutdown if removeAllMessages
The crititical analyser trigger the broker shutdown if try to
removeAllMessages with a huge queue. The iterQueue is split so as
not to keep the lock too time.
2019-10-09 11:41:00 -04:00
Justin Bertram
2992daaeb1 ARTEMIS-2514 dupl cache leak w/clustered temp q 2019-10-08 17:11:38 -04:00
brusdev
615fb64008 ARTEMIS-2512 Move the LocalMonitor tick log
The LocalMonitor tick log is very useful to establish a "heartbeat" log
statement. It is moved into its own logger from PagingManager logger,
which is too verbose to leave activated indefinitely in production.
2019-10-07 17:49:45 +02:00
Keith Wall
4e0b209128 ARTEMIS-2505: Fix wiring of the max-size-bytes-reject-threshold address-setting 2019-09-27 15:29:42 -04:00
Howard Gao
d02da18dab ARTEMIS-2506 MQTT doesn't cleanup underlying connection for bad clients
When a bad MQTT clients drop its connection without proper closing
it the broker doesn't close the underlying physical connection.
2019-09-27 19:41:15 +08:00
Clebert Suconic
91f4d0a633 [maven-release-plugin] prepare for next development iteration 2019-09-23 11:19:54 -04:00
Clebert Suconic
86a975fdad [maven-release-plugin] prepare release 2.10.1 2019-09-23 11:19:42 -04:00
Clebert Suconic
8b9819b2b6 NO-JIRA renaming method to reflect its real operation 2019-09-23 10:39:56 -04:00
Clebert Suconic
70c2200c54 ARTEMIS-2496 Revert catch up with zero-copy, as it's causing issues into some integration usage
Revert "ARTEMIS-2336 Use zero copy to replicate journal/page/large message file"

This reverts commit 85b93f0883bc06a2dfe2de9d560805a59d626d38.
2019-09-18 11:55:23 -04:00
Clebert Suconic
b846f356bb ARTEMIS-2462 Applying fix on delete SNF queue after ScaleDown 2019-09-17 14:05:00 -04:00
Howard Gao
dd20f89bd0 ARTEMIS-2462 re-applying tests on SNF Delete Queue 2019-09-17 14:05:00 -04:00
Clebert Suconic
d55ec37195 Revert "ARTEMIS-2462 Allow store-forward queue to be deleted afte scaledown"
This reverts commit 397cef699aea5a59cfc3970b7735aaf2068bf1ff.
2019-09-17 14:05:00 -04:00
Justin Bertram
c56b8fb9d2 ARTEMIS-2489 ring q fails w/concurrent producers 2019-09-13 10:08:32 -05:00
Andy Taylor
42327a490a ARTEMIS-2480 - Reloading configuration can kill broker
https://issues.apache.org/jira/browse/ARTEMIS-2480
2019-09-11 17:37:11 +02:00
Wei Yang
e43c5390cf ARTEMIS-2478 Expired message not removed in non destructive queue 2019-09-11 09:37:03 -04:00
Justin Bertram
c5376789b0 ARTEMIS-2475 log metrics plugin init details 2019-09-10 20:05:25 -04:00
Clebert Suconic
5373c60891 ARTEMIS-2474 Retry interval ignored on Backup Connectors 2019-09-10 15:03:01 -04:00
Clebert Suconic
54de31e813 NO-JIRA Fixing intermittent failures 2019-09-10 15:00:45 -04:00
Clebert Suconic
7fd7558ed8 NO-JIRA Fixing intermittent failures 2019-09-10 14:53:49 -04:00
Wei Yang
da6fedf6ae ARTEMIS-2472 Persistent and delivering size not right in replacement of lvq message 2019-09-06 14:26:30 -04:00
Francesco Nigro
9413925957 ARTEMIS-2473 RemoteQueueBindingImpl should check for empty filters 2019-09-06 14:26:03 -04:00