Commit Graph

2017 Commits

Author SHA1 Message Date
Clebert Suconic b309bb8f59 NO-JIRA Just adding some info on a test assert 2020-10-23 01:23:30 -04:00
Clebert Suconic f6ef285859 ARTEMIS-2927 LVQ broken after restart 2020-10-22 13:32:19 -04:00
Domenico Francesco Bruscino 90434a4cf4 ARTEMIS-2935 Fix JMX ObjectNames
Fix invalid object names setting a default broker name if it cannot be used.
2020-10-22 15:10:02 +08:00
gtully 69e58322f1 NO JIRA - add some durable sub loadbalancing to the scenario test 2020-10-21 14:57:12 +01:00
Emmanuel Hugonnet fdfc58171b [ARTEMIS-2939]: Artemis should not delete corrupt log files.
* Moving corrupted journal files to the attic folder.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-2939
2020-10-20 18:39:06 -04:00
franz1981 4545749969 ARTEMIS-2941 Improve JDBC HA connection resiliency 2020-10-20 17:23:48 -04:00
Justin Bertram 75e12b5e1d ARTEMIS-2947 Implement SecurityManager that supports replication 2020-10-19 10:07:57 -04:00
gtully 583bd3602a ARTEMIS-2888 ARTEMIS-2859 ARTEMIS-2768 - revert new page-store-name addressSetting, when the page store respects the target address and the size is tallied on the target address store, it is no longer neecessary 2020-10-19 14:04:35 +01:00
gtully 4e8ce9ed10 ARTEMIS-2859 - track owning page store as in a message reference to ensure correct usage tracking, only track size on the owning store, reference everywhere else via refUp 2020-10-15 00:06:43 -04:00
Andy Taylor 0ce173dcb5 ARTEMIS-2838 - migrate to HawtIO 2
https://issues.apache.org/jira/browse/ARTEMIS-2838
2020-10-09 09:20:29 +01:00
franz1981 b4532d944d ARTEMIS-2823 Use datasource with JDBC store db connections fixes
It add additional required fixes:
- Fixed uncommitted deleted tx records
- Fixed JDBC authorization on test
- Using property-based version for commons-dbcp2
- stopping thread pool after activation to allow JDBC lease locks to release the lock
- centralize JDBC network timeout configuration and save repeating it
- adding dbcp2 as the default pooled DataSource to be used
2020-10-06 10:19:06 +02:00
Mikko Uoti 2faafec737 ARTEMIS-2823 Use datasource with JDBC store db connections
Replaces direct jdbc connections with dbcp2 datasource. Adds
configuration options to use alternative datasources and to alter the
parameters. While adding slight overhead, this vastly improves the
management and pooling capabilities with db connections.
2020-10-06 08:32:58 +03:00
gtully 7a472d2782 ARTEMIS-2768 - fix up conditional to include null pageStoreName option, it was a little over eager 2020-09-28 15:53:06 +01:00
Clebert Suconic 1d9964c2b0 NO-JIRA Fixing test intermittent failure with a Wait call 2020-09-27 00:26:15 -04:00
Clebert Suconic 702f3c453b ARTEMIS-2906 Fixing test on lastAckTimestamp 2020-09-25 15:26:14 -04:00
Clebert Suconic 98b94b5846 NO-JIRA Adding a test where I am sending an AMQP large message and sending it over a core bridge to another node
There are no semantic changes here. I wanted to check something and committed a good test.
2020-09-25 15:19:19 -04:00
Andy Taylor c77bf50db4 ARTEMIS-2908 - Persist Divert Configuration in Bindings journal
https://issues.apache.org/jira/browse/ARTEMIS-2908
2020-09-25 10:03:40 -04:00
gtully 77d1c8cd7f ARTEMIS-2768 - add warning if wildcard subscription does not have a matching page-store-name address setting 2020-09-24 13:52:57 -04:00
Justin Bertram 0f60b5a8e4 ARTEMIS-2906 add lastAckTimestamp to message counter 2020-09-24 12:51:00 -04:00
Justin Bertram cdc283fba5 ARTEMIS-2915 duplicate temp queues using OpenWire 2020-09-24 12:48:36 -04:00
franz1981 207c2265bf ARTEMIS-2912 Server start exception before activation can cause a zombie broker 2020-09-24 10:26:50 -04:00
gtully fa04881c6f ARTEMIS-2888 ARTEMIS-2859 ARTEMIS-2768 - new page-store-name addressSetting to allow wildcard subscriptions share a single page store 2020-09-24 09:39:31 +01:00
Robbie Gemmell acdd8b4dce NO-JIRA: tweaks to address some sporadic test failures 2020-09-23 17:22:48 +01:00
Justin Bertram 246bf08391 ARTEMIS-2909 revert ARTEMIS-2322
This reverts commit dbb3a90fe6.

The org.apache.activemq.artemis.core.server.Queue#getRate method is for
slow-consumer detection and is designed for internal use only.

Furthermore, it's too opaque to be trusted by a remote user as it only
returns the number of message added to the queue since *the last time
it was called*. The problem here is that the user calling it doesn't
know when it was invoked last. Therefore, they could be getting the
rate of messages added for the last 5 minutes or the last 5
milliseconds. This can lead to inconsistent and misleading results.

There are three main ways for users to track rates of message
production and consumption:

 1. Use a metrics plugin. This is the most feature-rich and flexible
way to track broker metrics, although it requires tools (e.g.
Prometheus) to store the metrics and display them (e.g. Grafana).

 2. Invoke the getMessageCount() and getMessagesAdded() management
methods and store the returned values along with the time they were
retrieved. A time-series database is a great tool for this job. This is
exactly what tools like Prometheus do. That data can then be used to
create informative graphs, etc. using tools like Grafana. Of course, one
can skip all the tools and just do some simple math to calculate rates
based on the last time the counts were retrieved.

 3. Use the broker's message counters. Message counters are the broker's
