Commit Graph

1319 Commits

Author SHA1 Message Date
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
Clebert Suconic 91043f8153 NO-JIRA Fixing intermittent failure on listSession methods 2018-03-09 15:48:51 -05:00
Clebert Suconic 91c0452d60 ARTEMIS-1737 Fixing semantic of ServerControl.forceFailover
This closes #1940
2018-03-08 23:42:29 -05:00
Stanislav Knot dc096f950d ARTEMIS-1737 fix for inaccessible slave console after failover 2018-03-08 23:32:44 -05:00
Clebert Suconic 80c71fea63 NO-JIRA Fix intermittent failure 2018-03-08 13:36:17 -05:00
Justin Bertram 92cb69513e ARTEMIS-1198 add listAllSessionsAsJSON mgmnt method 2018-03-06 18:46:20 -05:00
JiriOndrusek 65ccfb2838 ARTEMIS-1669 JMS message is not received when using a non-transactional JMSConnectionFactoryDefinition 2018-03-06 18:45:51 -05:00
Justin Bertram 913d7ecac2 ARTEMIS-1730 add tests for expiry issue 2018-03-05 15:00:07 -05:00
Christopher L. Shannon (cshannon) 29250466ae ARTEMIS-1727 - Make sure transport is stopped on failed OpenWire
connection

To prevent a socket from hanging open by a bad client the broker should
make sure to stop the transport if a connection attempt fails by an
OpenWire client
2018-03-05 07:45:42 -05:00
Christopher L. Shannon (cshannon) da3dd29101 ARTEMIS-1726 - check proper permissions when using OpenWire
Ensure that on queue creation and deletion that the proper permissions
are checked
2018-03-02 16:47:23 -05:00
Justin Bertram b5f0225f29 NO-JIRA add STOMP tests 2018-03-01 14:02:57 -06:00
Justin Bertram 5773ad1ea7 NO-JIRA fix intermittently failing STOMP test 2018-03-01 14:02:57 -06:00
Justin Bertram 2123f85ea9 ARTEMIS-1717 create/delete address permissions ignored in broker.xml 2018-03-01 14:02:57 -06:00
Clebert Suconic e4e864d88e NO-JIRA Speeding up ReattachTest 2018-03-01 14:40:30 -05:00
17103355 c808f246e5 ARTEMIS-1705 Only messages from MessageReferences are subtracted from the queueMemorySize 2018-03-01 09:53:58 -05:00
Christopher L. Shannon (cshannon) 8e9ee80892 ARTEMIS-1711 - Fix openwire exlusive divert
Fixing the failure on send from an OpenWire producer when an exclusive
divert exists
2018-02-28 17:35:56 -05:00
Christopher L. Shannon (cshannon) d4041b5a72 ARTEMIS-1713 - Fix NPE inside OpenWireConnection
fix NPE inside getClientId() in OpenWireConnection
2018-02-28 14:06:36 -05:00
Christopher L. Shannon (cshannon) 642654ff7a ARTEMIS-1706 - Add support for wantClientAuth
Support setting wantClientAuth on a netty acceptor
2018-02-28 06:44:24 -05:00
Clebert Suconic 247f2a309a NO-JIRA Simple fix on test 2018-02-27 22:03:50 -05:00
Clebert Suconic 158eb9d3bf NO-JIRA Using force option on deleteTopics and deleteQueues on JoramTests 2018-02-27 16:13:42 -05:00
Clebert Suconic 7e06a2b192 ARTEMIS-1700 Using IOExecutors for more IO tasks 2018-02-27 12:42:20 -05:00
Justin Bertram 36fc14a30d ARTEMIS-1704 clear activate callbacks when stopping 2018-02-26 17:36:17 -05:00
Justin Bertram 92ca12a3d8 ARTEMIS-1696 allow empty 'address' for grouping-handler 2018-02-26 19:13:23 +00:00
Clebert Suconic 3ff0dc2e69 NO-JIRA testPurge wasn't meant for globalTest, ignoring it 2018-02-22 20:45:13 -05:00
Justin Bertram 1e57a8e70a ARTEMIS-1697 give ActivateCallback default methods 2018-02-22 21:37:33 +00:00
Christopher L. Shannon (cshannon) 2ea0dce6c7 ARTEMIS-1695 - Improve STOMP compatiblity with 5.x clients
Also make sure on authentication error in version 1.0 a client will
disconnect
2018-02-22 16:22:40 -05:00
Clebert Suconic f06db19eab ARTEMIS-1688 Fixing test after new addresses included 2018-02-21 09:43:10 -05:00
Clebert Suconic c77fa6c897 NO-JIRA Test tweaks
small fix and System.out
2018-02-20 23:44:16 -05:00
Justin Bertram ab602351a1 ARTEMIS-1688 fix cluster when auto-create-addresses=false 2018-02-20 11:19:55 -05:00
Clebert Suconic 34146c0cef Revert "ARTEMIS-1688 fix cluster when auto-create-addresses=false"
Revert #1875

