Commit Graph

558 Commits

Author SHA1 Message Date
Clebert Suconic dfd41d958e ARTEMIS-3027 Store calculated expiration as part of the journal record on AMQP 2020-12-10 18:33:15 -05:00
Clebert Suconic 94f1857914 ARTEMIS-3026 Allow "re-encode" of amqp large messages
notice the quotes on "re-encode", as this is just replacing the set of application properties, properties and headers by a new set
if a flag reEncoded is set to true on AMQPLargeMessage
2020-12-10 00:37:11 -05:00
Clebert Suconic 825341734a ARTEMIS-3024 Expiry or DLQ Retry not working with AMQP 2020-12-08 14:13:53 -05:00
Clebert Suconic 6a6a3b3863 ARTEMIS-3023 Avoid opening AMQP Large Message for final parsing 2020-12-07 21:24:45 -05:00
Clebert Suconic e6a6e81b02 ARTEMIS-3019 expiry changes in AMQP Large Message 2020-12-07 10:44:51 -05:00
Clebert Suconic ccefbfcfa9 ARTEMIS-3019 Before applying the fix into two methods, I needed to move the method into the right place
There is no real change in this commit other than moving the methods to the right place
2020-12-07 10:30:03 -05:00
Clebert Suconic ead05b7a89 ARTEMIS-2983 Fixing PrintData with AMQP 2020-11-11 12:47:02 -05:00
Domenico Francesco Bruscino 14ec3cb7b0 ARTEMIS-2976 Remove password before creating server locator 2020-11-05 11:39:35 -05:00
Robbie Gemmell 5ff075b7ff ARTEMIS-2971: add ANONYMOUS and EXTERNAL SASL mechanism support for outgoing AMQP server connections 2020-11-05 11:32:35 -05:00
Clebert Suconic 4e7bb97df7 [maven-release-plugin] prepare for next development iteration 2020-11-02 17:45:51 -05:00
Clebert Suconic 9768017530 [maven-release-plugin] prepare release 2.16.0 2020-11-02 17:45:38 -05:00
Clebert Suconic 648340a864 ARTEMIS-2969 / ARTEMIS-2937 Making sure consumers are cleaned after failures and reconnects 2020-11-02 17:24:45 -05:00
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
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
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
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
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
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
Clebert Suconic 111b551d79 ARTEMIS-2789 AMQP Large Message Memory Estimate 2020-06-03 23:23:16 -04: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 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 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
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
Clebert Suconic 858a8240f9 ARTEMIS-2659 / ARTEMIS-2673 Fix AmqpSendReceiveTest.testAcceptWithoutSettling 2020-04-07 23:06:40 -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
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
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 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
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
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
brusdev 1716655214 ARTEMIS-2597 Memory Leak when closing AMQP Consumers in the context
Remove server senders on remote link close.
2020-01-15 09:56:21 +01:00
Justin Bertram 97735ca72c [maven-release-plugin] prepare for next development iteration 2020-01-10 09:00:58 -06:00
Justin Bertram 25a947f6cb [maven-release-plugin] prepare release 2.11.0 2020-01-10 08:57:46 -06:00
Keith Wall 39cd9d56f6 ARTEMIS-2497: [AMQP] Allow handling of the reject disposition to be configured. 2020-01-08 11:56:23 -05:00
Clebert Suconic 13278cc45f ARTEMIS-2581 Duplicate Detection on AMQP should be configurable
There is an optimization in AMQP, that properties are only parsed over demand.

It happens that after ARTEMIS-2294 (commit 2dd0671698),
every send would request for the property on the message, resulting the properties to always be parsed upon send.
Even when there's no use of application properties.
2019-12-19 17:54:21 -05:00
Keith Wall 7bd710520d ARTEMIS-2494: [AMQP] Allow Modified disposition to be used signal address full to a sending peer 2019-12-03 11:05:23 -05:00
Howard Gao 044319da05 ARTEMIS-2560 Duplicate amqp messages over cluster
When AMQPMessages are redistributed from one node to
another, the internal property of message is not
cleaned up and this causes a message to be routed
to a same queue more than once, causing duplicated
messages.
2019-12-03 09:46:28 -05:00
Clebert Suconic 91f4d0a633 [maven-release-plugin] prepare for next development iteration 2019-09-23 11:19:54 -04:00
Clebert Suconic 86a975fdad [maven-release-plugin] prepare release 2.10.1 2019-09-23 11:19:42 -04:00
Ulf Lilleengen 2ec96bf46d ARTEMIS-2488: Handle the case where source address is null 2019-09-18 20:49:16 -04:00
Clebert Suconic 7263e820f3 NO-JIRA Fixing intermittent failure on CreditsSemaphoreTest 2019-09-05 15:41:33 -04:00
Clebert Suconic 5016f69daa [maven-release-plugin] prepare for next development iteration 2019-08-26 10:42:13 -04:00
Clebert Suconic f092d5396a [maven-release-plugin] prepare release 2.10.0 2019-08-26 10:42:01 -04:00
Clebert Suconic c929d34eed ARTEMIS-2454 Fixing body re-encoding 2019-08-25 23:03:53 -04:00
Michael Pearce 25d0b511ce ARTEMIS-2458 Fix AMQP Transaction Session Close Ordering 2019-08-21 09:34:08 -04:00