simple way of providing historical information about the queue. They
provide similar results to the previous solutions, but with less
flexibility since they only track data while the broker is up and
there's not really any good options for graphing.
2020-09-23 12:08:57 -04:00
Robbie Gemmell d9d98dfa8a ARTEMIS-2910: consider message annotations when determining routing type used for auto-creation with anonymous producers 2020-09-21 18:07:26 +01:00
Justin Bertram b89690813d NO-JIRA fixing tests after ARTEMIS-2889 changes broke them 2020-09-17 09:51:55 -05:00
Clebert Suconic bc1f841244 ARTEMIS-2901 Fixing testsuite on InterruptLargeMessageTest
The queue is missing access to the server,
recent changed functionality on temporary queues namespace needed
the server and now the unit test has to pass in the reference to fix the test.
2020-09-17 09:28:53 -04:00
Bernd Gutjahr 100d070942 ARTEMIS-2878 Add numberOfPages as metric
Added metric 'number.of.pages' to provide numberOfPages for an address.
2020-09-16 09:16:55 -05:00
Justin Bertram 9a90248f49 ARTEMIS-2889 better support for JMS topics with legacy LDAP plugin 2020-09-16 10:14:57 -04:00
Justin Bertram e47eb5ae20 ARTEMIS-589 flow control for individual STOMP subscribers 2020-09-16 10:13:47 -04:00
Justin Bertram 676bb101d8 ARTEMIS-2896 RA can double legacy prefix 2020-09-16 10:12:20 -04:00
Justin Bertram 6be8966164 ARTEMIS-2901 support namespace for temporary queues 2020-09-16 10:10:28 -04:00
Howard Gao fe5b81fd55 ARTEMIS-2854 Non-durable subscribers stop receiving after failover
In a cluster scenario where non durable subscribers fail over to
backup while another live node forwarding messages to it,
there is a chance that the the live node keeps the old remote
binding for the subs and messages go to those
old remote bindings will result in "binding not found".
2020-09-16 10:03:36 -04:00
Clebert Suconic 3e557f1070 ARTEMIS-2902 Fixing QueueControlUsingCoreTest Class Cast Exception on Long to Integer 2020-09-16 09:56:41 -04:00
Andy Taylor c29a8cda5c ARTEMIS-2902 - expose at queue control messages held in a prepared tx
https://issues.apache.org/jira/browse/ARTEMIS-2902
2020-09-15 11:08:59 -04:00
Clebert Suconic 7cf5289efa ARTEMIS-2900 Expose property (getWholeMessageSize) so users can intercept size of messages and large messages 2020-09-14 15:35:46 -04:00
Stefan Krutzler 1783aa15cb ARTEMIS-2875 - retry to reattach sessions on failed failover for the specified amount of times set in reconnectAttempts parameter 2020-09-10 08:21:18 +02:00
Justin Bertram f5a6189e2d ARTEMIS-2890 FQQN security-settings + JMS not working 2020-09-03 16:52:51 -04:00
Justin Bertram 90853409a0 ARTEMIS-2886 optimize security auth
Both authentication and authorization will hit the underlying security
repository (e.g. files, LDAP, etc.). For example, creating a JMS
connection and a consumer will result in 2 hits with the *same*
authentication request. This can cause unwanted (and unnecessary)
resource utilization, especially in the case of networked configuration
like LDAP.

There is already a rudimentary cache for authorization, but it is
cleared *totally* every 10 seconds by default (controlled via the
security-invalidation-interval setting), and it must be populated
initially which still results in duplicate auth requests.

This commit optimizes authentication and authorization via the following
changes:

 - Replace our home-grown cache with Google Guava's cache. This provides
simple caching with both time-based and size-based LRU eviction. See more
at https://github.com/google/guava/wiki/CachesExplained. I also thought
about using Caffeine, but we already have a dependency on Guava and the
cache implementions look to be negligibly different for this use-case.
 - Add caching for authentication. Both successful and unsuccessful
authentication attempts will be cached to spare the underlying security
repository as much as possible. Authenticated Subjects will be cached
and re-used whenever possible.
 - Authorization will used Subjects cached during authentication. If the
required Subject is not in the cache it will be fetched from the
underlying security repo.
 - Caching can be disabled by setting the security-invalidation-interval
to 0.
 - Cache sizes are configurable.
 - Management operations exist to inspect cache sizes at runtime.
2020-08-26 13:36:24 -05:00
Domenico Francesco Bruscino 32bf9680f2 [maven-release-plugin] prepare for next development iteration 2020-08-24 16:03:24 +02:00
Domenico Francesco Bruscino a549fcedde [maven-release-plugin] prepare release 2.15.0 2020-08-24 16:03:12 +02:00
Justin Bertram d86067a65b ARTEMIS-2872 support FQQN syntax for security-settings 2020-08-22 18:24:40 -05:00
Justin Bertram 57b8c22a62 ARTEMIS-2880 support FQQN syntax for JNDI lookup 2020-08-20 15:16:17 -05:00
Justin Bertram 582a430213 ARTEMIS-2882 better support for JMS topics + FQQN
Support FQQN with JMS topics when sending to or consuming from a
specific subscription. This applies to JMS over core, OpenWire,
and AMQP.
2020-08-20 14:32:11 -05:00
Michael Pearce 2c506cc52a [ARTEMIS-2863] Add support to pause dispatch when group rebalance
Add test case
Add implementation
Add docs
2020-08-19 12:04:50 -04:00
franz1981 40f20cfe6a ARTEMIS-2877 Fix journal replication scalability
This is allowing journal appends to happen in burst
during replication, by batching replication response
into the network at the end of the append burst.
2020-08-17 13:01:41 -04:00
Justin Bertram fa5b56ef1d ARTEMIS-2881 deadlock when destroying q and depaging
I couldn't reproduce this with a test, but static code analysis led me
to this solution which is similar to the fix done for ARTEMIS-2592 via
e397a17796.
2020-08-17 10:34:20 -05:00
Justin Bertram 43e3cd6047 ARTEMIS-2865 make tests more robust 2020-08-06 22:07:42 -05:00
Clebert Suconic 9842f45a49 ARTEMIS-2867 Do not cache IPs on DNS Entries for NetworkHealthCheck
In case of a DNS outage, the pinger should still fail
If we cache the InetAddress this would not be possible
2020-08-06 17:40:41 -04:00
Michael Pearce 486896d99e ARTEMIS-2873 Config-managed queues are auto-deleted
auto-delete-queues and auto-delete-created-queues should only apply to
NON configuration managed queues.
2020-08-06 15:19:57 -05:00
Justin Bertram 8473946646 ARTEMIS-2865 LegacyLDAPSecuritySettingPlugin can change default security match 2020-08-06 15:36:05 -04:00
Francesco Nigro 60e25b763c ARTEMIS-2844 Improve binding query performance by reusing AddressImpl instances 2020-07-30 23:32:10 -04:00
Clebert Suconic c00b210629 ARTEMIS-2858 DNS Tests on reconnects and backups
There are no fixes as part of this test addition.  As I wrote this test as I was debugging DNS issues.
2020-07-29 17:56:55 -04:00
Clebert Suconic 3d86d78828 ARTEMIS-2587 Exposing ActiveMQServer::isActivate through management at ActiveMQServerControl 2020-07-29 11:41:41 -04:00
brusdev 18b8df0f09 ARTEMIS-2855 Define a new broker plugin to track XA transactions 2020-07-29 10:40:55 -04:00
Justin Bertram 52d3ed1c68 ARTEMIS-2848 RA fails w/durable sub w/legacy prefix 2020-07-23 22:27:15 -04:00
Clebert Suconic ccc0fa7100 ARTEMIS-2843 non-destructive LVQ not delivering msg to consumer 2020-07-20 12:01:23 -04:00
Clebert Suconic 6690ba1d24 [maven-release-plugin] prepare for next development iteration 2020-07-09 12:49:08 -04:00
Clebert Suconic a76f41a7ed [maven-release-plugin] prepare release 2.14.0 2020-07-09 12:48:54 -04:00
Clebert Suconic 5e69d7c34e NO-JIRA removing verbosing logging from test 2020-07-09 10:36:32 -04:00
Howard Gao 6f8ff55dec ARTEMIS-2835 Porting HORNETQ-1575 and HORNETQ-1578
1 of 2) - Porting of HORNETMQ-1575