This reverts commit 5ad45369ce.

The storage manager is broken now as the AddressManager change here is trying to insert a record on the journal before startup.
2018-02-19 18:03:21 -05:00
Clebert Suconic 24b546f84e NO-JIRA changing accept port
This will clash if you have jenkins running on a default 8080 port.
2018-02-19 17:36:34 -05:00
Clebert Suconic 132af01595 ARTEMIS-1680 Fixing intermittent failure
This will make sure the cluster is well formed before doing assertions
2018-02-19 17:16:27 -05:00
Justin Bertram 5ad45369ce ARTEMIS-1688 fix cluster when auto-create-addresses=false 2018-02-19 11:36:11 -05:00
raul.valdoleiros 13e071158d ARTEMIS-1680 - Synchronize message load balacing type between brokers
This guarantees the update of message load balancing type between addresses and linked adresses
2018-02-19 11:33:09 -05:00
Clebert Suconic b5bf5afde7 NO-JIRA Test fixes
- LargeServerMessageImpl.finalize is eventually causing deadlocks
- CoreMessage needs to check properties before decoding
- PagingTest tweaks
- ServerLocatorImpl can deadlock eventually, avoiding a lock and using actors
- ActiveMQServerImpl.finalize is also evil and can cause deadlocks on the testsuite
- MqttClusterRemoteSubscribeTest needs to setup the Address now on the setup
2018-02-14 10:56:44 -05:00
Justin Bertram 8b64ca183a ARTEMIS-1645 fix typo in DivertTest 2018-02-14 10:28:53 -05:00
Justin Bertram 0329002f59 ARTEMIS-1632 add PropertyPermission for test 2018-02-14 10:27:35 -05:00
Clebert Suconic 9b104930c2 ARTEMIS-1663 Fixing Encoding on PageCountPendingImpl
The PageCountPendingImpl was increasing the encode size without using its full allocation.
This was causing issues on replication as the encode is also used to determine the size of the packets.
however the packets were not receive the full allocated data causing missing packets on the replication
and test failures.

This is fixing the issue
2018-02-14 09:57:15 -05:00
Christopher L. Shannon (cshannon) ea70af15a3 ARTEMIS-1663 - Add new message count and size metrics
Adding new metrics for tracking message counts and sizes on a Queue.
This includes tracking metrics for pending, delivering and scheduled
messages.  The paging store also tracks message size now.
2018-02-08 11:35:12 -05:00
Michael André Pearce dc41f3ca49 ARTEMIS-853 Support for exclusive consumers
Support exlusive consumer
Allow default address level settings for exclusive consumer
Allow queue level setting in broker.xml
Add the ability to set queue settings via Core JMS using address. Similar to ActiveMQ 5.X
Allow for Core JMS client to define exclusive consumer using address parameters
Add tests
2018-02-07 15:27:29 +00:00
Martyn Taylor 7576b9d586 ARTEMIS-1611 Added support for 1.x transformer API 2018-02-05 16:32:03 +00:00
Stanislav Knot a259b6972c ARTEMIS-1646 fix for browsing messages sent via JS client 2018-02-05 16:10:02 +00:00
Guillaume Nodet 54c80aabcd Merge remote-tracking branch 'johnpoth/ARTEMIS-1630' 2018-02-05 11:03:47 +01:00
Andy Taylor 032210a7c6 ARTEMIS-1654 - fix brige reconnect logic
Make sure that if a bridge disconnects and there is no record in the topology that it uses the original bridge connector to reconnect.

