Commit Graph

896 Commits

Author SHA1 Message Date
Clebert Suconic 7a435a944c ARTEMIS-2969 / ARTEMIS-2937 should set connecting = false when maxRetry is reached 2020-11-02 13:13:15 -05:00
Clebert Suconic fa4064cfd7 ARTEMIS-2969 / ARTEMIS-2937 RedoConnection should call protonRemotingConnection.destroy
Instead of calling destroy, redo was closing the Netty connection directly leaving the job of destroy delayed until TTL
2020-11-02 11:40:10 -05:00
Andy Taylor dafef2b267 ARTEMIS-2973 - JMS AMQP Shared global subscriber queue not deleted on unsubscribe
https://issues.apache.org/jira/browse/ARTEMIS-2973
2020-11-02 10:00:13 -05:00
Clebert Suconic c0b12b14c8 ARTEMIS-2969 / ARTEMIS-2937 Controlling connecting state on AMQP Broker Connection
- Fixed an issue where I needed to set connection to null after closing it
- Added more tests on QpidDispatchPeerTest (tests i would have done manually, and reproduced a few issues along the way)
2020-11-02 09:54:21 -05:00
Clebert Suconic 28919b6ad8 [maven-release-plugin] prepare for next development iteration 2020-10-30 10:16:29 -04:00
Clebert Suconic af5ca9f1e6 [maven-release-plugin] prepare release 2.16.0 2020-10-30 10:16:17 -04:00
Clebert Suconic f3dde91b91 ARTEMIS-2969 / ARTEMIS-2937 Dealing with instant disconnects on amqp broker connections 2020-10-30 09:52:03 -04:00
Clebert Suconic dff2ed3638 ARTEMIS-2937 Implementing skip create and skip delete on Mirror Source 2020-10-30 08:44:51 -04:00
Clebert Suconic 981b516479 ARTEMIS-2968 Ignoring expected exception when deleting a previously already removed queue 2020-10-29 22:04:33 -04:00
Clebert Suconic 480197975b ARTEMIS-2967 Adding testSimpleConnect back and fixing a possible NPE 2020-10-29 22:01:01 -04:00
Clebert Suconic 9b0f7605cb ARTEMIS-2969 / ARTEMIS-2937 Dealing with Connection Timeout properly on AMQP Broker Connections 2020-10-29 21:55:10 -04:00
Clebert Suconic dc7eb5c23d ARTEMIS-2937 Broker connection improvements
- Adding a paragraph about addressing and distinct queue names
- Renaming match on peers, senders and receivers as "address-match"
- Changing qpid dispatch test to use a single listener
- Fixing reconnect attemps message
2020-10-29 15:01:51 -04:00
Clebert Suconic d51c89471e ARTEMIS-2966 Anycast queues with distinct names would cause issues on sending messages 2020-10-29 10:09:36 -04:00
gtully e5566d5211 ARTEMIS-2964 - fire advisory messages via post office, independent of connection state. consume via regular auth 2020-10-29 09:58:52 +00:00
Clebert Suconic bf52134dc0 ARTEMIS-2937 Fixing Tests and some review 2020-10-28 15:08:48 -04:00
Clebert Suconic 8499eac76c ARTEMIS-2937 Server Side AMQP Connectivity with options to transfer queues or replicate data 2020-10-28 11:37:25 -04:00
Justin Bertram cdc283fba5 ARTEMIS-2915 duplicate temp queues using OpenWire 2020-09-24 12:48:36 -04:00
franz1981 feca90d475 ARTEMIS-2766 Fixing unused stopSet parameter 2020-09-23 15:52:52 -04:00
Robbie Gemmell 6a4e79fd06 ARTEMIS-2910: reuse routing type calculated in initialisation for fixed-address producers 2020-09-23 12:09:18 -04:00
Robbie Gemmell d9d98dfa8a ARTEMIS-2910: consider message annotations when determining routing type used for auto-creation with anonymous producers 2020-09-21 18:07:26 +01:00
Justin Bertram e47eb5ae20 ARTEMIS-589 flow control for individual STOMP subscribers 2020-09-16 10:13:47 -04:00
Clebert Suconic 7cf5289efa ARTEMIS-2900 Expose property (getWholeMessageSize) so users can intercept size of messages and large messages 2020-09-14 15:35:46 -04:00
Clebert Suconic 4d45d0cdd2 ARTEMIS-2887 Adding toString back to AMQPMessage 2020-08-26 17:54:25 -04:00
Domenico Francesco Bruscino 32bf9680f2 [maven-release-plugin] prepare for next development iteration 2020-08-24 16:03:24 +02:00
Domenico Francesco Bruscino a549fcedde [maven-release-plugin] prepare release 2.15.0 2020-08-24 16:03:12 +02:00
Justin Bertram 582a430213 ARTEMIS-2882 better support for JMS topics + FQQN
Support FQQN with JMS topics when sending to or consuming from a
specific subscription. This applies to JMS over core, OpenWire,
and AMQP.
2020-08-20 14:32:11 -05:00
Francesco Nigro 70068a0659 ARTEMIS-2844 Save additional copies and use pooled direct ByteBufs 2020-07-30 23:32:10 -04:00
Francesco Nigro 0db13ee8ab ARTEMIS-2844 Use writeAndFlush with voidPromise to reduce GC pressure 2020-07-30 23:32:10 -04:00
brusdev 18b8df0f09 ARTEMIS-2855 Define a new broker plugin to track XA transactions 2020-07-29 10:40:55 -04:00
Clebert Suconic 6690ba1d24 [maven-release-plugin] prepare for next development iteration 2020-07-09 12:49:08 -04:00
Clebert Suconic a76f41a7ed [maven-release-plugin] prepare release 2.14.0 2020-07-09 12:48:54 -04:00
Clebert Suconic c1be566c20 NO-JIRA Fixing rare intermittent failure on CreditsSemaphoreTest 2020-07-08 12:36:26 -04:00
Justin Bertram 20daf2354c ARTEMIS-2817 Support Stomp subscription with FQQN+multicast 2020-07-07 08:21:22 -04:00
gtully 4e40b42521 ARTEMIS-2809 retain api used by activemq-cli-tools 2020-06-17 15:20:57 +01:00
Robbie Gemmell d2c46762e8 ARTEMIS-2109: fix javadoc errors, remove doclint config for JDK8, remove superfluous plugin versions, update to 3.0.1 javadoc plugin
Using 3.0.1 like the current apache parent pom [not being used], and also as newer ones break build.
2020-06-11 18:50:01 +01:00
Emmanuel Hugonnet efe0f468de ARTEMIS-2109: Updating the build to be able to execute it on Java 11 and Java 8. 2020-06-11 18:50:01 +01:00
Justin Bertram e1d8f42cc1 ARTEMIS-2798 expiration for AMQP msgs not reloaded 2020-06-09 15:18:45 -04:00
gtully 56dbd91263 ARTEMIS-2788 clear openwire producer exchange, created on send, on producer close event 2020-06-05 10:22:44 +01:00
Clebert Suconic 111b551d79 ARTEMIS-2789 AMQP Large Message Memory Estimate 2020-06-03 23:23:16 -04:00
gtully 1a5b1fbe8e ARTEMIS-2788 clear openwire producer state on produce close event 2020-06-03 13:33:18 +01:00
Clebert Suconic faa83b2ba6 [maven-release-plugin] prepare for next development iteration 2020-05-16 18:38:47 -04:00
Clebert Suconic 5f49d89264 [maven-release-plugin] prepare release 2.13.0 2020-05-16 18:38:34 -04:00
Clebert Suconic 1420ad7745 ARTEMIS-2766 Improving AMQPMessageSymbolSearch for correctness 2020-05-16 11:39:21 -04:00
Clebert Suconic 83c7942a78 ARTEMIS-2766 Fixing AMQP Large Messages after Parsing change 2020-05-15 17:57:00 -04:00
Clebert Suconic c99fcd501b [maven-release-plugin] prepare for next development iteration 2020-05-15 16:42:54 -04:00
Clebert Suconic 47fafac760 [maven-release-plugin] prepare release 2.13.0 2020-05-15 16:42:41 -04:00
Clebert Suconic 8562e6a1a7 ARTEMIS-2766 Not parsing application properties for duplicate property 2020-05-15 16:17:15 -04:00
Clebert Suconic 9ff3c17525 ARTEMIS-2757 improving flow control in AMQP 2020-05-15 16:12:07 -04:00
Clebert Suconic 4fe4220ff0 ARTEMIS-2372 / ARTEMIS-2740 Improving Message Annotations support in AMQP
- when sending messages to DLQ or Expiry we now use x-opt legal names
- we now support filtering thorugh annotations if using m. as a prefix.
- enabling hyphenated_props: to allow m. as a prefix
2020-05-13 10:55:36 -04:00
Clebert Suconic 9571ca16db ARTEMIS-2753 Expanding wildcard fix to Advisories 2020-05-07 12:16:35 -04:00
Clebert Suconic c20d894e81 ARTEMIS-2753 Fixing OpenWire Temporary queue names over wildcard configurations 2020-05-06 23:24:24 -04:00
Clebert Suconic 7438d7ff07 ARTEMIS-2750 Fixing out of order cancellations in AMQP 2020-05-04 13:15:56 -04:00
Andy Taylor 8a04ee07de ARTEMIS-2648 - audit logging improvements
https://issues.apache.org/jira/browse/ARTEMIS-2648
2020-05-04 15:19:08 +01:00
Justin Bertram ede2051960 ARTEMIS-2655 support auto-creation w/FQQN & STOMP 2020-05-01 13:40:24 -05:00
Justin Bertram 6709883d0e ARTEMIS-2738 implement per-acceptor security domains 2020-04-28 21:45:38 -04:00
Clebert Suconic 2ebf3c8e1b ARTEMIS-2372 Filtering on Message Annotations 2020-04-28 11:18:30 -04:00
Clebert Suconic 11a3e810bb [maven-release-plugin] prepare for next development iteration 2020-04-21 17:06:21 -04:00
Clebert Suconic 30272e0c2f [maven-release-plugin] prepare release 2.12.0 2020-04-21 17:06:08 -04:00
Clebert Suconic 974609d206 ARTEMIS-2728 Fixing Deadlock with LargeServerMessage
verified by LargeMessageTest::testTwoBindingsAndRestart
2020-04-20 14:40:46 -04:00
Clebert Suconic d231e2ac63 [maven-release-plugin] prepare for next development iteration 2020-04-16 16:16:41 -04:00
Clebert Suconic 9636f4a3b0 [maven-release-plugin] prepare release 2.12.0 2020-04-16 16:16:28 -04:00
Clebert Suconic ad60a0b02b ARTEMIS-1975 Dealing with connection drops on AMQP Large Message 2020-04-15 22:26:58 -04:00
Clebert Suconic 87eebc3d27 ARTEMIS-2712 Dealing with Aborts AMQP Large Message 2020-04-15 22:21:11 -04:00
Clebert Suconic e7a437d999 ARTEMIS-2706 Discounting Transfer payload size 2020-04-14 16:56:52 -04:00
Clebert Suconic d27d61f223 ARTEMIS-2706 Use FrameSize to decide when to flush large messages 2020-04-14 12:59:25 -04:00
brusdev fc6402613d ARTEMIS-2664 Simplify the credits acquiring.
Replace the AtomicInteger with an int. Indeed deliveredAcks is used only by
the acknowledge method and it is only executed by the EpollEventLoop thread
bounded with the relative connection channel.
2020-04-13 16:48:57 -04:00
Dirkjan Ochtman 89f58e1597 ARTEMIS-2695 Return exception message in AMQP conversion error response 2020-04-13 16:03:42 -04:00
Justin Bertram 2efa44daf5 ARTEMIS-2692 refactor queue creation
This commit does the following:
- Deprecates existing overloaded createQueue, createSharedQueue,
  createTemporaryQueue, & updateQueue methods for ClientSession,
  ServerSession, ActiveMQServer, & ActiveMQServerControl where
  applicable.