In a live-backup scenario, when live is down and backup becomes live, clients
using HA Connection Factories can failover automatically. However if a
client decides to create a new connection by itself (as in camel jms case)
there is a chance that the new connection is pointing to the dead live
and the connection won't be successful. The reason is that if the old
connection is gone the backup will not get a chance to announce itself
back to client so it fails on initial connection.

The fix is to let CF remember the old topology and use it on any
initial connection attempts.
2020-07-08 11:27:36 -04:00
Justin Bertram 20daf2354c ARTEMIS-2817 Support Stomp subscription with FQQN+multicast 2020-07-07 08:21:22 -04:00
Justin Bertram f5d5710133 ARTEMIS-2834 leaking meters
Move all of the meter registration code into the ManagementServer
implementation to provide better life-cycle management.
2020-07-07 08:18:28 -04:00
Justin Bertram fd207e75b0 ARTEMIS-2829 wrong return type for getDiskStoreUsage
Since getDiskStoreUsage on the ActiveMQServerControl is converting a
double to a long the value is always 0 in the management API. It should
return a double instead.
2020-07-07 08:18:28 -04:00
Justin Bertram cb7cd729d7 ARTEMIS-2828 add addressSize metric
Adding this metric required moving the meter registration code from the
AddressInfo class to the ManagementService in order to get clean access
to both the AddressInfo and AddressControl classes.
2020-07-07 08:18:28 -04:00
Justin Bertram 73c4e399d9 NO-JIRA clarify diskStoreUsage description 2020-07-07 08:18:28 -04:00
Justin Bertram ac8ffedf66 ARTEMIS-2827 add addressMemoryUsagePercentage as metric 2020-07-07 08:18:28 -04:00
Justin Bertram 26091f1907 ARTEMIS-2825 wrong calc for DiskStoreUsagePercentage
The calculation used by
ActiveMQServerControlImpl.getDiskStoreUsagePercentage() is incorrect. It
uses disk space info with global-max-size which is for address memory.
Also, the existing getDiskStoreUsage() method *already* returns a
percentage of total disk store usage so this method seems redundant.
2020-07-07 08:18:28 -04:00
Clebert Suconic 3f99c4b846 ARTEMIS-2797 Fixing updateQueue on filter / fixing ActiveMQServerControlTest 2020-07-06 21:45:27 -04:00
Jan Šmucr 6cc370e169 ARTEMIS-2797 Fixing redeploy mechanism
Queue settings are reset to their default values upon broker.xml reload ONLY.
Regular calls to PostOfficeImpl#updateQueue are no longer affected.
2020-07-06 15:02:03 -04:00
Clebert Suconic 257d353896 ARTEMIS-2797 Logging redeployment errors and speeding RedeployTest 2020-07-01 08:33:01 -04:00
Clebert Suconic 3d746d3b23 NO-JIRA Speeding test and intermittent failure 2020-06-29 21:45:13 -04:00
Clebert Suconic f79a4be4c1 ARTEMIS-2831 Avoiding StackOverFlowException when setDLAOnNoRoute(true) 2020-06-29 16:50:00 -04:00
Clebert Suconic 51d1ed4e11 ARTEMIS-2819 Proper fix (previous fix was breaking the testsuite) 2020-06-29 15:37:55 -04:00
Jan Šmucr 85e07a8afe ARTEMIS-2820 Undeploy diverts by removing them from broker.xml 2020-06-24 22:01:56 +01:00
Keith Wall efb1bd3f9f ARTEMIS-2819 exact match address setting removal ineffective 2020-06-24 12:54:05 -05:00
Jan Šmucr 5070e7a72c ARTEMIS-2797 - Reset queue properties by unsetting them in broker.xml
Now it is possible to reset queue parameters to their defaults by removing them
from broker.xml and redeploying the configuration.