Originally the live broker that disconnected was left in the Topology, thie broke quorum voting as when th evote happened all brokers when asked though th etarget broker was still alive.
The fix for this was to remove the target live broker from the Topology. Since the bridge reconnect logic relied on this in a non HA environment to reconnect this stopped working.
The fix now uses the original target connector (or backup) to reconnect in the case where the broker was actually removed from the cluster.

https://issues.apache.org/jira/browse/ARTEMIS-1654
2018-02-02 12:17:41 -05:00
Howard Gao 17db696e8b ARTEMIS-1652 XmlDataImporter forgets delete tmp files
When using the tool to import more than one large messages
from xml exported file, this utility class will create some
tmp files, each for one large message. However it only delete
one of the tmp files. All the rest of tmp files won't get
cleaned up.
2018-02-02 12:11:37 -05:00
Christopher L. Shannon (cshannon) 586487155c ARTEMIS-1657 - Properly decrement memory usage when moving messages from
queue

When messages are retried and moved froma DLQ to the original queue the
memory usage tracker needs to be decremented
2018-02-02 11:13:01 -05:00
Christopher L. Shannon (cshannon) 51cb5dfb18 ARTEMIS-1647 - Add plugin support for binding creation and removal
Adds callbacks to ActiveMQServerPlugin for binding add and remove events
2018-02-01 07:47:23 -05:00
Justin Bertram 028d6f71ef ARTEMIS-1645 diverted msg can't be retried from DLQ 2018-01-31 18:07:12 -05:00
Howard Gao 1693db0177 ARTEMIS-1639 HornetQClientProtocolManager sending unsupported packet
HornetQClientProtocolManager is used to connect HornteQ servers.
During reconnect, it sends a CheckFailoverMessage packet to the
server as part of reconnection. This packet is not supported by
HornetQ server (existing release), so it will break the backward
compatibility.

Also fixed a failover issue where a hornetq NettyConnector's
ConnectorFactory is serialized to the clients who cannot
instantiate it because class not found exception.
2018-01-31 18:05:32 -05:00
Francesco Nigro 52e594d218 ARTEMIS-1640 JDBC NodeManager tests have to be customizable to run on different DBMS
ActiveMQTestBase has been enhanced to expose the Database storage configuration and by adding specific JDBC HA configuration properties.
JdbcLeaseLockTest and NettyFailoverTests have been changed in order to make use of the JDBC configuration provided by ActiveMQTestBase.
JdbcNodeManager has been made restartable to allow failover tests to reuse it after a failover.
2018-01-30 14:07:16 +01:00
Robbie Gemmell d02a1423ba NO-JIRA: add an AMQP test that acks out of order, leveraging individual ack support from QPIDJMS-357 2018-01-29 14:55:23 +00:00
Clebert Suconic 59d2ac53ff ARTEMIS-1638 & ARTEMIS-1641 Making sure Paging survives Purge on a test & cleanup PgTX (test) 2018-01-26 23:24:56 -05:00
Clebert Suconic 69429e4e23 ARTEMIS-1638 Fixing Purge rollback behaviour (test only)
Having a commit with just a test will make it easy for developers to checkout just this branch
and validate the issue.
2018-01-26 23:24:55 -05:00
Christopher L. Shannon (cshannon) 37cc1e3e7a ARTEMIS-1633 - fire message routing callbacks for all results
Make sure ActiveMQServer plugin implementations are always notified of
message route events
2018-01-25 12:11:11 -05:00
Pat Fox e350c58a46 ARTEMIS-1623 ActiveMQServerPlugin impl for logging various broker events
Similar concept to the ActiveMQ 5.x loggingBrokerPlugin
2018-01-24 09:10:32 -05:00
jpoth cef1cc8f8d [ARTEMIS-1630] Create Artemis Client features 2018-01-24 09:43:03 +01:00
jostbg 6483f139f3 ARTEMIS-1629 Set cxn clientID before validating 2018-01-23 16:37:03 -06:00
Christopher L. Shannon (cshannon) 8b6df5b73a ARTEMIS-1627 - Support removing addresses that do not have direct
bindings

