Commit Graph

1245 Commits

Author SHA1 Message Date
Justin Bertram 57ed5b0530 ARTEMIS-1926 refactor SSLSupport 2018-06-18 16:15:13 -04:00
Justin Bertram 7df3bcecef Revert "[ARTEMIS-1819] Missing fields on listAllConsumersAsJSON, listConsumersAsJSON and listConnectionsAsJSON"
This reverts commit c3fbd1b9e4.

Based on the discussion on the PR
https://github.com/apache/activemq-artemis/pull/2035 this shouldn't have
been merged. It's importing JMS-specific code into the core broker which
is something we've worked hard to eliminate in recent releases.
2018-06-18 16:08:11 -04:00
Robbie Gemmell ed2a18f1c4 ARTEMIS-1940: restore use of copying send in certain edge cases
Avoids pooling corner cases interacting with ARTEMIS 1843 + ARTEMIS 1861 improvements.

Also tagging ARTEMIS-1941 to note test needs altered along with it.
2018-06-18 19:30:26 +01:00
Robbie Gemmell 9a3442f0bd ARTEMIS-1934: fix handling/accounting of sent amqp connection data
updates max frame size tests to verify behaviour seen with standalone
brokers rather than non represenative test-only conditions, as well
as more closely validate the recieved messages
2018-06-15 20:27:28 +01:00
Clebert Suconic b360fa6063 ARTEMIS-1935: Close of openwire connection should closes all open sessions
This is my ammending to the last commit
I'm adding some extra verifications to the test
and I fixed a leak that already existed on the previous map
2018-06-15 10:33:55 -04:00
Benjamin Graf 39871157b4 ARTEMIS-1935: Close of openwire connection should closes all open sessions 2018-06-15 10:33:55 -04:00
Keith Wall 89f6350c1c ARTEMIS-1893: Treat the detach of a link with expiry policy of link-detatch as if closed flag were true. 2018-06-12 10:12:19 -04:00
Clebert Suconic 42fa84fa51 ARTEMIS-1924 Renaming test to a proper name 2018-06-11 18:41:57 -04:00
Clebert Suconic cb793e0e98 ARTEMIS-1924 Add amqpIdleTimeout 2018-06-11 18:37:11 -04:00
Clebert Suconic de0747a9a4 ARTEMIS-1920 AMQP throw NPE if can't find a backup server 2018-06-08 17:42:37 -04:00
Justin Bertram dc29a55e1b ARTEMIS-1900 fix race in STOMP auto-create 2018-06-07 11:24:51 -04:00
Clebert Suconic b6fba64d9e ARTEMIS-1913 Dependency to netty tcpnative should be optional 2018-06-06 16:13:31 -04:00
Justin Bertram c1b0f1eb85 ARTEMIS-1897 use core session for STOMP authn 2018-06-04 12:01:02 -04:00
Christopher L. Shannon (cshannon) 40ade11981 ARTEMIS-1895 - Add duplicate metadata failure callback to ActiveMQServerPlugin
Add a callback on duplicate metadata which will allow extra
functionality to be added.
2018-06-04 10:01:46 -04:00
Martyn Taylor dde60b136a ARTEMIS-1902 Ensure ServerConsumer close done once
Calling close multiple times on ServerConsumer can result in multiple
notifications being routed around the cluster.  This causes cluster
topology info to become skewed.  Which affects a number of components
such as message redistribution, metrics and can eventually cause OOM
should multiple queues be redistributing at the same time.
2018-06-04 09:33:26 -04:00
Clebert Suconic 1ae2784dc6 ARTEMIS-1858 Expiry messages are not transversing clustering with AMQP 2018-05-30 18:57:38 -04:00
Clebert Suconic 9b7ebef9fd NO-JIRA Improving Assert.equals count on SessionTest 2018-05-30 15:29:06 -04:00
saurabhrai d11eed2f9e ARTEMIS-1866 Make Quorum vote result wait time configurable.
Quorum voting is used by both the live and the backup to decide what to do if a replication connection is disconnected.
Basically, the server will request each live server in the cluster to vote as to whether it thinks the server it is replicating to or from is still alive.
You can also configure the time for which the quorum manager will wait for the quorum vote response.
Currently, the value is hardcoded as 30 sec. We should change this 30-second wait to be configurable.
2018-05-25 12:29:02 -04:00
Justin Bertram 6211fb7ad6 ARTEMIS-1882 fix failing SecurityTest 2018-05-24 22:05:09 -05:00
Justin Bertram cd2f544b7e ARTEMIS-1872 fix security tests
After the new authn change for creating addresses a bunch of tests need
to be updated to include the proper permissions.
2018-05-24 14:37:35 -04:00
Justin Bertram 3602713a7e ARTEMIS-1882 verify PKCS12 keystores work 2018-05-24 11:58:43 -04:00
Michael André Pearce 659d23cb28 ARTEMIS-1872 Fixing address security checks
Ensure CREATE_ADDRESS is honored and behavior is consistent across protocols.
2018-05-24 05:23:41 +01:00
Michael André Pearce 0746ea8aca ARTEMIS-1872 Fixing Security test 2018-05-23 22:49:45 -04:00
Howard Gao 7c53855c11 ARTEMIS-1853 Adding Netty OpenSSL provider example
Added an example to demonstrate how to configure and use openssl
Moved/Added netty-tcnative dependency to artemis-distribution
Changed artemis-jms-client-all pom to exclude io.netty from relocation
so that the native openssl can be loaded
2018-05-23 15:47:10 -04:00
Clebert Suconic 3a5971ec81 ARTEMIS-1872 Improving Security Checks on AMQP Protocol
Also improving test coverage on SecureConfigurationTest
This commit will fix JMSConnectionWithSecurityTest.
2018-05-23 15:01:41 -04:00
Michael André Pearce a9d9731f0a ARTEMIS-1872 Check for queue exists before creating shared queue
1. Add tests case to verify issue and fix, tests also tests for same behavior using CORE, OPENWIRE and AMQP JMS Clients.
2. Update Core Client to check for queue before creating, sharedQueue as per createQueue logic.
3. Update ServerSessionPacketHandler to handle packets from old clients to perform to implement the same fix server side for older clients.
4. Correct AMQP protocol so correct error code is returned on security exception so that amqp jms can correctly throw JMSsecurityException
5. Correct AMQP protocol to check for queue exists before create
6. Correct OpenWire protocol to check for address exists before create
2018-05-23 13:11:25 -04:00
Justin Bertram 8d64f741a1 ARTEMIS-1873 STOMP heartbeater left alive on cxn destroy 2018-05-22 17:07:31 -05:00
Justin Bertram 4d492bea0e ARTEMIS-1874 fix NPE setting object property 2018-05-21 18:10:00 -04:00
Howard Gao 8b458b5682 ARTEMIS-1853 Adding Netty OpenSSL provider test
Added some netty openssl tests
Fix a NPE issue
2018-05-21 18:09:29 -04:00
Howard Gao 47b31b53d6 ARTEMIS-1868 Openwire doesn't add delivery count in client ack mode
If a client ack mode consumer receives a message and closes without
acking it, the redelivery of the message won't set the redelivery
flag (JMSRedelivered) because it doesn't increment the delivery count
when message is cancelled back to queue.
2018-05-21 18:00:08 -04:00
Clebert Suconic af56b67e38 [maven-release-plugin] prepare for next development iteration 2018-05-16 11:03:26 -04:00
Clebert Suconic bcaa11c2ee [maven-release-plugin] prepare release 2.6.0 2018-05-16 11:03:14 -04:00
Christian Sailer 2d59a0d3db ARTEMIS-1746: Fix client side OpenSSL 2018-05-15 09:48:12 -04:00
Michael André Pearce aad45ad592 ARTEMIS-1783 Remove need for guava
Replace guava Preconditions with artemis Preconditions
Replace guava Predicate with java Predicate
Replace guava Ordering with java Comparator
Replace guava Immutable, with ArrayList/Set and then wrap with unmodifiable
2018-05-14 09:45:41 -04:00
Robbie Gemmell f0bac1bf18 ARTEMIS-1862: fix 'amqpLowCredits' XML config, update related code defaults 2018-05-11 21:07:02 +01:00
Timothy Bish 9e008523b5 ARTEMIS-1861 Set a max-frame-size on AMQP connections by default
Configure a value of 128KB for AMQP max frame size by default to improve
overall performance and provide a limit on delivery size before chunking
begins.
2018-05-11 12:57:56 -04:00
Justin Bertram ecb9d462ce ARTEMIS-1851 avoid exception in isReplicaSync() 2018-05-11 12:11:52 -04:00
Francesco Nigro 75d61f606b NO-JIRA Fixing assertActiveSession on ClientCrashTest::testCrashClient2 2018-05-11 11:44:19 +02:00
Clebert Suconic 32ec602eaf NO-JIRA Fixing test race on ClientCrashTest 2018-05-10 12:19:18 -04:00
Clebert Suconic 9d62e1d854 NO-JIRA Fixing another test race on JMSConsumer11Test 2018-05-10 09:05:30 -04:00
Clebert Suconic 9723eed830 NO-JIRA Fixing another test race 2018-05-09 20:45:33 -04:00
Clebert Suconic 9387b9af4e NO-JIRA Improving test to avoid clustering races 2018-05-08 22:42:05 -04:00
Clebert Suconic 69ca189439 NO-JIRA Improvements on ReplicatedMultipleServerFailoverExtraBackupsTest 2018-05-08 18:55:59 -04:00
Justin Bertram 90a604da20 ARTEMIS-1834 don't alter STOMP 'destination' header when using prefix 2018-05-08 15:28:46 -05:00
Clebert Suconic a66b7dda27 NO-JIRA Fixing race on test 2018-05-08 14:45:56 -04:00
Clebert Suconic 82d8992bce NO-JIRA Improving MqttClusterWildcardTest 2018-05-08 11:45:07 -04:00
Clebert Suconic 50e170b7ec NO-JIRA Fixing ReplicatedFailoverTest testFailBack 2018-05-07 20:03:29 -04:00
Justin Bertram 67964facf0 NO-JIRA fix another OpenWire race 2018-05-07 17:34:15 -04:00
Clebert Suconic 26ccd63b1d NO-JIRA fixing race on a test 2018-05-06 22:17:13 -04:00
Clebert Suconic 8859d99224 NO-JIRA fixing race on a test 2018-05-05 15:10:43 -04:00
Clebert Suconic 386494c73b NO-JIRA Using a different Port on PagingWithFailoverAndCountersTest 2018-05-05 12:21:52 -04:00
Justin Bertram 90f52920e5 NO-JIRA fix potential race in SessionTest 2018-05-04 22:47:54 -04:00
Clebert Suconic 61d2cc5bb0 NO-JIRA Adding checks for spawned servers on the testsuite 2018-05-04 22:43:56 -04:00
Justin Bertram bd7ec8cca5 NO-JIRA fix race in OpenWire temp queue test 2018-05-03 18:58:14 -05:00
Justin Bertram 3016db699d ARTEMIS-1848 auto-delete auto-created queue for OpenWire 2018-05-03 14:22:20 -05:00
Ingo Weiss c3fbd1b9e4 [ARTEMIS-1819] Missing fields on listAllConsumersAsJSON, listConsumersAsJSON and listConnectionsAsJSON
Issue: https://issues.apache.org/jira/browse/ARTEMIS-1819
2018-05-03 12:39:35 -04:00
Benjamin Graf 08fd2acb24 ARTEMIS-1768: Fix handling of internalSession for OpenWireConnection 2018-05-03 12:23:57 -04:00
Justin Bertram ed623e0afc ARTEMIS-1659 add test for reload on inactive slave 2018-05-03 12:12:51 -04:00
Timothy Bish c1cf9ef12d ARTEMIS-1843 Update Qpid JMS 0.32.0 and Proton-j 0.27.1
Use new no copy variants for the delivery send and receive and make
use of the ReadableBuffer type that is now used to convery tranfer
payloads without a copy.  Also set max outgoing frame size to match
the configured maxFrameSize for the AMQP protocol head to avoid the
case where an overly large frame can be written instead of chunking
a large message.
2018-05-03 12:10:25 -04:00
Justin Bertram a6fe25599c ARTEMIS-1846 fix activemq.usemaskedpassword in URL 2018-05-03 12:09:58 -04:00
Clebert Suconic 385e11117b NO-JIRA Removing Wrong assertion 2018-05-02 11:38:50 -04:00
Clebert Suconic f8017d0674 NO-JIRA removing obsolete CloseConnectionFactoryOnGCTest 2018-05-02 11:38:50 -04:00
Clebert Suconic 6d2a464319 NO-JIRA: Simplifying AMQP JMS LargeMessage test 2018-04-27 10:16:37 -04:00
Howard Gao 8a73fdd3a2 NO-JIRA: Added a AMQP JMS LargeMessage test 2018-04-27 10:12:34 -04:00
Justin Bertram d773e8f66b ARTEMIS-1794 STOMP clients using same addr w/diff routing types 2018-04-26 21:20:07 -04:00
Clebert Suconic e937c9903f NO-JIRA Fixing Test only
no feature or semantic changes on this commit, hence no JIRA
2018-04-26 21:18:40 -04:00
Justin Bertram d6adc2950a ARTEMIS-1818 re-create auto-created queue on JMS reconnect 2018-04-26 09:59:47 -04:00
Clebert Suconic 02a7a98c5b ARTEMIS-1832 Removing dead HAAutomaticBackupSharedStoreTest
This closes #2045
2018-04-25 15:04:02 -04:00
Justin Bertram 6598ab271f ARTEMIS-1830 only return prepared txns with listPreparedTxns mgmnt op 2018-04-25 12:45:23 -05:00
Stanislav Knot 60264346da ARTEMIS-1805 fix for broker operations in hawtio 2018-04-24 10:58:15 +08:00
Justin Bertram 37bc26e574 ARTEMIS-1793 fix 'destination-type' STOMP header (test) 2018-04-18 11:53:31 -04:00
Clebert Suconic 1e9f76f45a ARTEMIS-1814 Try original connection when every other node failed 2018-04-17 17:00:05 -04:00
Clebert Suconic 6b74e2ce8e ARTEMIS-857 Fixing QueueControlUsingCoreTest failures after JMX changes 2018-04-17 16:12:45 -04:00
Timothy Bish 98da402fb6 NO-JIRA Fix a couple random test failures
Need to add a couple wait conditions to ensure valid stats are checked.
2018-04-17 12:31:26 -04:00
Howard Gao f29eeee167 NO-JIRA: Fix test regression
QuorumFailOverTest.testQuorumVotingLiveNotDead fails
because the quorum vote takes longer time to finish than
the test expects to.
(The test used to pass until commit ARTEMIS-1763)
2018-04-17 10:59:05 -04:00
Francesco Nigro c7651853cd ARTEMIS-1653 Allow database tables to be created externally
The previous commit about this feature wasn't using the row count query
ResultSet.
The mechanics has been changed to allow the row count query
to fail, because DROP and CREATE aren't transactional and immediate
in most DBMS.
It includes a test that stress its mechanics if used with DBMS like
DB2 10.5 and Oracle 12c.
Additional checks and logs have been added to trace each steps.
2018-04-17 10:41:14 -04:00
Michael André Pearce af91d3ac82 ARTEMIS-857 Add JMX endpoints to view and reset groups
Expose method to return current mappings of groups to consumers
Expose methods to reset (remove) specific group mapping from groupID to Consumer
Expose methods to reset (remove) all group mappings
2018-04-17 15:54:33 +08:00
Christopher L. Shannon (cshannon) bddfa4892b ARTEMIS-1803 - Pass ServerConsumer to messageExpired and
messageAcknowledged plugin callback methods