Originally this PR covered the "filter" parameter only.
2020-06-23 11:20:03 +02:00
Havret 3e394b45e9 ARTEMIS-2815: Fix null pointer exception on attempt to update queue without filter 2020-06-23 09:36:45 +01:00
Clebert Suconic c54ff4c859 NO-JIRA fixing Intermittent failure on test 2020-06-22 20:42:29 -04:00
Robbie Gemmell ccc01ac4e5 ARTEMIS-2813: add JUnit assumption check, in case class runs within manually -Dtest=<foo> set 2020-06-22 13:08:13 +01:00
Robbie Gemmell 50bf1efeef ARTEMIS-2813: also exclude Core client kerberos-via-TLS test that can never work on JDK11+ as the ciphers were removed 2020-06-19 14:55:27 +01:00
Robbie Gemmell 932544f832 ARTEMIS-2813: only run the kerberos tests on JDK8 for now 2020-06-19 10:44:03 +01:00
Justin Bertram 0908cac668 ARTEMIS-2810 support all address-settings via mgmnt 2020-06-18 09:15:53 -04:00
Emmanuel Hugonnet efe0f468de ARTEMIS-2109: Updating the build to be able to execute it on Java 11 and Java 8. 2020-06-11 18:50:01 +01:00
Robbie Gemmell 4641dedad6 ARTEMIS-2799: satisfy checkstyle to get tests working 2020-06-11 11:03:01 +01:00
Jacob Middag ba674fb842 ARTEMIS-2799 sniHost property not allowed on URLs 2020-06-10 16:35:12 -05:00
Justin Bertram e1d8f42cc1 ARTEMIS-2798 expiration for AMQP msgs not reloaded 2020-06-09 15:18:45 -04:00
Michael Pearce 99f6c7bf20 ARTEMIS-2787 - Add ability to disable and enable a queue
Add feature
Add tests
Add docs
Add missing bits noticed in ring-size
Address comments
2020-06-08 18:02:48 -04:00
gtully 1a5b1fbe8e ARTEMIS-2788 clear openwire producer state on produce close event 2020-06-03 13:33:18 +01:00
Justin Bertram 7096bc187a ARTEMIS-2649 always over-write ORIG message props
ORIG message propertes like _AMQ_ORIG_ADDRESS are added to messages
during various broker operations (e.g. diverting a message, expiring a
message, etc.). However, if multiple operations try to set these
properties on the same message (e.g. administratively moving a message
which eventually gets sent to a dead-letter address) then important
details can be lost. This is particularly problematic when using
auto-created dead-letter or expiry resources which use filters based on
_AMQ_ORIG_ADDRESS and can lead to message loss.

This commit simply over-writes the existing ORIG properties rather than
preserving them so that the most recent information is available.
2020-06-01 15:19:34 -04:00
Francesco Nigro 6db63acee2 ARTEMIS-2785 test Netty direct ByteBuf memory leak due to compression 2020-06-01 11:12:37 -04:00
Justin Bertram 0443128b81 ARTEMIS-2783 user not set on shared queue 2020-05-28 16:38:26 -04:00
Clebert Suconic 39b3dd1044 ARTEMIS-2781 Adding getAllQueueNames; fixing tests 2020-05-28 16:36:59 -04:00
Clebert Suconic 06276ff26f NO-JIRA Fixing intermittent failure on PagingReceiveTest 2020-05-28 12:41:19 -04:00
brusdev 9a7620fd71 ARTEMIS-2770 Update diverts using the management API 2020-05-26 20:31:19 -04:00
Justin Bertram fd11a1e079 ARTEMIS-2781 return only local queue names for AddressControl.getQueueNames() 2020-05-26 17:30:38 -05:00
Clebert Suconic 4a25cc9c59 ARTEMIS-2775 Cleaning up activemq5-unit-ests
Some tests that are ignored, were never really operational.
2020-05-21 17:00:45 -04:00
brusdev 3bcea4e78e ARTEMIS-2774 Remove the divert transformer on divert destroying 2020-05-21 16:27:54 -04:00
Justin Bertram 4b7b612eb9 ARTEMIS-2771 support JVM GC & thread metrics 2020-05-20 15:53:15 -04:00
Clebert Suconic faa83b2ba6 [maven-release-plugin] prepare for next development iteration 2020-05-16 18:38:47 -04:00
Clebert Suconic 5f49d89264 [maven-release-plugin] prepare release 2.13.0 2020-05-16 18:38:34 -04:00
Clebert Suconic 83c7942a78 ARTEMIS-2766 Fixing AMQP Large Messages after Parsing change 2020-05-15 17:57:00 -04:00
Clebert Suconic c99fcd501b [maven-release-plugin] prepare for next development iteration 2020-05-15 16:42:54 -04:00
Clebert Suconic 47fafac760 [maven-release-plugin] prepare release 2.13.0 2020-05-15 16:42:41 -04:00
Clebert Suconic 9ff3c17525 ARTEMIS-2757 improving flow control in AMQP 2020-05-15 16:12:07 -04:00
Justin Bertram 3bd0d8bf38 ARTEMIS-2758 support disabling metrics per address 2020-05-14 15:16:23 -04:00
brusdev 71d311322a ARTEMIS-2759 Warn ignored connection factory URI parameters 2020-05-14 09:04:49 -04:00
Clebert Suconic 4fe4220ff0 ARTEMIS-2372 / ARTEMIS-2740 Improving Message Annotations support in AMQP
- when sending messages to DLQ or Expiry we now use x-opt legal names
- we now support filtering thorugh annotations if using m. as a prefix.
- enabling hyphenated_props: to allow m. as a prefix
2020-05-13 10:55:36 -04:00
Christopher L. Shannon (cshannon) 80ce96768e ARTEMIS-2752: Properly cleanup Federated Address Divert consumers
DivertBindings are now properly cleaned up when a queue binding is
removed that matches the divert. The correct key is now used to remove
the queue address from the set and the correct address is now used to
remove the remote consumer.
2020-05-11 14:56:24 -04:00
Atri Sharma 35e1d4e679 ARTEMIS-2709: Fix LiveToLiveFailoverTest::scaleDownDelay
Test fails with the primary server being killed by the crash and the backup server is killed
by the tearDown before ScaleDownHandler can kick in. This commit adds a wait method to allow
ScaleDownHandler to process before the test completes.
2020-05-11 14:50:59 -04:00
Clebert Suconic c20d894e81 ARTEMIS-2753 Fixing OpenWire Temporary queue names over wildcard configurations 2020-05-06 23:24:24 -04:00
Michael Pearce ed4086c687 ARTEMIS-2534 Adding additional test for OpenWire and TempQueue 2020-05-05 18:19:11 -04:00
Clebert Suconic 863f0298d5 NO-JIRA Fixing intermittent failure (Wait condition) 2020-05-04 18:50:24 -04:00
Clebert Suconic 974423e0d2 NO-JIRA fixing test
AmqpExpiredMessageTest will expire messages, eventually the counter could be 0
so it is invalid to assertEquals(1, queue.getMessageCount()) as it will be 0 eventually.
2020-05-04 15:31:20 -04:00
Andy Taylor 2ab381565c ARTEMIS-2749 - Broadcast Group Control Improvements
https://issues.apache.org/jira/browse/ARTEMIS-2749
2020-05-04 16:20:08 +01:00
Andy Taylor 8a04ee07de ARTEMIS-2648 - audit logging improvements
https://issues.apache.org/jira/browse/ARTEMIS-2648
2020-05-04 15:19:08 +01:00
Justin Bertram ede2051960 ARTEMIS-2655 support auto-creation w/FQQN & STOMP 2020-05-01 13:40:24 -05:00
Justin Bertram 29d9443a1e ARTEMIS-2680 use q name for addr if none specified via config 2020-05-01 13:23:50 -05:00
Justin Bertram 0b155cf5ea ARTEMIS-2666 mngmnt for duplicate ID cache 2020-05-01 13:13:45 -05:00
Clebert Suconic 4ca6bac92d NO-JIRA Fixing Test
There's no semantic changes here, hence NO-JIRA
2020-05-01 13:39:33 -04:00
Justin Bertram ea09a0fd39 ARTEMIS-2638 retro resources created recursively w/# match 2020-05-01 11:56:02 -05:00
Clebert Suconic 2a7320bffd NO-JIRA test retry 2020-04-30 21:57:25 -04:00
Justin Bertram d53b2bcef6 ARTEMIS-2745 queue registering wrong metrics 2020-04-30 14:53:36 -05:00
Justin Bertram 803ccf7229 ARTEMIS-2743 Synchronize JMS connection methods 2020-04-29 18:00:57 -04:00
brusdev aaa209dc45 ARTEMIS-2744 Fix karaf mvn repositories for ArtemisFeatureTest
Use https Maven Central URLs to fix ArtemisFeatureTest.
2020-04-29 21:09:53 +02:00
Clebert Suconic ea2edfbb7d NO-JIRA Intermittent failures fix 2020-04-29 09:05:50 -04:00
Clebert Suconic 4c28297685 ARTEMIS-2741 Passing call timeout to cluster connection bridge
This one should improve eventual failures on ClusterConnectionControlTest
to validate this, run ClusterConnectionControlTest::testNotifications in a loop

