Commit Graph

1379 Commits

Author SHA1 Message Date
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
Justin Bertram 5133e68ea7 NO-JIRA fix AlignedJournalImplTest intermittent failure 2018-02-21 15:59:59 -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 5748627477 ARTEMIS-1687 reduce logging for fast-tests
Logging for the "fast-tests" profile used for PR builds could be reduced
significantly. This would save time as well as prevent log truncation
(Travis CI only supports logs up to 4MB).
2018-02-20 15:12:43 -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
Clebert Suconic 58c4660426 ARTEMIS-1663 Tweak on Paging test
Making sure it JournalCompatibilityTest/paging is actually paging
2018-02-08 11:45:18 -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 9c8bf2f2ca ARTEMIS-1644 legacy clients can't access resources with old prefixes 2018-01-31 18:13:29 -05:00
Justin Bertram 028d6f71ef ARTEMIS-1645 diverted msg can't be retried from DLQ 2018-01-31 18:07:12 -05:00
Clebert Suconic 5653ec9980 ARTEMIS-1639 Simplifying/fixing test and improving update topology 2018-01-31 18:05:32 -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
Pat Fox 6e71fa7fd9 ARTEMIS-1623 add logging codes to LoggingActiveMQServerPlugin 2018-01-31 15:13:31 -06: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 c10b74412a ARTEMIS-1638 & ARTEMIS-1641 Making sure Paging survives Purge on a test & cleanup PgTX (fix) 2018-01-26 23:24:56 -05: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
Clebert Suconic 9dbc5dc409 ARTEMIS-1577 Address-settings policies not working with older clients
This closes #1744
2018-01-18 10:18:39 -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
Justin Bertram 1aa7b5c038 ARTEMIS-1609 fix JMS destination s11n compatibility 2018-01-17 12:31:27 -05:00
Martyn Taylor f09bde07df ARTEMIS-1612 Fix message redistribution for prefixed addresses 2018-01-17 11:19:07 -05:00
Francesco Nigro 52f7a698d9 ARTEMIS-1573 Improve UTF translation allowing zero copy
The UTF translations has been improved by:
- zero copy on array based buffers
- zero copy UTF length calculation
- faster array access using Netty PlatformDependent.get|putByte
- improved perf tests UTF8Test
2018-01-17 09:36:42 +01: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
Clebert Suconic da164a2074 ARTEMIS-1599 fixing compatibility with 1.x exported file 2018-01-11 21:33:17 -05: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
Michael Pearce 9e68d84645 This closes #1764 2018-01-10 16:21:56 +00:00
Clebert Suconic 12ef662b91 ARTEMIS-1595 Fixing serialization issues between Artemis 1.5 and master 2018-01-10 16:19:55 +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 c8dc7de445 ARTEMIS-1545 Fixing compatibility issues with topic Subscriptions 2018-01-09 10:34:38 -06: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
Francesco Nigro dab05adf6c ARTEMIS-1572 UTF-8 Encoding is not translating ASCII edge cases correctly
It fixed 0-127 ASCII chars translation using UTF encoding
2018-01-04 13:57:08 -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
Clebert Suconic 515560be2a NO-JIRA Fixing SystemPropertyOverrideTest 2017-12-21 07:22:51 -05:00
Michael André Pearce dd67f855cd NO-JIRA fixing master 2017-12-21 07:08:44 +00:00
xstefank cfb8206650 ARTEMIS-1554 JMS bridge with transactions cannot be stopped on session failover 2017-12-20 16:07:51 -05: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 bccf18fa6f ARTEMIS-1546 Changing version check from 1.4.0 to latest 1.5.5 2017-12-20 15:42:39 -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
Clebert Suconic 8f5b7a1e73 ARTEMIS-1545 Adding HornetQ 2.4.7 on the mesh to validate send-acks 2017-12-19 15:03:04 -05:00
Michael André Pearce 9b982b3e30 ARTEMIS-1545 Support JMS 2.0 Completion Listener for Exceptions 2017-12-19 14:44:58 -05:00
Clebert Suconic 2197d377c9 ARTEMIS-1546 speed up mesh test 2017-12-19 10:20:38 -05:00
Stanislav Knot c202b18d44 NO-JIRA testsuite fixes 2017-12-19 09:35:18 -05:00
Michael André Pearce 3ef98044f8 ARTEMIS-1516 - Ensure JNDI via Tomcat Resource works
Apply fix so that when using JNDI via tomcat resource it works. 
Replace original extract of JNDIStorable taken from Qpid, and use ActiveMQ5's as fits better to address this issue. (which primary use case is users migrating from 5.x)
Refactored ActiveMQConnectionFactory to externalise and turn into reference by StringRefAddr's instead of custom RefAddr which isnt standard.
Refactored ActiveMQDestinations similar
Refactored ActiveMQDestination to remove redundent and duplicated name field and ensured getters still behave the same
2017-12-19 09:20:35 -05:00
Clebert Suconic 03ed49e6e9 ARTEMIS-1546 Fixing invalid import on test added by accident 2017-12-19 09:16:23 -05:00
Stanislav Knot 58cd02090d ARTEMIS-1341 fixed getBody 2017-12-18 22:39:19 -05:00
Clebert Suconic d67c65b8a2 ARTEMIS-1546 small fix on test 2017-12-18 22:38:15 -05:00
gtully a1a30fb7fd [ARTEMIS-550] add section on migrating virtual topics and test to validate 2017-12-18 22:25:28 -05:00