Knowing the consumer that expired or acked a message (if available) is
useful and right now a message reference only contains a consumer id
which by itself is not unique so the actual consumer needs to be passed
2018-04-14 10:34:09 -04:00
Lionel Cons 1e81361a88 ARTEMIS-1740: Add support for regex based certificate authentication 2018-04-12 12:55:20 -04:00
Christopher L. Shannon (cshannon) 70f0908b4e ARTEMIS-1800 - Fix metrics decrement on scheduled message cancel
The queue metrics were being decremented improperly because on iteration
over the cancelled scheduled messages because the flag for fromMessageReferences was not
set to false. Setting the flag to false skips over the metrics update
which is what we want as the scheduled messages were never added to the
message references in the first place so the metrics don't need updating
2018-04-10 15:54:29 -04:00
Howard Gao 1175d777b3 ARTEMIS-1797 Auto-create-address flag shouldn't avoid temp destination creation
When creating a temp destination and auto-create-address set to false, the
broker throws an error and refuse to create it. This doesn't conform to
normal use-case (like amqp dynamic flag) where the temp destination should
be allowed even if the auto-create-address is false.
2018-04-10 13:38:27 -04:00
Christopher L. Shannon (cshannon) 4795f7c6d0 ARTEMIS-1799 - Add a NotificationActiveMQServerPlugin
Adds a new plugin that will support sending new types of notifications
for broker events which will allow enhanced broker monitoring
2018-04-10 09:43:02 -04:00
Clebert Suconic 6ca5f9eda2 ARTEMIS-1791 fixing checkstyle on test 2018-04-09 12:13:31 -04:00
Ingo Weiss c69d6b0476 [ARTEMIS-1791] Large message files are not removed after redistribution across a cluster
Issue: https://issues.apache.org/jira/browse/ARTEMIS-1791