you will see eventually the test taking longer to shutdown the executor as the call could be blocked.
2020-04-28 22:56:21 -04:00
Clebert Suconic b27f381389 ARTEMIS-2372 Fixing test 2020-04-28 21:48:21 -04:00
Clebert Suconic 54c4611229 NO-JIRA test output cleanup 2020-04-28 21:48:21 -04:00
Clebert Suconic e42d50cdc3 NO-JIRA speed up SecureConfigurationTest 2020-04-28 21:46:15 -04:00
Justin Bertram 6709883d0e ARTEMIS-2738 implement per-acceptor security domains 2020-04-28 21:45:38 -04:00
Clebert Suconic 2ebf3c8e1b ARTEMIS-2372 Filtering on Message Annotations 2020-04-28 11:18:30 -04:00
Clebert Suconic d116cb96de NO-JIRA Intermittent fixes 2020-04-24 10:14:26 -04:00
Clebert Suconic c883a73746 NO-JIRA Fixing intermittent failure 2020-04-23 22:28:13 -04:00
Clebert Suconic bddb67cd9a NO-JIRA Removing log.info on tests 2020-04-23 22:04:13 -04:00
Justin Bertram 4b97e06890 ARTEMIS-2726 implement min/max expiry-delay 2020-04-23 17:56:51 -04:00
Clebert Suconic e8d23f3144 NO-JIRA Retry test on intermittent failure 2020-04-23 16:51:22 -04:00
Clebert Suconic 7a0b0fd8a6 NO-JIRA Fixing checkstyle 2020-04-22 23:41:44 -04:00
Clebert Suconic 3541ebf218 ARTEMIS-2732 Cleanup on testsuite logging 2020-04-22 23:08:46 -04:00
Clebert Suconic 101db39d46 NO-JIRA Fixing intermittent failures 2020-04-22 23:08:45 -04:00
Clebert Suconic 11a3e810bb [maven-release-plugin] prepare for next development iteration 2020-04-21 17:06:21 -04:00
Clebert Suconic 30272e0c2f [maven-release-plugin] prepare release 2.12.0 2020-04-21 17:06:08 -04:00
Clebert Suconic 83977bda9b NO-JIRA speeding up MultipliedDelayedMessageTest 2020-04-21 15:55:48 -04:00
Clebert Suconic bdff832ab2 ARTEMIS-2730 Ignoring AuditLoggerTest as it needs to be moved 2020-04-21 14:05:03 -04:00
Clebert Suconic daeec3e7ab NO-JIRA intermittent failures 2020-04-21 14:05:03 -04:00
Clebert Suconic 964198494b NO-JIRA intermittent failure fix 2020-04-20 19:23:39 -04:00
Clebert Suconic ba3d638149 NO-JIRA retry-tests 2020-04-20 14:40:46 -04:00
brusdev 1d8e9f7fff ARTEMIS-2724 The setting auto-delete-created-queues doesn't work
Set the default auto-delete for created queues.
2020-04-20 14:16:37 -04:00
Clebert Suconic 576e01dba6 ARTEMIS-2725 Implementing retries policy on tests 2020-04-20 11:41:20 -04:00
Clebert Suconic d81c0f44eb NO-JIRA Fixing intermittent failures 2020-04-20 11:38:03 -04:00
Clebert Suconic 91a4ef4c20 ARTEMIS-2722 Separate tests for FileLockNodeManager from FailoverTest 2020-04-17 22:39:44 -04:00
Clebert Suconic a000164169 ARTEMIS-2721 Activation keeps retrying even after server.stop()
This won't be an issue on a real server (Production system)

however, on the testsuite or while embedded this could cause issues,
if a same instance is stopped then started.

This is the reason why BackupAuthenticationTest was intermittently failing.

