Commit Graph

6420 Commits

Author SHA1 Message Date
Michael André Pearce 07fa93dfae NO-JIRA Check data != null during encode
Picked up by code analysis checks
2019-01-18 00:47:44 +00:00
Michael Andre Pearce 82ab6ff159 This closes #2503 2019-01-18 00:38:32 +00:00
Michael André Pearce 1f1aacc7ca NO-JIRA Fix field access 2019-01-18 00:33:59 +00:00
Michael Andre Pearce a26608d34a This closes #2502 2019-01-18 00:25:39 +00:00
Michael André Pearce 300ba4ecda NO-JIRA Fix String and SimpleString equals check 2019-01-18 00:24:20 +00:00
Michael Andre Pearce 7337274338 This closes #2501 2019-01-17 23:56:01 +00:00
Michael André Pearce dac2ae6636 ARTEMIS-2221 Fix Merge 2019-01-17 23:50:09 +00:00
Clebert Suconic 3a0491b920 This closes #2445 2019-01-17 18:12:58 -05:00
yang wei 5ea72022a1 ARTEMIS-2187 remove page from softcache before consumedpage 2019-01-17 18:12:57 -05:00
Clebert Suconic a04f8053b4 This closes #2446 2019-01-17 17:51:52 -05:00
yang wei 52d236d850 ARTEMIS-2188 fix address size leak caused by large page message 2019-01-17 17:51:51 -05:00
Michael Andre Pearce 10f5b184ee This closes #2469 2019-01-17 22:50:41 +00:00
Justin Bertram 6c0f9f8d3d ARTEMIS-2221 avoid unnecessary Bindings instance creation
When trying to get the bindings for an address the getBindingsForAddress
method will create a Bindings instance if there are no bindings for the
address. This is unnecessary in most circumstances so use the
lookupBindingsForAddress method instead and check for null.
2019-01-17 22:49:35 +00:00
Michael Andre Pearce ba53bed20d This closes #2470 2019-01-17 22:41:56 +00:00
Justin Bertram bfefd1f1ed NO-JIRA fix lgtm.com errors
Errors enumerated at
https://lgtm.com/projects/g/apache/activemq-artemis/alerts/?mode=tree&severity=error
2019-01-17 22:37:01 +00:00
Justin Bertram 57aacf784c NO-JIRA fix lgtm.com warnings
Warnings enumerated at
https://lgtm.com/projects/g/apache/activemq-artemis/alerts/?mode=tree&severity=warning
2019-01-17 22:30:28 +00:00
Michael Andre Pearce 6e0dc8163d This closes #2438 2019-01-17 22:22:01 +00:00
Justin Bertram 47aa25933f ARTEMIS-2178 routing-type config for core bridge
MULTICAST messages forwarded by a core bridge will not be routed to any
ANYCAST queues and vice-versa. Diverts have the ability to configure how
routing-type is treated. Core bridges now support this same kind of
functionality. By default the bridge does not alter the routing-type of
forwarded messages to maintain compatibility with existing behavior.
2019-01-17 22:22:01 +00:00
Clebert Suconic 4695bfb34a This closes #2459 2019-01-17 15:39:31 -05:00
Clebert Suconic b3f0a87e0d ARTEMIS-2200 NPE when calling journal.delete from Multiple Threads 2019-01-17 15:38:51 -05:00
Francesco Nigro 702f445205 ARTEMIS-2200 NPE while dropping/failing large messages on paging
Large messages pendingRecordID is not accessed atomically, leading
to races that would lead to records that cannot been found on the
journal for deletion: it would lead to cause NPE that won't clean
the pending tasks on the current OperationContextImpl.
Adding a cleanup on error of those tasks and avoiding the race
to happen by adding proper synchronization will both enforce
correct clean up when something bad happen and avoid NPE.
2019-01-17 14:35:25 -05:00
Clebert Suconic 2b096ad926 This closes #2474 2019-01-17 10:37:37 -05:00
Emmanuel Hugonnet a2c4f7c0a3 [ARTEMIS-1536]: Incorrect Journal filesize calculation where specified size is lest that the block size when using AIO.
* If the specified file size is under the fs block size then the
resulting file size is 0. Setting it to the block size in this case.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-1536
2019-01-17 10:37:37 -05:00
Clebert Suconic f7ce732caa This closes #2478 2019-01-17 10:30:20 -05:00
Howard Gao 70f8297cfa ARTEMIS-2210 PagingStore creation is not properly synchronized
In PagingManagerImpl#getPageStore() the operations on the map 'stores'
are not synchronzed and it's possible that more than one paging store is
created for one address.
2019-01-17 10:30:20 -05:00
Clebert Suconic 4179c44e7e This closes #2480 2019-01-17 10:25:52 -05:00
Francesco Nigro 11214f0ca9 ARTEMIS-2212 Avoid using CLQ on ServerConsumerImpl
It would deliver a better performance for the most
common operations eg offer, poll, iterations, size.
2019-01-17 10:25:51 -05:00
Clebert Suconic e6ba1e2bc4 This closes #2500 2019-01-17 09:32:28 -05:00
Howard Gao 0477d612ad NO-JIRA Adding test to verify Openwire consuming from FQQN
The test verifies that a Openwire queue consumer can consume
from pre-configured multicast queues using FQQN.
2019-01-17 09:32:28 -05:00
Clebert Suconic 9cbe4519b0 This closes #2482 2019-01-16 16:35:11 -05:00
Qihong Xu 9f4ac4cb9f ARTEMIS-2214 Cache durable&deliveryTime in PagedReference 2019-01-16 16:35:11 -05:00
Clebert Suconic 17ce15894c This closes #2496 2019-01-16 15:11:53 -05:00
Chao Wang b0886f09bf ARTEMIS-2227 add Implementation-Version for artemis-protocols module 2019-01-16 15:11:53 -05:00
Clebert Suconic ff81f2ebf1 This closes #2477 2019-01-15 17:10:58 -05:00
Justin Bertram d7eb076d4b ARTEMIS-2190 move tests
The "jms-tests" module is deprecated and these tests should have never
gone in there. Moving them to the "integration-tests" module.
2019-01-15 17:10:58 -05:00
Clebert Suconic 40da03a9f2 This closes #2499 2019-01-15 14:31:45 -05:00
Howard Gao 882da19c8a ARTEMIS-2229 Qpid jms consumer cannot receive from multicast queue using FQQN
If a client sends a message to a multicast address and using a qpid-jms
client to receive the message from one of the queues using fully
qualified queue name will fail with following error message:

Address xxxx is not configured for queue support
[condition = amqp:illegal-state]

It should be able to receive the message without any error.
2019-01-15 14:31:45 -05:00
Clebert Suconic 1e65b295c1 This closes #2498 2019-01-15 14:30:53 -05:00
Clebert Suconic ae1ccf034a ARTEMIS-2228 Large Messages over Management 2019-01-15 12:31:26 -05:00
Clebert Suconic ee2b0366ce This closes #2494 2019-01-14 11:40:42 -05:00
Francesco Nigro 47db4714fc ARTEMIS-2216 Avoid unnecessary page cache queries on ack TX
PageSubscriptionImpl::ackTx is already performing a counter update
using the message persistent size: the size can be reused on
PagePosition::setPersistentSize, avoiding to query the page cache just
to compute it.
2019-01-14 11:40:41 -05:00
Francesco Nigro e541126ca6 ARTEMIS-2224 lock-free LivePageCache + tests
LivePageCacheImpl has been reimplemented to be
lock-free, multi-producer and multi-consumer
in any of its operations.
2019-01-14 11:40:41 -05:00
Clebert Suconic 4e55c6418c This closes #2484 2019-01-14 11:39:48 -05:00
Clebert Suconic 4bcad4bf47 ARTEMIS-2224 Javadoc changes after the paging lock changes 2019-01-14 11:39:37 -05:00
Qihong Xu e6fe9f9d92 ARTEMIS-2216 Use a specific executor for pageSyncTimer 2019-01-14 11:39:37 -05:00
Clebert Suconic 5ae3dba072 ARTEMIS-2215 Fixing LiveCrashOnBAckupSyncTest" 2019-01-11 14:08:32 -05:00
Francesco Nigro e5e57442a2 This closes #2467 2019-01-10 16:39:56 +01:00
Francesco Nigro 8281e3b58f ARTEMIS-2205 Optimizing some Lambda usages
https://issues.apache.org/jira/browse/ARTEMIS-2205
2019-01-10 16:39:56 +01:00
Clebert Suconic d79762fa04 ARTEMIS-2205 Refactor AMQP Processing into Netty Thread
These improvements were also part of this task:
- Routing is now cached as much as possible.
- A new Runnable is avoided for each individual message,
  since we use the Netty executor to perform delivery

https://issues.apache.org/jira/browse/ARTEMIS-2205
2019-01-10 16:39:56 +01:00
Francesco Nigro a40a459f8c ARTEMIS-2205 Netty is used in a more idiomatic way
This helped decreasing a lot of pressure on GC by not creating
as many runnables for each write.

Besides this helps fixing some of the issues I would have had on refactoring AMQP
over flushing writes and other asynchronous issues.
2019-01-10 16:39:56 +01:00