Adding test
2018-04-09 11:06:09 -04:00
Clebert Suconic e5bce13316 ARTEMIS-1776 Blocked Bridge is not resuming after reconnect
This is still part of ARTEMIS-1776 fix, which still part of the same release as we are on now.
Hence I'm not opening a new JIRA for this one.
2018-04-06 13:17:13 -04:00
Timothy Bish fc32bc0b07 ARTEMIS-1780 Handle conversion of large ObjectMessage types
Make sure the correct buffer is used when decoding the stored Core
message that originated from the conversion of an AMQP message sent and
annotated as a JMS ObjectMessage which trips the large message boundary.
2018-04-03 22:27:43 -04:00
Howard Gao 262990fa67 ARTEMIS-1779 ClusterConnectionBridge may connect to other nodes than its target
The cluster connection bridge has a TopologyListener and connects to a new node
each time it receives a nodeUp() event. It needs to put a check here to make
sure that the cluster bridge only connects to its target node and it's backups.

This issue shows up when you run LiveToLiveFailoverTest.testConsumerTransacted
test.

Also in this commit improvement of BackupSyncJournalTest so that it runs more
stable.
2018-04-03 16:22:13 -04:00
Clebert Suconic ef74221684 NO-JIRA Fixing FailoverTest
There's some debugging code I left on this test
causing cascade failures after a change made on JDBC.
2018-03-29 10:28:31 -04:00
Clebert Suconic 70bdfe7603 ARTEMIS-1776 Asynchronous Flow control on the bridge 2018-03-28 19:09:20 -04:00
Francesco Nigro 8842ac3638 ARTEMIS-1757 Improve DB2 compatibility
It includes:
- Fixed AUTO_INCREMENT not supported on DB2
- Added proper stop/teardown of driver
- Fixed recursive SQLException formatting
2018-03-27 09:59:56 -04:00
saurabhrai f045ffbcf8 ARTEMIS-370: Make JDBC Journal Sync period configurable 2018-03-22 16:29:00 -04:00
Martyn Taylor f8547aecf1 ARTEMIS-1764 Ignore Ack for Prepared Tx when Queue deleted 2018-03-22 16:21:16 -04:00
Michael André Pearce a9d84a7dad ARTEMIS-1766 - Persist LastValue queue config in bindings.
Added Integration tests for the issue.
Add lastvalue to the queue bindings that get persisted.
2018-03-22 16:20:14 -04:00
Clebert Suconic e86acd4824 ARTEMIS-1765 Fixing Large Message Compression and Conversion 2018-03-22 16:11:11 -04:00
Howard Gao 51f105da7b ARTEMIS-1765 Adding StompWithLargeMessageTest
This closes #1965
2018-03-22 16:06:37 -04:00
Ulf Lilleengen be6cb7a22f ARTEMIS-1748: Cleanup connections when client connector is destroyed 2018-03-22 10:46:40 -05:00
gtully 72ec6c8e0b [ARTEMIS-1758] support SASL EXTERNAL with TextCertLoginModule
- rework proton handler to use saslListener
2018-03-22 10:09:58 -04:00
Michael André Pearce c7622d58c0 ARTEMIS-1747 - Fix Configuration change loss when network Issue
Add Test Case to stop and restart server after config reload and check state, this re-creates network health check issue where config changes are lost when network health check de-activates the server and then re-activates.

Add fix to update the held configuration thats used when initialisation steps during start are done.
2018-03-15 10:05:11 -04:00
Clebert Suconic 920af19adb [maven-release-plugin] prepare for next development iteration 2018-03-12 12:46:27 -04:00
Clebert Suconic 5f5b1dcf8f [maven-release-plugin] prepare release 2.5.0 2018-03-12 12:46:16 -04:00