I also adapted the test since I would need to stop the server and reactivate it in order to change the configuration.
The previous test wasn't acting like a real server.
2020-04-17 18:26:22 -04:00
Clebert Suconic 7314cc7ae9 NO-JIRA Fixing intermittent failure on QueueAutoDeleteTest 2020-04-17 17:26:33 -04:00
Clebert Suconic 2ac0e43efb NO-JIRA fixing intermittent failure on RetroactiveAddressTest 2020-04-17 16:53:37 -04:00
Clebert Suconic 636ff8a9c8 NO-JIRA Speeding up tests 2020-04-16 21:57:32 -04:00
Clebert Suconic d231e2ac63 [maven-release-plugin] prepare for next development iteration 2020-04-16 16:16:41 -04:00
Clebert Suconic 9636f4a3b0 [maven-release-plugin] prepare release 2.12.0 2020-04-16 16:16:28 -04:00
Clebert Suconic c2c27bf601 NO-JIRA Fixing tests that were changing logging configurations 2020-04-16 15:53:39 -04:00
Clebert Suconic 806b8d3217 NO-JIRA Speedup PageCountSyncOnNonTX 2020-04-16 13:33:11 -04:00
Clebert Suconic 6e611d8c14 NO-JIRA Fixing intermittent failure on AutoDeleteJmsDestinationTest 2020-04-16 13:23:30 -04:00
Clebert Suconic d809976e4e NO-JIRA Fixing LargeMessageTest::testPendingRecord 2020-04-16 12:13:19 -04:00
Clebert Suconic 0abe7e7bc0 NO-JIRA Fixing intermittent failures on BridgeTest 2020-04-16 12:02:55 -04:00
Clebert Suconic 41f62b9de2 NO-JIRA Fixing some Wait clauses that are too short
Using a small amount of wait on the Wait clause
was leading to a few test intermittent failing
as part of CI
most likely because of major GC events.
2020-04-16 11:34:15 -04:00
Justin Bertram 410a552894 ARTEMIS-2711 use peer host:port for acceptor SSL engine 2020-04-16 10:32:54 -04:00
Clebert Suconic ad60a0b02b ARTEMIS-1975 Dealing with connection drops on AMQP Large Message 2020-04-15 22:26:58 -04:00
Clebert Suconic e857c1b953 NO-JIRA Fixing test race on Wait (ProducerAutoCreateQueue) 2020-04-15 14:35:36 -04:00
Clebert Suconic b9ff5a1e8d ARTEMIS-2692 Fixing queue durability on tests 2020-04-14 09:17:25 -04:00
Clebert Suconic c326d2eb84 NO-JIRA Cleanup some commented out code 2020-04-13 16:40:29 -04:00
Clebert Suconic 5141d4f0e2 ARTEMIS-2709 Ignore test until it can be fixed 2020-04-13 16:14:24 -04:00
Justin Bertram 701b4e4794 ARTEMIS-2692 refactor queue creation
This commit changes all tests to use the new methods.
2020-04-13 14:25:30 -05:00
Justin Bertram 2efa44daf5 ARTEMIS-2692 refactor queue creation
This commit does the following:
- Deprecates existing overloaded createQueue, createSharedQueue,
  createTemporaryQueue, & updateQueue methods for ClientSession,
  ServerSession, ActiveMQServer, & ActiveMQServerControl where
  applicable.
- Deprecates QueueAttributes, QueueConfig, & CoreQueueConfiguration.
- Deprecates existing overloaded constructors for QueueImpl.
- Implements QueueConfiguration with JavaDoc to be the single,
  centralized configuration object for both client-side and broker-side
  queue creation including methods to convert to & from JSON for use in
  the management API.
- Implements new createQueue, createSharedQueue & updateQueue methods
  with JavaDoc for ClientSession, ServerSession, ActiveMQServer, &
  ActiveMQServerControl as well as a new constructor for QueueImpl all
  using the new QueueConfiguration object.