- Deprecates QueueAttributes, QueueConfig, & CoreQueueConfiguration.
- Deprecates existing overloaded constructors for QueueImpl.
- Implements QueueConfiguration with JavaDoc to be the single,
  centralized configuration object for both client-side and broker-side
  queue creation including methods to convert to & from JSON for use in
  the management API.
- Implements new createQueue, createSharedQueue & updateQueue methods
  with JavaDoc for ClientSession, ServerSession, ActiveMQServer, &
  ActiveMQServerControl as well as a new constructor for QueueImpl all
  using the new QueueConfiguration object.
- Changes all internal broker code to use the new methods.
2020-04-13 14:25:30 -05:00
brusdev c36170477d ARTEMIS-2686 Fix MQTT connect message rejection
Initialize the session state with a default value to fix a NPE, when an incoming
MQTT interceptor rejects a MqttConnectMessage.
2020-04-08 15:45:19 -04:00
Clebert Suconic 858a8240f9 ARTEMIS-2659 / ARTEMIS-2673 Fix AmqpSendReceiveTest.testAcceptWithoutSettling 2020-04-07 23:06:40 -04:00
Clebert Suconic af796d5ce4 ARTEMIS-2701 Improving DLQ/check over previously removed records 2020-04-06 12:25:35 -04:00
Clebert Suconic bd77a536c6 ARTEMIS-2685 Not Block Netty Thread in any way for OpenWire 2020-04-01 18:02:48 -04:00
Federico Valeri 8cf35385a4 ARTEMIS-2608 Fix ClassCastException on binary properties conversion 2020-03-27 13:12:57 -04:00
Clebert Suconic ca50b3449e ARTEMIS-1975 Removing ThreadLocal for StorageManager 2020-03-25 21:54:46 -04:00
Clebert Suconic 03fb630f73 ARTEMIS-1975 Fixing LargeMessage encoding for replication 2020-03-25 16:16:05 -04:00
Justin Bertram b9fa8b96ec NO-JIRA fix failing MQTT test
I've seen o.a.a.a.c.p.m.MQTTRetainMessageManagerTest fail a handful of
times recently in PR builds. This change fixes that failure.
2020-03-25 11:11:52 -05:00
Clebert Suconic a4489a322e ARTEMIS-1975 Moving encode cache towards AMQPLargeMessage
Using a property on AMQPLargeMessage instead of a ThreadLocal
This was causing issues on the journal as the message may transverse different threads on the journal.
2020-03-24 18:22:59 -04:00
Clebert Suconic f874a02d17 ARTEMIS-2673 PageStore should only be removed when Address is removed
& ARTEMIS-2674 AMQP should use a separate executor for IO
2020-03-23 20:02:17 -04:00
Francesco Nigro 085a74cf06 ARTEMIS-2669 not durable AMQP messages cannot became durable on depaging 2020-03-22 17:46:37 -04:00
Clebert Suconic 559fa2008d ARTEMIS-2672 multi-thread isue with Shared Subscriptions
Some of them may throw queue already existed exception
2020-03-20 21:26:45 -04:00
Michael Pearce f1fdfc6857 ARTEMIS-2665 AMQP use createSharedQueue like Core 2020-03-18 11:51:58 -04:00
Francesco Nigro a5bd0065a9 ARTEMIS-2617 Fixing KMPNeedle::searchInto API and specializing it
KMPNeedle::searchInto has been specialized and copied
to handle ReadableBuffer in order to save polymorphic
calls on it that would make it slower on hot paths.
2020-03-17 16:30:12 -04:00
brusdev 43639bdeae ARTEMIS-2664 The prefetch size is exceeded after delivered acks
Decrement delivered acks before acquiring credits.
2020-03-17 14:08:10 -04:00
Francesco Nigro 5f0b7dd7cd ARTEMIS-2661 AMQP Journal loading is triggering reencode 2020-03-17 14:02:28 -04:00
Francesco Nigro 2105479304 ARTEMIS-2658 AMQP message read from page has wrong encode size 2020-03-16 18:20:39 +01:00
Clebert Suconic d15b3aeed6 ARTEMIS-2650 OpenWire Browsing is not sending credits 2020-03-16 09:12:12 -04:00
Clebert Suconic 4d2b6c07bd NO-JIRA just adding AMQPPersisterTest 2020-03-13 15:07:37 -04:00
Clebert Suconic c3128aa144 ARTEMIS-2642 Fixing Drain Timeout Issue on AMQP
The drain control has to immediately flush
otherwise a next flow control event may remove the previous status from Proton.
So, this really cannot wait the next executor, and it has to be done immediately.
2020-03-11 11:44:42 -04:00
brusdev aa8d598a35 ARTEMIS-2650 The delivering count is wrong after reconnecting an openwire client
Fix the conversion of the message id from the CORE messages.
Fix the credits acquired for acknowledges related to undelivered messages.
2020-03-11 11:14:29 -04:00
Assen Sharlandjiev 2ce8f01911 ARTEMIS-2476: implemented MQTTRetainMessageManagerTest 2020-03-07 21:15:57 +00:00
Assen Sharlandjiev e608c9af2c fix for #ARTEMIS-2476 2020-03-07 21:15:57 +00:00
Justin Bertram a9e6dbb0e3 NO-JIRA reconcile STOMP prop names b/w code & doc 2020-03-05 20:49:25 -06:00
Justin Bertram e9ee9956bd ARTEMIS-2639 lost notif props with OpenWire+divert
Historically speaking, all message properties starting with AMQ HDR
would not be passed to OpenWire messages. However, that blocked the
properties from management notifications so ARTEMIS-1209 was raised and
the solution there was to pass properties that started with _AMQ *if*
the consumer was connected to the management notification address.
However, in this case messages are diverted to a different address so
this check fails and the properties are removed. My solution will be to
check the message itself to see if it has the _AMQ_NotifType property
(which all notification messages do) rather than checking where the
consumer is connected.
2020-03-05 21:38:51 -05:00
brusdev c0f3ea66a9 ARTEMIS-2641 Openwire client runs out of credits after reconnection
Clear the messagePullHandler on setting prefetchSize.
2020-03-04 09:14:53 +01:00
Clebert Suconic ddd8ed4402 ARTEMIS-1975 Real Large Message support into AMQP
This is a Large commit where I am refactoring largeMessage Body out of CoreMessage
which is now reused with AMQP.

I had also to fix Reference Counting to fix how Large Messages are Acked

And I also had to make sure Large Messages are transversing correctly when in cluster.
2020-02-25 15:25:01 +01:00
Justin Bertram a8cf6b04b4 ARTEMIS-2607 interceptor returns false but processing continues 2020-02-14 13:23:05 -05:00
Justin Bertram daae7e750a ARTEMIS-2619 allow disabling STOMP 'server' header 2020-02-12 19:38:38 -06:00
Francesco Nigro d42267f05a ARTEMIS-2617 Lazy scan AMQP message data 2020-02-12 13:29:51 -05:00
Francesco Nigro 5897909dc9 ARTEMIS-2617 use core pools to reduce GC on journal loading 2020-02-12 13:29:51 -05:00
Sebastian Thomschke 26b5ad439c NO-JIRA Remove redundant instanceof check in CoreAmqpConverter
message is of type ServerJMSMessage, thus the test `if (message instanceof ServerJMSMessage)` always yields true.
2020-02-03 09:56:39 -06:00