If there are no direct bindings on an address and only linked bindings
then the address should be able to be removed from the broker
2018-01-23 16:26:45 -05:00
Stanislav Knot 156372ab40 ARTEMIS-1625 fix moving messages 2018-01-22 18:07:44 -05:00
Howard Gao 98ce31bf58 ARTEMIS-1621 Make producerWindowSize configurable on clusterconnection bridges
The cluster connection bridge hard codes its producerWindowSize to -1
(meaning no producer flow control) even if you configure it otherwise.
2018-01-22 11:27:59 -06:00
Jeff Mesnil 2af7b3bdcb [ARTEMIS-1609] Add distinct name/address for JMS destinations
Fix internalCreateTopic method: the topics are keyed by their core
addresses, not their JMS names.
2018-01-22 17:14:14 +00:00
gtully 82e4f465ee [ARTEMIS-1030] add support for auto mapping openwire virtual topic consumer destinations to FQQN 2018-01-22 11:10:46 +00:00
Christopher L. Shannon (cshannon) bc38d7ce32 ARTEMIS-1619 - Add plugin support for address lifecyle
Adding callbacks to the plugin API for address creation, update and
removals
2018-01-18 21:01:41 -06:00
Clebert Suconic 61a1123ee1 ARTEMIS-1613 Integrating JDBC into CLI (create print-data and exp) 2018-01-18 20:55:00 -06:00
Francesco Nigro cdc98c2a66 ARTEMIS-1606 - Change AddressInfo RoutingType Set to use EnumSet
This is fixing the broken testUnsupportedRoutingType test
2018-01-18 23:12:01 +01:00
shoukun 7c6530eb79 ARTEMIS-1570 Test replication consistency
Test consistency between live and backup, espacially on
a slow live.
The test use MessagePersister::encode to simulate slow IO condition.
After live started, we send 5 message with a delay(default 500ms),
then start backup, wait until replicated, then send more message
without delay. If all message sent successfully, the backup should
has the same messages as live. We assert the message number only.
2018-01-18 13:16:35 -05:00
Christopher L. Shannon (cshannon) 3aef7caac6 ARTEMIS-1617 - Properly set autoCreated flag on address
Flag needs to be set when auto creating an address so that the address
can be removed later if auto delete is configured when creating a
subscription with MQTT
2018-01-18 08:59:35 -06:00
Howard Gao bb84f67936 ARTEMIS-1600 Support masked passwords in bootstrap.xm and login.config
We provide a feature to mask passwords in the configuration files.
However, passwords in the bootstrap.xml (when the console is
secured with HTTPS) cannot be masked. This enhancement has
been opened to allow passwords in the bootstrap.xml to be masked
using the built-in masking feature provided by the broker.

Also the LDAPLoginModule configuration (in login.config) has a
connection password attribute that also needs this mask support.

In addition the ENC() syntax is supported for password masking
to replace the old 'mask-password' flag.
2018-01-18 08:59:00 -06:00
Michael André Pearce fd0ba69793 ARTEMIS-1606 - Change AddressInfo RoutingType Set to use EnumSet
Change all use from Set<RoutingType> to EnumSet<RoutingType>
Deprecating any old exposed interfaces but keeping for back compatibility.
Address info to avoid iterator on getRoutingType hotpath, like wise can be avoided where single RoutingType is passed in.
2018-01-18 13:36:09 +01:00
gtully ea266cd74b [ARTEMIS-1241] check for FQQN to parse out address and queue for auto creation 2018-01-17 13:23:23 -05:00
Christopher L. Shannon (cshannon) 67a9220d24 ARTEMIS-1610 Properly remove an address from the WildcardAddressManager
When an address is removed from the address manager its linked addresses
also need to be removed if there are no more bindings for the address.
Also adding a null check on bindings of linked addresses when a new
binding is added
2018-01-17 13:20:04 -05:00
Martyn Taylor f09bde07df ARTEMIS-1612 Fix message redistribution for prefixed addresses 2018-01-17 11:19:07 -05:00
Michael André Pearce 98028cdecc ARTEMIS-1586 Refactor to make more generic
* Move byte util code into ByteUtil
* Re-use the new equals method in SimpleString
* Apply same pools/interners to client decode
* Create String to SimpleString pools/interners for property access via String keys (producer and consumer benefits)
* Lazy init the pools on withing the get methods of CoreMessageObjectPools to get the specific pool, to avoid having this scattered every where.
* reduce SimpleString creation in conversion to/from core message methods with JMS wrapper.
* reduce SimpleString creation in conversion to/from Core in OpenWire, AMQP, MQTT.
2018-01-17 09:33:41 +01:00
Justin Bertram 6b033b5b8d ARTEMIS-1602 avoid potential NPE if property is null 2018-01-16 10:04:37 -05:00
Michael André Pearce b4ed5c3237 ARTEMIS-1596 - Fix checkstyle. 2018-01-13 19:52:43 +00:00
jostbg dffc66496e ARTEMIS-1596 wrong routing-type for STOMP autocreated address/queue 2018-01-12 15:12:03 -06:00
Jeff Mesnil 938fbd81cb [ARTEMIS-1590] Properties-based SQLProvider
Replace GenericSQLProvider and other implementation by a single
PropertySQLProvider that uses properties to define SQL queries.

