Commit Graph

1095 Commits

Author SHA1 Message Date
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
Andy Taylor 6982244bf4 NO-JIRA Adding Advisory OpenWire tests 2017-11-15 16:09:51 -05:00
Justin Bertram 55d7260a07 ARTEMIS-1510 refactor Maven poms
Clean up unused declared dependencies and undeclared dependencies which
are pulled in transitively.
2017-11-13 17:03:35 -05:00
Martyn Taylor 18109e30d9 ARTEMIS-1428 Add WS tests for max frame size 2017-11-13 16:55:47 -05:00
Martyn Taylor a5c443afb0 ARTEMIS-1511 Update tests to use StompTest Client + Fix issues 2017-11-13 16:55:47 -05:00
Martyn Taylor c6e5163a51 ARTEMIS-1511 Enable WebSocket Transport in STOMP test client 2017-11-13 16:55:47 -05:00
Clebert Suconic 63b156e290 ARTEMIS-1495 Test Improvements
Server.stop is currently waiting completions on Sessions just because of test cases.

With the recent changes made into the Executors this is not needed any longer
2017-11-13 16:46:32 -05:00
Clebert Suconic 91db08072b ARTEMIS-1495 Fixing In Handler executor and added benchmark to measure impact of changes 2017-11-09 11:58:36 -05:00
Clebert Suconic 2e6176a693 ARTEMIS-1495 Removing flushes from codebase
Instead of flushing we just need to make sure there are no more calls into
page executors as we stop the PageManager.

This will avoid any possible starvations or deadlocks here.
2017-11-09 11:58:36 -05:00
Francesco Nigro 8bf879f156 ARTEMIS-1495 Test simulating a dead lock on queue auto create under stress 2017-11-09 11:58:36 -05:00
Francesco Nigro 8e8a6f0faf ARTEMIS-1509 Add support for JdbcNodeManager into the NettyFailoverTest 2017-11-08 14:52:57 +01:00
Francesco Nigro 3950169c21 ARTEMIS-1471 Needs Bounds Checking on writes for MappedSequentialFile
The MappedSequentialFile relies on the assumption that any writers
won't exceed the maximum capacity of the file, leaving the JVM to crash otherwise.
This commit adds proper bounds checking on write operations (and position changes too)
in order to provide recoverable effects if such scenario should occour.
In addition are provided minor fixes on Mapped and Nio SequentialFile::fill behaviour
to match the original contract.
2017-11-06 13:52:57 -05:00
Clebert Suconic 559a704818 ARTEMIS-1416 Fixing testsuite 2017-11-03 18:27:42 -04:00
Howard Gao f3ace6afd7 ARTEMIS-1416 Queue is not autocreated if address already exists
- Fix on core and amqp.
- Add test to verify amqp's current large message behavior.
- Add test to openwire also just to verify.
2017-11-03 18:25:23 -04:00
Clebert Suconic ea5967b09b NO-JIRA Fixing typo
I changed the assertion by mistake on 75dc271cdb
2017-11-03 13:18:09 -04:00
Stanislav Knot a5c0c024fa ARTEMIS-1486 added JMS client test 2017-11-03 10:53:05 -04:00
Justin Bertram 096d98407f ARTEMIS-1492 obfuscate passwords in acceptorControl 2017-11-02 20:46:26 -04:00
Clebert Suconic 75dc271cdb NO-JIRA Small refactoring on Wait
- Added Wait.assert methods, what would make it easier to assert on future conditions
- Moved Wait to artemis-junit, we are now using that module on the testsuite
2017-11-02 09:37:31 -04:00
Clebert Suconic 7f4a79b0c6 NO-JIRA Fixing intermittent test failures 2017-11-02 09:37:31 -04:00
Stanislav Knot 61ce7a7454 ARTEMIS-1486 Core client should be notified if consumer is closed on broker side 2017-11-02 11:19:35 +00:00
Justin Bertram 8703d9d51d [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00
Justin Bertram ec63189a0a [maven-release-plugin] prepare release 2.4.0 2017-11-01 00:38:56 -05:00
Justin Bertram a44b9d5edf [maven-release-plugin] prepare for next development iteration 2017-10-31 12:09:43 -05:00
Justin Bertram 34a7431d1b [maven-release-plugin] prepare release 2.4.0 2017-10-31 12:07:55 -05:00
Clebert Suconic 9eb780cbd1 ARTEMIS-1490 Race on address delete 2017-10-31 08:37:40 -05:00