Commit Graph

6233 Commits

Author SHA1 Message Date
Francesco Nigro 5b2c47567d ARTEMIS-1604 Artemis deadlock using MQTT Protocol
MQTT shouldn't support direct deliveries
2019-03-12 12:36:25 -04:00
Clebert Suconic 0872f749a9 ARTEMIS-1604 Using default supportDirectDelivery=false
This is to avoid races setting it to false on protocols that won't support direct Deliver
2019-03-11 14:40:42 +01:00
Francesco Nigro c83fce8db4 ARTEMIS-1604 Artemis deadlock using MQTT Protocol
Direct and async deliveries lock QueueImpl::this and
ServerConsumerImpl::this in different order causing deadlock:
has been introduced a deliverLock to prevent both type of delivers
to concurrently happen, making irrelevant the lock ordering.
2019-03-11 14:35:39 +01:00
Clebert Suconic a6dc57967b This closes #2576 2019-03-08 15:17:49 -05:00
Michael André Pearce aa36f62c9f ARTEMIS-2271 - Upgrade to Netty Libs to Latest 4.1.34.FINAL
Also upgrade netty-tcnative along with it.
2019-03-08 17:41:36 +00:00
Clebert Suconic 7fceaeb6c0 This closes #2568 2019-03-08 12:12:09 -05:00
Keith Wall 95bcfaeb70 ARTEMIS-2262: Correlate management response messages with the request 2019-03-08 12:11:58 -05:00
Clebert Suconic 5af589d5d7 This closes #2573 2019-03-07 14:37:00 -05:00
Michael André Pearce 4a5af776d8 ARTEMIS-2265 Support Federated Queues and Addresses
Implement Federated Queue (builds on recent consumer priority)
Implement Federated Address (builds on recent queue level auto-delete)
Add Functional Tests
Add Failure Tests (remote and local shutdowns)
Add Documentation
2019-03-07 14:37:00 -05:00
Clebert Suconic 2cdb0670fd This closes #2570 2019-03-07 11:34:16 -05:00
Clebert Suconic 061fb2787e ARTEMIS-1977 Stripping activemq-artemis as a separated proejct 2019-03-07 11:34:15 -05:00
Clebert Suconic 9e22a048b6 This closes #2546 2019-03-05 15:27:08 -05:00
andytaylor f99db14c3a ARTEMIS-2249 - update cpp example to use correct client libs
https://issues.apache.org/jira/browse/ARTEMIS-2249
2019-03-05 15:27:08 -05:00
Clebert Suconic 3bfeaa4cd5 This closes #2572 2019-03-05 15:16:36 -05:00
Francesco Nigro 4ea9d25ca9 ARTEMIS-2264 PurgeOnNoConsumers prevent removal of messages with replication
Added test reproducer and changed Queue::isDurableMessage usages into
Queue::isDurable to allow acks to hit the journal and being
correctly replicated across nodes.
2019-03-05 15:16:36 -05:00
Clebert Suconic 2a92f2977a This closes #2574 2019-03-04 16:19:34 -05:00
Adrien Ferré 3ab8bf7858 NO-JIRA modified ubuntu install instructions for libaio 2019-03-04 16:19:21 -05:00
Clebert Suconic ea7a9acdda This closes #2569 2019-02-27 09:41:37 -05:00
Michael André Pearce 9b01e9521c ARTEMIS-2263 Support queue level auto-delete configuration
Add ability to configure when creating auto created queues at the queue level
Add support for configuring message count check
Add test cases
Update docs
2019-02-27 08:13:19 +00:00
Clebert Suconic 4c84b119cc This closes #2565 2019-02-25 20:12:21 -05:00
Clebert Suconic da3d7a2940 ARTEMIS-2243 Fixing ClassLoding and dependency to security domain on method parameter 2019-02-25 20:12:20 -05:00
Clebert Suconic 299e444009 This closes #2567 2019-02-25 20:11:04 -05:00
Clebert Suconic 9f6f36d041 ARTEMIS-2183 Fixing RefsOperation on consumers and adding test 2019-02-25 17:23:47 -05:00
Otavio R. Piske a1d10c02f9 ARTEMIS-2183 Useless statement in public synchronized List
Ensures that the returned list returns the refsToAck list instead of
trying to add all items of itself