- Changes all internal broker code to use the new methods.
2020-04-13 14:25:30 -05:00
Robbie Gemmell 17b5b09b46 ARTEMIS-2659: address some more sporadic test failures due to races in tests 2020-04-13 16:13:31 +01:00
Clebert Suconic e5b8237d2b NO-JIRA Increasing timeout on test and avoiding intermittent failure 2020-04-08 22:41:06 -04:00
Clebert Suconic 4d7c4ea51c NO-JIRA Improving logging on CoreClientOverOneWaySSLKerb5Test
in case of a failure, it should throw the complete exception instead of just showing Assert.fail
2020-04-08 22:33:56 -04:00
Clebert Suconic a084e5b37f NO-JIRA Avoiding intermittent failures on BridgeTest 2020-04-08 22:27:37 -04:00
Clebert Suconic bbac2937ee NO-JIRA Avoiding intermittent failure on OpenWireLargeMessageTest 2020-04-08 22:17:49 -04:00
Clebert Suconic fa67499509 NO-JIRA Avoiding Intermittent failures on FederatedQueueTest 2020-04-08 16:49:57 -04:00
brusdev c36170477d ARTEMIS-2686 Fix MQTT connect message rejection
Initialize the session state with a default value to fix a NPE, when an incoming
MQTT interceptor rejects a MqttConnectMessage.
2020-04-08 15:45:19 -04:00
brusdev 24c0601519 ARTEMIS-2684 NullPointer exception when slave tries to scale down
Check the parentServer before to access to its configuration and storageManager.
2020-04-08 15:42:26 -04:00
Clebert Suconic 7ff71a97af ARTEMIS-2699 Avoid some journal exceptions on test 2020-04-08 14:56:06 -04:00
brusdev 0f200a4798 ARTEMIS-2698 Expose queue group attributes 2020-04-08 12:53:56 -04:00
Francesco Nigro 124ed872a6 ARTEMIS-2702 QuorumVoteServerConnect with requestToStayLive is voting order sensitive 2020-04-08 12:53:03 -04:00
Clebert Suconic ee29b4be10 ARTEMIS-2659 Fixing auto created queues leading to journal errors
This was causing the queue to be removed right before the server being stopped, leading to exceptions about the journal being stopped.
2020-04-08 12:42:38 -04:00
Clebert Suconic 1932cfc818 ARTEMIS-2659 Fixing intermittent failures 2020-04-08 11:34:05 -04:00
Clebert Suconic 858a8240f9 ARTEMIS-2659 / ARTEMIS-2673 Fix AmqpSendReceiveTest.testAcceptWithoutSettling 2020-04-07 23:06:40 -04:00
Clebert Suconic af796d5ce4 ARTEMIS-2701 Improving DLQ/check over previously removed records 2020-04-06 12:25:35 -04:00
Clebert Suconic ae17fd6552 NO-JIRA Fixing intermittent failure on AutoDeleteJmsDestinationTest 2020-04-05 00:58:57 -04:00
brusdev 38a79be314 ARTEMIS-2691 Improve critical analyzer LOG policy
Reset the critical component timer after the expiration to allow further LOG
actions after the first expiration.
2020-04-04 18:19:46 -04:00
Clebert Suconic 1320ad9367 NO-JIRA more fixes into NotificationTest
this test was failing intermittently.
Some small speedup on the test as well.
2020-04-03 10:24:24 -04:00
Clebert Suconic b0cfbe0a34 NO-JIRA Fixing NotificationTest 2020-04-02 11:15:16 -04:00
Atri Sharma 505b3b0fdc ARTEMIS-2636: Add Disk Store Usage Metrics
ARTEMIS-2688: Check Arguments In FileStoreMonitor.calculateUsage
2020-04-02 11:04:42 -04:00
Francesco Nigro 493ce497c7 ARTEMIS-1975 Fix AMQP paged large message usage counter 2020-04-01 17:46:26 -04:00
Francesco Nigro 891f2817ff NO-JIRA Improve AMQP paging test coverage and determinism 2020-03-31 15:55:04 -04:00
Atri Sharma 405eb969c1 ARTEMIS-2636: Introduce Disk Usage Metrics
ARTEMIS-2636: This commit introduces metrics to publish the amount of disk used currently
2020-03-30 22:27:58 -04:00
Justin Bertram 59e07c9780 ARTEMIS-2681 timestamp not set on notif msgs 2020-03-27 15:42:26 -04:00
Federico Valeri 8cf35385a4 ARTEMIS-2608 Fix ClassCastException on binary properties conversion 2020-03-27 13:12:57 -04:00
Clebert Suconic ca50b3449e ARTEMIS-1975 Removing ThreadLocal for StorageManager 2020-03-25 21:54:46 -04:00
Justin Bertram fdfe3ba3fa ARTEMIS-2679 deprecate message-expiry-thread-priority
Due to the changes in 6b5fff40cb the
config parameter message-expiry-thread-priority is no longer needed. The
code now uses a ScheduledExecutorService and a thread pool rather than
dedicating a thread 100% to the expiry scanner. The pool's size can be
controlled via scheduled-thread-pool-max-size.
2020-03-25 16:43:38 -04:00
Clebert Suconic 03fb630f73 ARTEMIS-1975 Fixing LargeMessage encoding for replication 2020-03-25 16:16:05 -04:00
Clebert Suconic 31e72c6cbb NO-JIRA Adding timeout into AmqpReplicatedLargeMessageTest 2020-03-24 23:05:23 -04:00
Clebert Suconic a4489a322e ARTEMIS-1975 Moving encode cache towards AMQPLargeMessage
Using a property on AMQPLargeMessage instead of a ThreadLocal
This was causing issues on the journal as the message may transverse different threads on the journal.
2020-03-24 18:22:59 -04:00
Clebert Suconic 31c945f8b0 ARTEMIS-1975 Fixing encodesize cached on AMQP Large Message
Encoding ahead is broken with AMQP Large Message
This is still part of ARTEMIS-1975
2020-03-24 15:51:46 -04:00
Benjamin Graf 4b49b3f371 ARTEMIS-975: Add transactional records to deletedRecords to check for committed transactions that also hold references to 2020-03-24 09:32:47 -05:00
Justin Bertram 3107535a32 ARTEMIS-2671 NPE in LDAP security plugin listener
To get the name of the destination use the relative Rdn position rather than a
strict match of "uid". Also, improve logging.
2020-03-23 17:02:38 -04:00
Justin Bertram 402dda2161 ARTEMIS-2667 NPE w/clearing non-durable dupl ID cache 2020-03-23 16:55:42 -04:00
Francesco Nigro 085a74cf06 ARTEMIS-2669 not durable AMQP messages cannot became durable on depaging 2020-03-22 17:46:37 -04:00
Clebert Suconic 559fa2008d ARTEMIS-2672 multi-thread isue with Shared Subscriptions
Some of them may throw queue already existed exception
2020-03-20 21:26:45 -04:00
Michael Pearce f1fdfc6857 ARTEMIS-2665 AMQP use createSharedQueue like Core 2020-03-18 11:51:58 -04:00
brusdev 974a80002a NO-JIRA Fixing GeneralInteropTest stability 2020-03-17 16:23:05 -04:00
brusdev 43639bdeae ARTEMIS-2664 The prefetch size is exceeded after delivered acks
Decrement delivered acks before acquiring credits.
2020-03-17 14:08:10 -04:00
Francesco Nigro 5f0b7dd7cd ARTEMIS-2661 AMQP Journal loading is triggering reencode 2020-03-17 14:02:28 -04:00
Clebert Suconic 395eb1a2bb NO-JIRA Fixing GeneralInteropTest 2020-03-17 12:42:55 -04:00
Clebert Suconic c801c00e33 ARTEMIS-2662 Using previously stored encodeSize on page record offset
There is no guarantee that the encodeSize size is the same in AMQP right after read.
As the protocol may add additional bytes right after decoded such as header, extra properties.. etc.
2020-03-17 05:55:25 -04:00
Justin Bertram 31f00fda36 NO-JIRA some tests for auto-create & FQQN w/JMS 2020-03-16 09:25:55 -05:00
Justin Bertram 91eeacca31 ARTEMIS-2659 fix race in AMQP test 2020-03-16 09:02:51 -05:00
Clebert Suconic c3128aa144 ARTEMIS-2642 Fixing Drain Timeout Issue on AMQP
The drain control has to immediately flush
otherwise a next flow control event may remove the previous status from Proton.
So, this really cannot wait the next executor, and it has to be done immediately.
2020-03-11 11:44:42 -04:00
brusdev aa8d598a35 ARTEMIS-2650 The delivering count is wrong after reconnecting an openwire client
Fix the conversion of the message id from the CORE messages.
Fix the credits acquired for acknowledges related to undelivered messages.
2020-03-11 11:14:29 -04:00
Justin Bertram ec958d7d27 NO-JIRA fix errant test directory 2020-03-09 21:08:30 -05:00
brusdev 45fe604859 Revert "ARTEMIS-2644 Include client id into non durable subscriber queue name"
This reverts commit be0fa47d63.
2020-03-07 20:11:40 +00:00
Justin Bertram e9ee9956bd ARTEMIS-2639 lost notif props with OpenWire+divert
Historically speaking, all message properties starting with AMQ HDR
would not be passed to OpenWire messages. However, that blocked the
properties from management notifications so ARTEMIS-1209 was raised and
the solution there was to pass properties that started with _AMQ *if*
the consumer was connected to the management notification address.
However, in this case messages are diverted to a different address so
this check fails and the properties are removed. My solution will be to
check the message itself to see if it has the _AMQ_NotifType property
(which all notification messages do) rather than checking where the
consumer is connected.
2020-03-05 21:38:51 -05:00
Justin Bertram ed7fee6d9c ARTEMIS-2643 allow masked password when resetting via mgmnt 2020-03-05 21:38:09 -05:00
Justin Bertram 339ccccbd7 ARTEMIS-2631 address orphaned from JMS temp queue 2020-03-05 21:36:35 -05:00
Justin Bertram 766f88c22a ARTEMIS-2629 ensure queue auto-delete after expiration 2020-03-05 21:35:35 -05:00
Justin Bertram 8c259116a8 NO-JIRA clarify & verify web socket support for MQTT 2020-03-05 21:34:53 -05:00
brusdev be0fa47d63 ARTEMIS-2644 Include client id into non durable subscriber queue name 2020-03-05 19:09:03 +01:00
Bartosz Spyrko-Smietanko eb41be78f3 [ARTEMIS-2176] RA connection properties are not propagated to XARecoveryConfig 2020-03-03 08:56:18 +00:00
Clebert Suconic 0cac669840 ARTEMIS-2637 Making UDP client discovery resilient
In case there is a hardware, firewal or any other thing making the UDP connection to go deaf
we will now reopen the connection in an attempt to go over possible issues.