SQL queries are loaded from the journal-sql.properties file.
Queries specific to a DB dialect can be specified by adding a suffix to
the key of the generic property.
For example, the generic property to create a file Table is:

create-file-table = CREATE TABLE %s (ID BIGINT AUTO_INCREMENT, ...)

This property can be customized for Derby by using the
create-file-table.derby  property:

create-file-table.derby=CREATE TABLE %s (ID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),...

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1590
2018-01-12 14:50:21 +01:00
Timothy Bish efec2d3464 ARTEMIS-1576 Fix test that was broken with changes on this issue
The test is using the wrong indices for the destinations it uses so they
don't match the one's created in the test support class.  Because the
code is now using the default routing type the test fails when it tries
to send a message on a JMS Queue when the auto created address default
to the multicast routing type.
2018-01-11 09:38:44 -06:00
Justin Bertram 2afe08126b ARTEMIS-1576 couple more tests for good measure 2018-01-11 10:59:11 +00:00
Stanislav Knot 21b58bfea8 ARTEMIS-1579 browsing messages in hawtio console 2018-01-11 10:56:46 +00:00
Jiri Danek 472e429540 NO-JIRA fix warnings from w3c/link-checker in docs
also update URLs and `s/http/https` in docs wherever possible
2018-01-10 13:07:40 +01:00
Clebert Suconic ba9d06ba70 NO-JIRA fixing header copy & paste error 2018-01-09 10:34:38 -06:00
Stanislav Knot c05ec28de2 ARTEMIS-1581 fix handshake-timeout property configurability 2018-01-08 10:28:42 -06:00
art-licis c2a9be9540 NO-JIRA Diverts: documentation & test updates.
Updated documentation & tests with original destination & message ID info.
Javadoc update & typo fix.
2018-01-05 12:52:44 +00:00
Justin Bertram 14d6c30852 ARTEMIS-1576 anon AMQP producer creates address w/wrong routing-type 2018-01-05 12:47:01 +00:00
Pat Fox d95757057e ARTEMIS-1575 configure custom broker plugins with key/value properties.
The properties are read and passed into the the broker plugin's init(Map<String,String>)
2018-01-04 14:27:41 -06:00
raul.valdoleiros 8c0e1e96ed ARTEMIS-1548 Support CRL
Add support for CRL in client authentication
2018-01-04 12:56:25 -06:00
Michael André Pearce 035936cdb8 ARTEMIS-1569 - Queue - User Enhancement
Expose User associated with creating Queue on JMX QueueControl (as attribute) 
Allow setting of the user to associate with creating the queue when configured in broker.xml (before only if created over wire is it possible to set the user)
2017-12-21 15:38:17 +00:00
Jiri Danek b17cec0a5e ARTEMIS-1532 Use @Ignore annotation to disable tests 2017-12-20 16:06:22 -05:00
Jiri Danek 62280c88dc ARTEMIS-1532 Fix OutgoingConnectionNoJTATest 2017-12-20 16:06:22 -05:00
Jiri Danek aa730fdaa7 ARTEMIS-1532 Enable tests which are unintentionally skipped by Surefire
These tests used to have a wrong name, so they weren't executed by
Surefire during a `mvn test` run.