This closes 2566
2019-02-25 17:23:34 -05:00
Michael Andre Pearce 0cf29fefc8 This closes #2563 2019-02-23 05:50:57 +00:00
Michael André Pearce 33d9edf525 NO-JIRA Document reloading when using modularised broker.xml 2019-02-23 05:50:56 +00:00
Michael Andre Pearce 073eef4291 This closes #2562 2019-02-23 05:45:59 +00:00
Michael André Pearce ffa5a3718f NO-JIRA Document reloading when using modularised broker.xml
Add docs to clarify the need to touch broker.xml for modularised config to reload
2019-02-23 05:44:08 +00:00
Clebert Suconic 35e0b3fca2 This closes #2529 2019-02-22 10:19:52 -05:00
Otavio R. Piske b0a148158d ARTEMIS-2260 Refactor the library build code
This refactoring changes the native library build code to allow cross-compilation
and brings the following changes:

- Fix the link target to the one that was actually found by find_library

- Replace add definitions with standard CMake C flags handling options. Among
other things, this allow greater control over which compiler flags are used
and makes it easier to turn on/off debug flags by manipulating the
CMAKE_USER_C_FLAGS variable as documented in the README

- Updates the CMake scripts to allow cross-compilation of the artemis
native library into x86 32-bit code when building on a x86 64-bit system

- Updates the library documentation

- Defines C99 as the C standard in use so that the native library code can be
compiled in older GCC versions

- Renames the readme file so it can be better visualized on the web
2019-02-22 10:18:51 -05:00
Clebert Suconic 3de8b7bd96 This closes #2530 2019-02-22 10:11:22 -05:00
Otavio Rodolfo Piske 308486ad8e ARTEMIS-2260 Refactor the context initialization code
The code is adjusted to ensure proper release of allocated memory when
failure occurs.

It also moves the common IOCB cleanup logic to allow reuse in the
deleteContext method.
2019-02-22 10:11:00 -05:00
Otavio Rodolfo Piske 24b3f08c88 ARTEMIS-2260 Fix an incorrect cleanup of the AIO I/O context.
Since the context is initialized on the stack, calling free on it is
incorrect and can lead to memory corruption. This replaces the cleanup
routines w/ io_queue_release which is the appropriate way to cleanup the
context.
2019-02-22 10:10:53 -05:00
Otavio Rodolfo Piske 6dafedb6af ARTEMIS-2260 Prevent a null pointer dereference if unable to allocate memory for the
events member of the control structure. This could also cause the broker
to abruptly shutdown.
2019-02-22 10:10:39 -05:00
Otavio Rodolfo Piske 584a610f6a ARTEMIS-2260 Fixes a potential NULL pointer dereference on the thin library
If the code fails to allocate native memory for the error message, it
will still perform the call to strcpy, which will result in a
segmentation fault to occur. This may cause the JVM to shutdown abruptly
potentially causing the original root cause to be hidden.
2019-02-22 10:10:28 -05:00
Clebert Suconic 059e56eb6a This closes #2545 2019-02-21 19:59:26 -05:00
Francesco Nigro c77e64a574 ARTEMIS-2245 Cleaning up Docker images preparation, run and docs 2019-02-21 19:59:25 -05:00
Clebert Suconic 75cebe90b4 This closes #2548 2019-02-21 19:58:35 -05:00
Michael André Pearce c4e68b6046 ARTEMIS-2118 Enhanced Message Groups Support
Support using group buckets on a queue for better local group scaling
Support disabling message groups on a queue
Support rebalancing groups when a consumer is added.
2019-02-21 19:58:34 -05:00
Clebert Suconic fead3e226f This closes #2560 2019-02-21 15:04:44 -05:00
Otavio R. Piske 16909584c3 ARTEMIS-1952 NPE logged at warn if MQTT subscriber disconnects abruptly
Prevent a NullPointerException if no connection by the given clientId is
found on the cache of stored sessions
2019-02-21 19:36:37 +01:00
Clebert Suconic 951a061555 This closes #2557 2019-02-20 17:11:59 -05:00
Otavio R. Piske 6d65975f36 NO-JIRA Removes redundant initializers 2019-02-20 17:11:41 -05:00
Otavio R. Piske 69582ef642 NO-JIRA Inline some variables to simplify the code flow 2019-02-20 17:11:36 -05:00
Otavio R. Piske d2bf02082f NO-JIRA Simplify the assignment of the initialConnectors 2019-02-20 17:11:22 -05:00
Otavio R. Piske 3dce4e645a NO-JIRA Remove unnecessary semicolon 2019-02-20 17:11:06 -05:00
Otavio R. Piske eb582a676f NO-JIRA Remove redundant modifiers 2019-02-20 17:11:00 -05:00
Clebert Suconic 38229dcbd0 This closes #2556 2019-02-20 17:04:52 -05:00
Clebert Suconic 285848969f ARTEMIS-2251 Using Callbacks to delete large messages from IO
This closes #2549
2019-02-20 17:04:37 -05:00
Clebert Suconic 43c0868d72 NO-JIRA Improve test 2019-02-20 08:40:39 -05:00