Commit Graph

520 Commits

Author SHA1 Message Date
Francesco Nigro fdb63df392 ARTEMIS-1784 JDBC NodeManager should just use DMBS clock
It avoid using the system clock to perform the locks logic
by using the DBMS time.
It contains several improvements on the JDBC error handling
and an improved observability thanks to debug logs.
2018-04-18 09:54:34 -04:00
Clebert Suconic 1e9f76f45a ARTEMIS-1814 Try original connection when every other node failed 2018-04-17 17:00:05 -04:00
Tomas Hofman a8d0db2c14 ARTEMIS-1781 Connector parameters not backward compatible (Fix) 2018-04-17 11:38:19 -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
Howard Gao 6818762da8 ARTEMIS-1790 Improve Topology Member Finding
When finding out if a connector belong to a target node it compares
the whole parameter map which is not necessary. Also in understanding
the connector the best place is to delegate it to the corresponding
remoting connection who understands it. (e.g. INVMConnection knows
whether the connector belongs to a target node by checking it's
serverID only. The netty ones only need to match host and port, and
understanding that localhost and 127.0.0.1 are same thing).
2018-04-11 14:37:44 -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 396056ce04 ARTEMIS-1796 AMQP flush during handshake can break SASL 2018-04-09 13:11:41 -04:00
Justin Bertram a294dc9493 ARTEMIS-1701 strip zone id from IPv6 host 2018-04-06 14:00:02 -04:00
Radovan Stancel 10849eb8ab [ARTEMIS-1770] Log warning when connection is closed 2018-04-05 08:26:26 +02:00
Francesco Nigro f6e8345dbe ARTEMIS-1772 Reduce memory footprint and allocations of QueueImpl
It includes:
- Message References: no longer uses boxed primitives and AtomicInteger
- Node: intrusive nodes no longer need a reference field holding itself
- RefCountMessage: no longer uses AtomicInteger, but AtomicIntegerFieldUpdater
2018-04-03 11:01:38 -04:00
Clebert Suconic 70bdfe7603 ARTEMIS-1776 Asynchronous Flow control on the bridge 2018-03-28 19:09:20 -04:00
Francesco Nigro af3917247a ARTEMIS-1760 JDBC HA should have configurable tolerance of DB time misalignment
It allows a user to customize the max allowed distance between system and DB time,
improving HA reliability by shutting down the broker when the misalignment
exceeds configured limit.
2018-03-27 10:36:56 -04:00
saurabhrai f045ffbcf8 ARTEMIS-370: Make JDBC Journal Sync period configurable 2018-03-22 16:29:00 -04:00
Francesco Nigro b775cb251f ARTEMIS-1767 JDBC Lock Acquisition Timeout should behave like the file based version
The JDBC Lock Acquisition Timeout is no longer exposed to any user configuration and defaulted to infinite to match the behaviour of the journal (file-based) one.
2018-03-22 16:19:35 -04:00
Clebert Suconic e86acd4824 ARTEMIS-1765 Fixing Large Message Compression and Conversion 2018-03-22 16:11:11 -04:00
Clebert Suconic fe0e6c2b28 ARTEMIS-1754 Avoiding Leaks from LargeServerMessageImpl.getPersistentSize 2018-03-20 15:45:09 -04:00
Stanislav Knot 84a098a4f4 ARTEMIS-1743 fix NPE in server log when Artemis trace logging is enabled 2018-03-14 14:56:29 -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
Justin Bertram 92cb69513e ARTEMIS-1198 add listAllSessionsAsJSON mgmnt method 2018-03-06 18:46:20 -05:00
Justin Bertram 2123f85ea9 ARTEMIS-1717 create/delete address permissions ignored in broker.xml 2018-03-01 14:02:57 -06:00
Ingo Weiss 656b9e1924 [ARTEMIS-1716] QueueControlImpl#listMessagesAsJSON fails when message contains a byte[] header
Issue: https://issues.apache.org/jira/browse/ARTEMIS-1716
2018-03-01 14:26:20 -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 158eb9d3bf NO-JIRA Using force option on deleteTopics and deleteQueues on JoramTests 2018-02-27 16:13:42 -05:00
Michael André Pearce 9d1c59cdff ARTEMIS-1661 Support splitting of broker.xml
Support XML standard XInclude thus allowing splitting of the broker.xml
Added test cases with split out config using include.
2018-02-27 11:24:36 +00:00
yang wei 898940f5bf ARTEMIS-1679 Stopping consumer no need to wait until all queued tasks done 2018-02-21 16:19:41 -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
Clebert Suconic f329b5b3f5 [ARTEMIS-1662] Reduce log of "INFO [org.apache.activemq.artemis.core.client]" 2018-02-13 11:07:54 -05:00
Clebert Suconic 996871e37c ARTEMIS-1675 Adding --safe option on print-data
This is good when you are a customer and an artemis engineer (e.g. me) asks your journal print-data but you can't do it because that would expose your user's data. If you do artemis data print --safe, that will only expose the journal structure without exposing user's data and eliminate any liability between the engineer and users.
2018-02-12 16:01:09 -05:00
Dmitrii Tikhomirov 90b6564778 [ARTEMIS-1662] Reduce log of "INFO [org.apache.activemq.artemis.core.client] (Thread-27 (ActiveMQ-client-global-threads)) 2018-02-09 20:02:15 +00:00
Michael André Pearce 1ddeb065f1 ARTEMIS-853 - Coverity fixes
Fix coverity findings.
2018-02-09 00:54:41 +00: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
Justin Bertram f09ee40b53 Avoid NPE when setting null address 2018-02-06 03:16:53 +00:00
rico.pahlisch 6501c3de1f ARTEMIS-1649 - enable openssl provider for Netty 2018-02-05 14:42:04 -06:00
Martyn Taylor 7576b9d586 ARTEMIS-1611 Added support for 1.x transformer API 2018-02-05 16:32:03 +00:00
Justin Bertram 9c8bf2f2ca ARTEMIS-1644 legacy clients can't access resources with old prefixes 2018-01-31 18:13:29 -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
Clebert Suconic 61a1123ee1 ARTEMIS-1613 Integrating JDBC into CLI (create print-data and exp) 2018-01-18 20:55:00 -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
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
Francesco Nigro 8d776eddfc ARTEMIS-1586 Reduce GC pressure due to String allocations on Core protocol
The commit contains:
- a general purpose interner implementation
- StringValue/SimpleString internrs specializations
- TypedProperties keys/values string interning for SessionSendMessage decoding
2018-01-17 09:33:41 +01:00
Ulf Lilleengen af1159a24b ARTEMIS-1598 modify SslHandler name in connector
Use the same "name" when inserting the Netty SslHandler into the
pipeline for both acceptors and connectors.
2018-01-11 09:41:23 -06: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
Michael André Pearce 9c18dd04df ARTEMIS-1585 - Log connector details on start
Log connector details when they start. 
This is similar to that of acceptors, and helps when any issues later.
2018-01-09 12:26:56 -06: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