Commit Graph

2534 Commits

Author SHA1 Message Date
Clebert Suconic 56299433c3 ARTEMIS-3340 Removing not needed TemporaryFolder usages on tests 2021-08-05 14:18:21 -04:00
gtully ca7a100de0 ARTEMIS-3340 Sequential activation tracking for pluggable quorum replication policies + peer
Co-authored-by: franz1981 <nigro.fra@gmail.com>
2021-08-05 14:18:20 -04:00
Francesco Nigro 536271485f ARTEMIS-2716 Pluggable Quorum Vote 2021-08-05 14:18:20 -04:00
gtully c2da0fd663 ARTEMIS-3200 - remove braces from the belt and braces fix in ARTEMIS-2712, the braces are not necessary and leak, cleaning up in close negates the need to the session closeable 2021-08-05 09:27:12 -04:00
Robbie Gemmell 828d4940ec ARTEMIS-3302: enable some integration tests (primarily TLS+security) in the fast-tests profile
Help catch issues in these areas on PR runs rather than full builds.
2021-08-04 15:01:28 +01:00
Justin Bertram 9a2e2b3a34 ARTEMIS-3397 fix test failure 2021-08-04 09:20:12 -04:00
Robbie Gemmell 9726476c36 ARTEMIS-3410: disable karaf client integration tests on Java 16+ for now 2021-08-04 13:02:59 +01:00
Domenico Francesco Bruscino a741ae9994 ARTEMIS-3367 Set verifyHost true for connectors by default 2021-08-03 18:14:51 -04:00
Clebert Suconic 813ed88ecb ARTEMIS-3243 Implementing dual mirror with Broker Connections
There are some major tests added as part of this PR.

This PR has been done through an extensive collaboration with Robbie Gemmel on https://github.com/apache/activemq-artemis/pull/3633
2021-08-03 16:50:43 -04:00
Clebert Suconic b6d78076d4 NO-JIRA using latch::countdown on RedeployTest instead of new Runnable
I have done this just because I thought it was prettier
2021-08-03 12:34:21 -04:00
Justin Bertram 6bd30e8fe3 ARTEMIS-3385 management changes can be reverted by XML update
Durable changes made via the management API (e.g. adding
security-settings, adding address-settings, adding diverts) can be
reverted when reloading the XML at runtime.
2021-08-03 12:30:00 -04:00
Justin Bertram 516f3425e7 ARTEMIS-3393 support securityDomain on in-vm acceptor 2021-08-03 10:19:22 -04:00
Justin Bertram 8c3384a947 ARTEMIS-3397 remove queue rate metric from web console
This is a follow-up from ARTEMIS-2322.

The changes related to expired message are only there because
QueueFilterPredicate had a bug where the rate was correlated to expired
messages. When I fixed that I noticed that expired messages was actually
missing so I added it.
2021-08-03 10:15:57 -04:00
Justin Bertram 55533ae099 ARTEMIS-3394 ClassCastException when queue & divert have same name 2021-08-03 09:57:05 -04:00
Justin Bertram 7a9de8eea3 ARTEMIS-3302 swap deprecated X509Certificate
Casting the result of getPeerCertificates() to X509Certificate[] mirrors
what is done in the ActiveMQ "Classic" code-base.

A few tests which were imported from ActiveMQ "Classic" to verify our
OpenWire implementation were removed as they relied on a "stub"
implementation of javax.net.ssl.SSLSession that never would have worked
across multiple JDKs once javax.security.cert.X509Certificate[] was
removed. Furthermore, the tests appeared to be related to the OpenWire
*client* and not relevant to our broker-side implementation.
2021-08-03 09:55:36 -04:00
Andy Taylor c358688fd6 ARTEMIS-3404 - expose max retry interval on bridge mbean
https://issues.apache.org/jira/browse/ARTEMIS-3404
2021-08-03 09:07:39 -04:00
Robbie Gemmell 6b8fdcb079 ARTEMIS-3409: skip tests if preconditions cant be satisfied 2021-08-03 08:55:00 -04:00
franz1981 2694f8b52e ARTEMIS-3402 Split Brain detection should reject bad member updates 2021-08-03 14:43:20 +02:00
Robbie Gemmell ff9346d670 NO-JIRA: remove invalid tt tag usage to get javadoc building on Java 11 2021-07-30 15:39:20 +01:00
Robbie Gemmell 7ddc947413 ARTEMIS-3407: update pax-exam to 4.13.4 and karaf to 4.3.1, get tests working on Java 11
Also tweaks karaf test module name for clarity
2021-07-30 11:59:19 +01:00
Clebert Suconic eabfc0658f NO-JIRA Moving AssertionLoggerHandlerTest to Unit Tests
This would help capture issues with logging configuration on PR checks
2021-07-29 22:20:07 -04:00
Clebert Suconic 62c3d864a2 NO-JIRA Addressing Intermitent Failure on MessageExpirationTest 2021-07-29 17:50:26 -04:00
Clebert Suconic b8d0674ef9 NO-JIRA AssertionLoggerHandler improvements
I decided on NO-JIRA as this is only support tests themselves. No need for release notes on this commit:

I changed logging-CI.properties to be the same as logging.properties, with the only exception as file and console are limited by WARN.
while the AssertionLogger would still get INFO. as that's required for certain tests.
2021-07-29 11:38:26 -04:00
franz1981 4a677d01f0 NO-JIRA Speeding-up I/O paging for tests 2021-07-28 10:02:14 -04:00
franz1981 63577c7264 ARTEMIS-3405 Log the end of paging mode for a destination 2021-07-28 10:02:14 -04:00
Robbie Gemmell d9a44002c5 ARTEMIS-3304: replace use of deprecated constructors marked as for-removal since Java 16
updates all the uses in tests, missed in original commit
2021-07-27 14:55:40 +01:00
Justin Bertram f554806ec3 ARTEMIS-3400 add audit logging for message ack
Aside from adding audit logging for message acknowledgement this commit
also consolidates the two nearly identical acknowledge method
implementations in o.a.a.a.c.s.i.QueueImpl. This avoids duplicating
code for audit logging, plugin invocation, etc. There is no semantic
change.
2021-07-26 23:27:36 -04:00
Justin Bertram 2954829e3e ARTEMIS-3399 fix audit logging for AMQP
Due to the multi-threaded AMQP implementation the ThreadLocal variables
used by the AuditLogger to track the username and remote address don't
work properly. Changes include:

 - Passing the audit Subject (set during authentication) and the remote
   address explicitly for audit logging on the relevant ServerSession
   methods rather than relying on the AuditLogger's ThreadLocal
   variables
 - Audit logging core session creation *after* successful authentication
   so that we have the proper Subject; this is especially important for
   the SSL certificate authentication use-case
 - Renaming some methods and variables in AuditLogger to more accurately
   reflect their intended use
 - Adding JavaDoc and refactoring the getCaller methods on AuditLogger
 - Refactor audit log testing and add a new test
2021-07-26 23:27:35 -04:00
Justin Bertram bb9bbf062d ARTEMIS-3395 ensure sending audit log contains message ID 2021-07-23 14:28:53 -04:00
Domenico Francesco Bruscino 51801d978e ARTEMIS-3396 Convert bytes properties to String for OpenWire 2021-07-22 11:23:28 -04:00
Howard Gao 8a88c5f913 ARTEMIS-3392 Scale down would fail if target queue's id greater than max int 2021-07-21 15:12:43 -04:00
Clebert Suconic c479cb558a ARTEMIS-3384 Adding tests around duplicate detection 2021-07-16 09:10:14 -04:00
Clebert Suconic 277aa3706a NO-JIRA Adding Core Bridge Transfer Test 2021-07-16 09:09:48 -04:00
Domenico Francesco Bruscino 2d07d0d844 ARTEMIS-3384 Fix bridge duplicate messages after reconnection 2021-07-15 14:20:45 -04:00
Clebert Suconic b4aef3fca8 ARTEMIS-3386 Expiry messages using too many threads 2021-07-15 13:51:52 -04:00
Clebert Suconic ee3814dbfd ARTEMIS-3383 AMQPMessage.isDurable wrongly returns false during persistent lazy reload state 2021-07-12 23:00:16 -04:00
Justin Bertram ec508d8306 ARTEMIS-3381 AMQP bypasses session when deleting queues
The AMQP implementation bypasses the ServerSession when deleting queues
which also bypasses security authorization.
2021-07-12 11:25:11 -04:00
Justin Bertram bf875c3a37 ARTEMIS-3374 fix tests and shared subscriber case
A couple of tests were explicitly written to delete the
configuration-managed queue. Since this is no longer allowed these
tests had to change.
2021-07-12 11:25:11 -04:00
gtully 4c06d447fd ARTEMIS-2974 - fix up the regexp used in the test to match to the end 2021-07-09 14:56:29 +01:00
gtully 3961fd1cf2 ARTEMIS-3372 - ensure test verification happens after expected failover event such that expected message is not tracked as a duplicate 2021-07-09 12:41:17 +01:00
Clebert Suconic 000f83dbc2 ARTEMIS-3327 Reverting 5c051e9832 and adding test to validate
contract with sync.