After enablement, the following tests are now failing:

* org.apache.activemq.artemis.tests.integration.cluster.ha.HAAutomaticBackupSharedStoreTest
* org.apache.activemq.artemis.tests.integration.ra.OutgoingConnectionNoJTATest
* org.apache.activemq.artemis.tests.unit.core.server.group.impl.SystemPropertyOverrideTest.testSystemPropertyOverride
2017-12-20 16:06:22 -05:00
Howard Gao 3dd6d8a263 NO-JIRA Add openwire temp queue cluster test
The test makes sure temp queue from openwire
works in a clustered environment.
2017-12-20 16:00:37 -05:00
Howard Gao 6792dcdf27 ARTEMIS-1566 Openwire client can't receive compressed messages
When openwire client uses compressed option to send messages
(jms.useCompression=true) openwire client failed to receive them.
The reason is in OpenwireMessageConverter.toAMQMessage():

1. message.setContent() should be called after setting properties
 (It will cause the compressed content to decompressed before delivering to clients)
2. message.onSend() should not be called here (it should be used
by producers. If used here it changes the internal flags of the
message and cause receive to fail).
2017-12-20 16:00:14 -05:00
Stanislav Knot 45b25d6847 ARTEMIS-1329 fix openwire noLocal flag 2017-12-20 15:59:36 -05:00
Clebert Suconic 7514e91ed1 Revert "ARTEMIS-1545 Support JMS 2.0 Completion Listener for Exceptions"
Revert "ARTEMIS-1545 Adding HornetQ 2.4.7 on the mesh to validate send-acks"

I'm reverting this as the testsuite is broken..
We will send it back once worked out.