This is also improving locking around DiscoveryGroup initial connection.
2020-02-28 11:54:27 -05:00
Clebert Suconic ddd8ed4402 ARTEMIS-1975 Real Large Message support into AMQP
This is a Large commit where I am refactoring largeMessage Body out of CoreMessage
which is now reused with AMQP.

I had also to fix Reference Counting to fix how Large Messages are Acked

And I also had to make sure Large Messages are transversing correctly when in cluster.
2020-02-25 15:25:01 +01:00
Justin Bertram d0758f34f6 ARTEMIS-2624 auto-create expiry resources 2020-02-20 17:44:56 -05:00
Justin Bertram b76f3b3a0d ARTEMIS-2587 auto-create dead-letter resources
This is a reimplementation of the IndividualDeadLetterQueueStrategy
from 5.x in a way that makes sense with the Artemis addressing model.
2020-02-20 17:44:56 -05:00
Christopher L. Shannon (cshannon) 3966e47338 ARTEMIS-2613: Add support for DivertBindings for federated addresses
This will allow federated addresses to create remote consumers based on
the existing of divert bindings and matching queue bindings
2020-02-17 12:15:18 -05:00
Clebert Suconic 990890d228 ARTEMIS-2622 Making replica resilient to closed pages 2020-02-14 14:01:52 -05:00
Justin Bertram a8cf6b04b4 ARTEMIS-2607 interceptor returns false but processing continues 2020-02-14 13:23:05 -05:00
Justin Bertram 72429e1e49 ARTEMIS-2325 ack handler being invoked twice 2020-02-14 13:12:49 -05:00
Justin Bertram b76700c18f NO-JIRA fix JMSMessageConsumerTest.testTimedOutWaitingForWriteLogOnConsumer 2020-02-14 13:12:49 -05:00
Justin Bertram daae7e750a ARTEMIS-2619 allow disabling STOMP 'server' header 2020-02-12 19:38:38 -06:00
Francesco Nigro 5897909dc9 ARTEMIS-2617 use core pools to reduce GC on journal loading 2020-02-12 13:29:51 -05:00
Clebert Suconic 0487e712e2 NO-JIRA some Wait.assertEquals 2020-02-10 09:25:06 -05:00
Wei Yang 1d1f0625db ARTEMIS-2544 Remove rolledback PageTransactionInfo to free up memory 2020-01-23 11:23:14 +08:00
Francesco Nigro fa0c187ae6 ARTEMIS-2602 Reduce number of copies for non JDBC Journal 2020-01-18 18:45:12 +01:00
Francesco Nigro b10d765139 ARTEMIS-2602 load surviving records into SparseArrayLinkedList 2020-01-17 14:31:52 -05:00
brusdev caa19ab144 ARTEMIS-2598 Update netty version to 4.1.43.Final
Update netty version to 4.1.43.Final and netty-tcnative version to 2.0.26.Final.
Change restricted-security-client.policy because Netty 4.1.43.Final requires
access to two more files: /etc/os-release and /usr/lib/os-release.
2020-01-17 14:28:31 -05:00
brusdev 1716655214 ARTEMIS-2597 Memory Leak when closing AMQP Consumers in the context
Remove server senders on remote link close.
2020-01-15 09:56:21 +01:00
Justin Bertram 97735ca72c [maven-release-plugin] prepare for next development iteration 2020-01-10 09:00:58 -06:00
Justin Bertram 25a947f6cb [maven-release-plugin] prepare release 2.11.0 2020-01-10 08:57:46 -06:00
Clebert Suconic 757d38f53c NO-JIRA Fixing Stomp Tests after QueueManager change 2020-01-10 00:08:11 -05:00
Clebert Suconic e397a17796 ARTEMIS-2592 Fixing DeadLock between deleteMessages and depage
This was happening through purge
2020-01-09 19:41:14 -06:00
Clebert Suconic 534d8b4719 NO-JIRA Happy new year! 2020-01-08 20:44:05 -05:00
Justin Bertram 0513393091 NO-JIRA fix tests after SSL resource regen 2020-01-08 13:04:17 -05:00
Keith Wall 39cd9d56f6 ARTEMIS-2497: [AMQP] Allow handling of the reject disposition to be configured. 2020-01-08 11:56:23 -05:00