This reverts commit 5c051e9832.

However this is adding two tests to make sure there won't be a regression on this.
2021-07-07 18:46:52 -04:00
franz1981 bb3f31340d ARTEMIS-3354 journal-max-io cannot be set to 1 with ASYNCIO journal 2021-07-07 12:17:36 -04:00
gtully 7fc312ab5d ARTEMIS-3372 - disconnect consumers on queue deletion event 2021-07-06 16:16:33 -04:00
Justin Bertram b7f9807cd9 ARTEMIS-2919 support timestamping incoming messages 2021-07-06 14:09:00 -05:00
Justin Bertram 1d02d06eab ARTEMIS-3374 config-managed queue can be deleted by durable subscriber 2021-07-06 14:06:39 -05:00
franz1981 bea0568a88 ARTEMIS-3360 Backup connector ignores TTL settings on the connection factories 2021-07-04 14:32:58 -05:00
Clebert Suconic 200e436931 ARTEMIS-3371 Adding TestContainers support and adding QpidDispatchPeerTest
This is testing peer integration with qpid-dispatch by using TestContainer and a docker image for Artemis
Also, as I added QpidDispatchTest, I reorganized the brokerConnect tests a bit into a brokerConnect folder.
2021-06-29 17:46:26 -04:00
Justin Bertram 45ae64a01c ARTEMIS-3366 deleteAddress can remove SnF queue 2021-06-24 13:27:35 -05:00
Clebert Suconic afa7209011 NO-JIRA Fixing Intermittent failure on AutoCreateExpiryResourcesTest with a Wait.assert change 2021-06-16 09:20:12 -04:00
Robbie Gemmell 98e5e19849 ARTEMIS-3347: update various commons-io usages, and bump all to latest
Consolidates and aligns versions missed in 73bcc78beb
2021-06-15 12:55:20 +01:00
Justin Bertram 867bf5e01e ARTEMIS-3155 support better backwards compatibility
Support better backwards compability for SSL keyStoreProvider and
trustStoreProvider.
2021-06-14 18:04:06 -04:00
Domenico Francesco Bruscino 65782cb457 ARTEMIS-3337 Add test on multiple connection failures 2021-06-14 16:37:02 -04:00
Justin Bertram a4c1155a01 ARTEMIS-3341 update checkstyle to latest + update code
As a follow-up to #3618/dc7de893747b90b627d729f9f18a758bb4dad9d5 update
checkstyle to the latest version, restoring the originally intended
"RightCurly" style, and updating all the code to properly adhere to the
style as enforced by the new checkstyle version.