This reverts commit 8f5b7a1e73.
This reverts commit 9b982b3e30.
2017-12-19 17:03:00 -05:00
Michael André Pearce 9b982b3e30 ARTEMIS-1545 Support JMS 2.0 Completion Listener for Exceptions 2017-12-19 14:44:58 -05:00
Stanislav Knot c202b18d44 NO-JIRA testsuite fixes 2017-12-19 09:35:18 -05:00
Stanislav Knot 58cd02090d ARTEMIS-1341 fixed getBody 2017-12-18 22:39:19 -05:00
gtully a1a30fb7fd [ARTEMIS-550] add section on migrating virtual topics and test to validate 2017-12-18 22:25:28 -05:00
Stanislav Knot 04f74425c9 ARTEMIS-1329 testNoLocalReconnect was failing with OpenWire protocol 2017-12-18 22:24:43 -05:00
Martyn Taylor 0e3468cefb ARTEMIS-1543 Fix Quorum Vote with remain live setting 2017-12-18 10:36:11 +00:00
raul.valdoleiros bbf5e4ebd2 [ARTEMIS-1555] Close core consumer on MQTT unsub
Unsubscribe topic in clustered environment left open references to the core consumer.  This patch properly closes the consumer which results in correct removal of the consumer reference on a remote queue.
2017-12-15 14:48:21 +00:00
Howard Gao 1c156e0d47 ARTEMIS-1558 Message Grouping Openwire Interoperability Issue
Openwire message grouping doesn't work because the groupID of
a message is not passed correctly.
2017-12-14 20:30:53 -06:00
gtully b62e9875fe [ARTEMIS-1552] ensure gssapi sasl mech can deal with empty receive buffer 2017-12-14 19:45:04 -06:00
raul.valdoleiros 46b642447c ARTEMIS-1523 wildcard binding configured wrong
Bindings with wildcards are not configured with the proper
message-load-balancing type.
2017-12-12 09:33:00 -06:00
Pat Fox d7b464cff3 NO-JIRA fixed checkstyle issues and added tests 2017-12-12 13:17:02 +00:00
Pat Fox b39c556784 NO-JIRA fixed minor regression(reverted JSON field names) and NullPointer in ActiveMQServerControlImpl 2017-12-12 13:17:02 +00:00
Michael André Pearce 13d7c63732 NO JIRA - Checkstyle fix 2017-12-09 15:42:30 +00:00
Michael André Pearce fa80536615 ARTEMIS-1550 - Support LVQ for OpenWire
Add support for LVQ, using the same property key as core "_AMQ_LVQ_NAME"
Update current LVQ test case to correctly test OpenWire LVQ.
2017-12-09 15:07:21 +00:00
Christopher L. Shannon (cshannon) 3d2e24d429 ARTEMIS-1538: Allow trustAll to apply from a connection URI
Previously when configuring a connectionFactory by URI this property was
ignored
2017-12-07 16:48:11 -05:00
Andy Taylor 0e5b3cbdcc NO-JIRA Adding extra assertions to make sure queue name is in the error message 2017-12-07 10:28:51 +00:00
Clebert Suconic 8f9bab6a19 NO-JIRA Adding missing @RunWith annotation on tests 2017-12-01 14:25:25 -05:00
Stanislav Knot 67fca940d4 ARTEMIS-1530 Fix expiry statistics 2017-11-30 09:59:35 -05:00
Clebert Suconic f2b5114af8 ARTEMIS-1508 Adding a test with Expiry, to make sure the message copy works correctly 2017-11-29 21:49:31 -05:00
Clebert Suconic 8b7282d849 ARTEMIS-1529 Fixing Ref count over asynchronous ack 2017-11-29 09:45:09 -05:00
Tomas Kratky dbb3aaddf6 ARTEMIS-1529 Adding test on durable topics 2017-11-29 09:45:09 -05:00
saurabhrai 4abca78785 ARTEMIS-1364: Enable internal sorting in hawtio web console 2017-11-29 08:52:33 +00:00
Stanislav Knot 9a6649d753 ARTEMIS-1508 test for diverting topic and queue using selector 2017-11-27 15:04:04 -05:00
Andy Taylor 7beb378061 NO-JIRA Adding test for duplicate queues in config 2017-11-24 13:17:01 +00:00
Clebert Suconic 16d9b191a1 ARTEMIS-1513 Fix intermittent failure 2017-11-21 10:32:03 -05:00
Justin Bertram 40aa3f5821 ARTEMIS-1513 fix AMQP + core bridge 2017-11-21 09:44:30 -05:00
Clebert Suconic b27ed5de16 ARTEMIS-1514 Fix File open on Large Message 2017-11-21 09:27:27 -05:00
Martyn Taylor eddb144deb ARTEMIS-1514 Fix read large message into buffer 2017-11-21 13:23:12 +00:00
Howard Gao 5fe88e1c66 ARTEMIS-1365 Advisory consumers listed in Console
Openwire clients create consumers to advisory topics to receive
notifications. As a result there are internal queues created
on advisory topics. Those consumer shouldn't be exposed via
management APIs which are used by the Console

To fix that the broker doesn't register any queues from
advisory addresses.

Also refactors a code to remove Openwire specific contants
from AddressInfo class.
2017-11-17 17:39:40 +08:00
Clebert Suconic 9daa0321b6 ARTEMIS-1514 Large message fix
I'm doing an overal improvement on large message support for AMQP
However this commit is just about a Bug on the converter.

It will be moot after all the changes I'm making, but I would rather keep this separate
as a way to cherry-pick on previous versions eventually.
2017-11-15 20:54:58 -05:00
Howard Gao 19c6f2d5c4 NO-JIRA Added test coverage for broker paging with unlimited memory
This test starts 2 servers and send messages to
a queue until it enters into paging state. Then
it changes the address max-size to -1, restarts
the 2 servers again and consumes all the messages.
It verifies that even if the max-size has changed
all the paged messages will be depaged and consumed.
No stuck messages after restarting.

The tests is there to guard a case where messages
won't be depaged on server restart after the max-size
is changed to -1. This issue has been fixed into
master along with the fix for ARTEMIS-581, particularly
the changes to the method PagingStoreImpl.getMaxSize().
2017-11-15 17:19:30 -05:00
Clebert Suconic 68705a5a63 NO-JIRA Making sure System.properties are cleaned up between tests 2017-11-15 17:14:34 -05:00