The version of checkstyle we used before the aforementioned commit had
a bug which didn't properly enforced our intended "RightCurly" style
(see https://github.com/checkstyle/checkstyle/issues/6345). That commit
changed the style to accommodate the handful of unintended style
violations. This commit reverts that change for 2 main reasons:
 - The style was always intended to use `alone` for both `METHOD_DEF`
and `CTOR_DEF`.
 - There are over 1,000 existing uses of the intended style and around
30 violations of this style which were unintentionally allowed.

Reverting the style back to the original and cleaning up the unintented
violations makes the code more consistent and prevents further style
inconsistencies in the future.

There were a handful of other changes related to checkstyle bugs which
allowed unintended style violations. These were related to indentation
levels.

This closes #3619
(with some minor changes from Robbie to fix remaining violations)
2021-06-11 12:16:04 +01:00
Domenico Francesco Bruscino bafefdc8ec ARTEMIS-3338 Preserve prepared XA transactions on connection failure 2021-06-09 15:00:45 -04:00
Clebert Suconic 05498c350e ARTEMIS-3261 Remove need to lookup replaceableRecords on the hot path
We known it's a replaceable record as part of the logic, no need to lookup the record type unless it's a reload from the system.
2021-06-09 14:52:06 -04:00
gtully 085766033b no jira - remove unused log4j dependency 2021-06-08 10:19:12 +01:00
Justin Bertram 26b83985cf ARTEMIS-3330 JMS session stopped on failed rollback 2021-06-07 15:00:34 -04:00
Clebert Suconic 3913c17c8d NO-JIRA fixing intermittent failure on test 2021-06-07 13:05:34 -04:00
Clebert Suconic 0edf599adc ARTEMIS-3261 Updating logic to use only replaceable records on compacting verification 2021-06-07 13:05:02 -04:00
Clebert Suconic 7137252c5d NO-JIRA fixing spelling udpate as update 2021-06-03 10:43:11 -04:00
Clebert Suconic cfd032799c ARTEMIS-3327 removing unecessary blocking operations on update and delete records 2021-06-03 10:37:16 -04:00
gtully f4f31df97b no jira - only delay on expected messages and no wait on null. speed up test - thanks rgemmell 2021-06-03 15:17:48 +01:00
gtully 3f67d93592 no jira - intermittnet failure due to possibly slower hw, eliminate that 2021-06-03 12:22:52 +01:00
gtully 9484e49ab0 no jira - fix intermittent checkthreadrule failure in JDBCJournalTest 2021-06-03 11:28:39 +01:00
Clebert Suconic f380324ca3 NO-JIRA fixing intermittent failure with a Wait call 2021-06-02 19:53:26 -04:00
gtully 815f383f9c ARTEMIS-3234 - revisit fix to deal with credit on unmatched acks, thanks to brusdev for the interceptor feature and test from ARTEMIS-2650 2021-06-02 16:23:46 +01:00
Clebert Suconic ee92ddcb3b NO-JIRA Fixing test 2021-06-01 19:41:40 -04:00
Clebert Suconic 24c6d904b9 ARTEMIS-3324 JournalFilesRepository running out of open files while compacting 2021-06-01 16:36:51 -04:00
gtully 7ce9030e9f ARTEMIS-3323 - ensure openwire message id is unique and consistent for the life of a broker when converted from core 2021-06-01 19:43:25 +01:00
Domenico Francesco Bruscino ba6422d45f ARTEMIS-3315 Fix JSON serialization of AMQP messages
Replace the JSON serialization errors for unknown types with their respective string representation.
2021-05-27 11:31:25 -04:00
Justin Bertram cdaa00d470 ARTEMIS-3317 OpenWire property conversion can cause ClassCastException 2021-05-27 09:52:49 -04:00
Clebert Suconic cfee2035c8 ARTEMIS-3318 Invalid data on page should not hold page cleanup 2021-05-27 08:08:47 -04:00
Domenico Francesco Bruscino 6ec7a69d45 ARTEMIS-3236 Preserve managed queues on removing MQTT subscription 2021-05-25 11:24:53 -05:00
Justin Bertram e9c94e57d9 ARTEMIS-3288 support bulk user loading with basic security manager 2021-05-25 11:13:35 -05:00
Clebert Suconic 4de9e887f6 ARTEMIS-3309 Fixing QueueControlUsingCoreTest 2021-05-25 11:45:17 -04:00
Clebert Suconic f6df6083e3 ARTEMIS-3283 Fixing Slow Consuemr Test and speeding it up
I am removing some combinations that are not needed here,
and I'm adding another extra test to valiate the rate per minutes
2021-05-25 11:29:04 -04:00
Justin Bertram 3621258458 ARTEMIS-3285 potential duplicate messages with LVQ + non-destructive 2021-05-24 16:42:10 -04:00
Domenico Francesco Bruscino e03c4fe193 ARTEMIS-3309 Add a parameter to limit messages to move or transfer 2021-05-24 14:09:20 -04:00
Justin Bertram e543aa3bd5 ARTEMIS-3159 errors during concurrent expiration with auto-creation 2021-05-24 13:02:08 -05:00
Justin Bertram 81bbca15c1 ARTEMIS-3229 add details to AdressControl MBean 2021-05-24 11:51:14 -05:00
Martyn Taylor 3c0e14de58 ARTEMIS-3283 Added SlowConsumerThreshold unit configuration option 2021-05-24 11:49:38 -05:00
gtully 72c9cae8e1 ARTEMIS-3311 - ensure visibility of error state on operation context callback registration, fix and test 2021-05-24 16:07:36 +01:00
Clebert Suconic 847fe90411 ARTEMIS-3295 Removing Clutered OpenWire test since we are not clustering advisory any longer 2021-05-24 09:51:42 -04:00
Clebert Suconic c0128b29cb ARTEMIS-3297 Fixing BackupSyncLargeMessageTest 2021-05-24 09:05:58 -04:00
Clebert Suconic 3f38be8c08 ARTEMIS-3310 Paging could lose AMQPmessage if match didn't work for any reason 2021-05-20 13:19:57 -04:00
Domenico Francesco Bruscino 9e9e279d42 ARTEMIS-3294 Fix testTextMessageAttributeLimits 2021-05-20 13:19:39 -04:00
Clebert Suconic 5e622a642d ARTEMIS-3297 Fixing Tests that do not support retention on the file system 2021-05-18 22:27:39 -04:00
Clebert Suconic 27c343913f ARTEMIS-3297 Journal Retention Feature 2021-05-18 16:29:18 -04:00
Robbie Gemmell 2e2cd1f073 ARTEMIS-3296: get things building on Java 16 (and 17EA+21)
Updates parent pom, various plugins or deps, tidies up inconsistent versions
and consolidates to inherited version where possible, define properties for
some versions where not. Disables some problematic tests on JDK16+ for now.

Drops DS test dep back 1 version to remove a specific breakage affecting
multiple tests/modules, introduced after its upgrade in commit
9e70b26368.
2021-05-17 08:28:46 -04:00
Andy Taylor a34d9aad6b ARTEMIS-3295 - do not cluster advisories
https://issues.apache.org/jira/browse/ARTEMIS-3295
2021-05-14 10:08:21 -04:00
Robbie Gemmell a3de3d4c75 ARTEMIS-3038, ARTEMIS-2813: remove the CoreClientOverOneWaySSLKerb5Test test class
- It is already entirely disabled one or more ways depending on what JVM is in use.
- If enabled on any modern JVM it would either fail by default or can never work, as
  the related ciphers it requires have been disabled (8) or entirely removed (11+)
  due to being considered unsuitable for use.
2021-05-14 11:37:16 +01:00
Timothy Bish 9e70b26368 ARTEMIS-2813 Fix SaslKrb5LDAPSecurityTest failing on JDK 11
Fixes issues with SaslKrb5LDAPSecurityTest by updating to latest Apache Directory
release which required some updates to the test to fix deprecation warnings and an
updates to commons.lang to fix issues with new namespace for StringUtils that will
work on JDK 8+ only.
2021-05-14 10:07:38 +01:00
Timothy Bish 9513405020 ARTEMIS-2813 Update MiniKDC and fix Kerberos tests on JDK 11+
Updates the MiniKDC dependency and adds another now needed dep in order
to get the Kerberos tests working on JDK 11+ builds.
2021-05-14 10:07:38 +01:00
Clebert Suconic 67d47274a1 NO-JIRA removing runDirectJournalBlast 2021-05-12 09:51:56 -04:00
Clebert Suconic 4727be6a69 NO-JIRA fixing logging.properties 2021-05-12 09:51:56 -04:00
Clebert Suconic a30b3a81b9 ARTEMIS-3293 System test on Paging and DLQ processing 2021-05-11 16:30:23 -04:00
Clebert Suconic 5393470b84 NO-JIRA Reformating smoke-tests/pom.xml
no semantic changes on this commit.
just making it look prettier.
2021-05-05 16:27:53 -04:00
Clebert Suconic b0f8f515c5 ARTEMIS-3273 Recover tool and PrintData enhancements 2021-04-30 18:41:05 -04:00
Clebert Suconic d2676e77f8 ARTEMIS-3271 Improve Critical Analyzer to use AutoCloseable on the API 2021-04-30 12:46:15 -04:00
Clebert Suconic 42405fedcf ARTEMIS-3261 Expanding verification to journal compacting counters
After testing a production outage situation I still encountered issues on deciding the journal should be compacted.
This is addressing these issues.
2021-04-26 16:45:17 -04:00