1003 Commits

Author SHA1 Message Date
Michael Andre Pearce
f63f130407 ARTEMIS-1235 delete queues when broker.xml changes
Add extra configuration to address-settings to be able to
control / enable address/queue deletion by pattern,
rather than a global toggle.

Add support in the reload logic to remove address
and/or queues if the address matches an address setting,
where it is enabled.
2017-06-22 12:12:12 -04:00
Andy Taylor
fbe27682a1 ARTEMIS-1237 - Hard coded timeout on Journal file open
Make timeout configurable

https://issues.apache.org/jira/browse/ARTEMIS-1237
2017-06-22 10:48:09 -04:00
Clebert Suconic
37d1d5ff7b ARTEMIS-1247 Allow tracing on ReplicatedJournal
This closes #1360
2017-06-22 10:22:36 -04:00
Clebert Suconic
85aeac99ab Revert "ARTEMIS-1227 Internal properties not removed from messages"
This reverts commit f465996444fdb6fcf33e1ce2262d6ea2aae0cdb1.

Following discussion on https://github.com/hornetq/hornetq/pull/2114
2017-06-22 09:49:45 -04:00
Francesco Nigro
cf68aab714 ARTEMIS-1214 Improve performance of read on Paging 2017-06-21 16:06:57 -04:00
Jiri Danek
3d4e907a1b NO-JIRA fix typos 2017-06-21 11:16:29 -04:00
Michael Andre Pearce
44b7e455cb ARTEMIS-1205: AMQP Shared Durable Subscriber incorrect behaviour
Use AcitveMQDestination for subscription naming, fixing and aligning queue naming in the process.

The change is behind a configuration toggle so to avoid causing any breaking changes for uses not expecting.
2017-06-19 12:44:13 +01:00
Martyn Taylor
a66b816a18 ARTEMIS-1233 Fix log level in logger message 2017-06-19 10:19:03 +01:00
Martyn Taylor
f20703a13e ARTEMIS-1215 Fix address validation on sub # 2017-06-14 11:39:39 -05:00
Andy Taylor
30a6ac703e ARTEMIS-1224 - change the journal file size to nearest multiple
https://issues.apache.org/jira/browse/ARTEMIS-1224
2017-06-14 10:16:23 +01:00
Howard Gao
f465996444 ARTEMIS-1227 Internal properties not removed from messages
In a cluster if a node is shut down (or crashed) when a
message is being routed to a remote binding, a internal
property may be added to the message and persisted. The
name of the property is like _AMQ_ROUTE_TOsf.my-cluster*.
if the node starts back, it will load and reroute this message
and if it goes to a local consumer, this property won't
get removed and goes to the client.

The fix is to remove this internal property before it
is sent to any client.
2017-06-12 13:01:12 -05:00
Tomas Hofman
9b5440e5a4 ARTEMIS-1186 Consumer.receive hangs if http acceptor with non-zero batch-delay is configured 2017-05-30 19:05:43 -04:00
Michael Andre Pearce
c65ea783ea ARTEMIS-1189 - Fix checkstyle violations post checkstyle upgrade
After upgrade of checkstyle, resolve violations

remove checkstyle override added as temp measure at point of upgrade forced by sevntu
2017-05-30 13:40:00 -04:00
Michael Andre Pearce
b8ebe05775 ARTEMIS-1188: Update sevntu to 1.24.0 available in maven central
remove custom repo
update groupid to match artifact in maven central.
bump version also to that now deployed to maven central.
bump checkstyle version to 7.7 to make compatible.

updated checkstyle.xml to ignore existing issues which are prolific 
which are now flagged in latest version as some bugs in previous meant they we'ren't detected e.g. https://github.com/checkstyle/checkstyle/issues/3320

fixing some violations which are not too prolific.
2017-05-30 09:54:17 -04:00
Ville Skyttä
fe505b37b4 Spelling fixes 2017-05-30 10:32:41 +03:00
Justin Bertram
b1ad8f3adf ARTEMIS-1178 backwards compatibility issues
This commit has 2 changes for backwards compatibility with older
clients:

1) A "bindings query" will now detect if the client is both JMS and
"old" (i.e. pre-2.0) and will prefix the returned queue names with the
old prefix (i.e. "jms.queue."). This will allow the old client to
properly detect whether or not a queue exists in its auto-creation
logic.

2) When messages are dispatched to a consumer there is logic to detect
if the consumer is both JMS and "old" and will prefix the "address"
on the message with "jms.queue." or "jms.topic." as appropriate
(if it's not already prefixed).
2017-05-25 10:53:42 -04:00
Justin Bertram
5a9830af17 Revert "[ARTEMIS-1171] Improve log readability around clustering"
This reverts commit 744221dcb5f250d724a72f0321144630ecb2eab7.

Broke o.a.a.a.t.i.m.QueueControlUsingCoreTest.testListDeliveringMessages
2017-05-25 10:53:42 -04:00
Dmitrii Tikhomirov
2443eaaa00 ARTEMIS-1180: Artemis is logging warnings during server shut down 2017-05-24 18:41:13 -04:00
Guillaume Nodet
7e47dc3e07 [ARTEMIS-1176] Turn management reply messages into text messages 2017-05-23 09:39:09 -04:00
Christopher L. Shannon (cshannon)
48a2dd1f45 ARTEMIS-1172 - Update beforeDeliver and afterDeliver method arguments
Adding ServerConsumer as an argument to both the beforeDeliver and
afterDeliver methods inside ActiveMQServerPlugin and deprecated the old
methods
2017-05-17 20:38:47 -04:00
Ingo Weiss
744221dcb5 [ARTEMIS-1171] Improve log readability around clustering
Issue: https://issues.apache.org/jira/browse/ARTEMIS-1171
2017-05-17 14:11:08 -04:00
Clebert Suconic
dc26ac96b4 ARTEMIS-1156: moving our collections on its own package 2017-05-12 10:06:05 -04:00
Michael André Pearce
c1d55aa84f ARTEMIS-1156: FIX: Long Autoboxing occurring on Hot Path
Building on ARTEMIS-905 JCtools ConcurrentMap replacement  first proposed but currently parked by @franz1981, replace the collections with primitive key concurrent collections to avoid auto boxing.

The goal of this is to reduce/remove autoboxing on the hot path.
We are just adding jctools to the broker (should not be in client dependencies)
Like wise targeting specific use case with specific implementation rather than a blanket replace all.

Using collections from Bookkeeper, reduces outside tlab allocation, on resizing compared to JCTools, which occurs frequently on testing.
2017-05-12 10:05:51 -04:00
Justin Bertram
88e185d2b9 ARTEMIS-1154 tweak logic to support previous semantics 2017-05-11 09:54:28 -05:00
Justin Bertram
5cb5c8a6dc ARTEMIS-1154 isolated backup fails over
Even if there is no address/url configured for the NetworkHealthCheck
an isolated backup will still fail-over potentially causing split-brain.
2017-05-09 14:43:17 -05:00
Clebert Suconic
ce61d20f5a [maven-release-plugin] prepare for next development iteration 2017-05-08 15:20:12 -04:00
Clebert Suconic
64e8f015ee [maven-release-plugin] prepare release 2.1.0 2017-05-08 15:20:01 -04:00
Christopher L. Shannon (cshannon)
9fdba8292f ARTEMIS-898 - Adding support for XML configuration of Broker Plugins
Broker plugins can now be added to the broker through XML config.
2017-05-08 11:59:41 -04:00
Clebert Suconic
36c9659279 [maven-release-plugin] prepare for next development iteration 2017-05-05 22:11:09 -04:00
Clebert Suconic
7b5082639f [maven-release-plugin] prepare release 2.1.0 2017-05-05 22:10:58 -04:00
Arthur Baars
7648b6fd9d Remove dangling git-link
The empty folder artemis-server/artemis-load-generator seems to be a
git submodule link. However, there is no submodule configuratation
file (ie .gitmodules) in this repository.

This caused the 'git submodule' command to fail with the following
error message:
fatal: no submodule mapping found in .gitmodules for path 'artemis-server/artemis-load-generator'
2017-05-04 10:21:15 -05:00
Bernd Gutjahr
6017e305d9 ARTEMIS-1112: Added wait-for-activation option to shared-store-master config
Added a wait-for-activation option to shared-store master HA policies.
This option is enabled by default to ensure unchanged server startup behavior.

If this option is enabled, ActiveMQServer.start() with a shared-store master server will not return
before the server has been activated.
If this options is disabled, start() will return after a background activation thread has been started.
The caller can use waitForActivation() to wait until server is activated, or just check the current activation status.
2017-05-03 16:40:15 -04:00
Clebert Suconic
33f2ad65c9 ARTEMIS-1140 Avoid lock on queue for message counts 2017-05-03 13:49:44 -05:00
Christopher L. Shannon (cshannon)
1e1ede84c0 ARTEMIS-898 - Adding Plugin Support
Adding a new ActievMQServerPlugin interface to support adding custom
behavior to the broker at certain events such as connection or session
creation.

https://issues.apache.org/jira/browse/ARTEMIS-898
2017-05-03 11:21:32 -04:00
Aditya Sharad
52a5b85557 ARTEMIS-1135: Prevent overflow in DayCounter
Use `long` array for hourly counters instead of `int` array.
Prevents overflow when the number of new messages (a `long`) is added.
Fixes one of the "Implicit narrowing conversion in compound assignment"
alerts on https://lgtm.com/projects/g/apache/activemq-artemis/alerts.
2017-05-02 13:00:46 -04:00
Aditya Sharad
b998a8bdaf ARTEMIS-1135: Fix potential message count overflow
Have `AddressControlImpl::getMessageCount` use and return a `long`.
Prevents potential overflow from use of an `int` count variable.
Fixes one of the "Implicit narrowing conversion in compound assignment"
alerts at https://lgtm.com/projects/g/apache/activemq-artemis/alerts.
2017-05-02 13:00:46 -04:00
Justin Bertram
578c0fabb2 ARTEMIS-1137 handle empty routing type on restart 2017-05-02 10:06:42 -05:00
Clebert Suconic
6df8c3a28d Revert " ARTEMIS-1112: don't block live activation if another live server is running"
This reverts commit 2f175b8d4ef00fe3b9a6388cc4beab7fa22461c1.
2017-05-01 09:50:45 -04:00
Justin Bertram
3bd4bdb079 ARTEMIS-1130 log disallowed SSL protocols once 2017-04-28 10:15:42 +01:00
Bernd Gutjahr
2f175b8d4e ARTEMIS-1112: don't block live activation if another live server is running
Instead of going directly into backup mode within the shared-store
live activation, we just change the HA-policy to slave and return
to the caller - ActiveMQServerImpl.internalStart().
The caller will then handle the backup activation as usual
in a separate thread, such that EmbeddedJMS.start() can return.

Also added a related integration test.
2017-04-26 15:23:24 -05:00
Martyn Taylor
1c84bd39c4 ARTEMIS-826 Fix MQTT protocol detection 2017-04-25 13:53:21 +01:00
Howard Gao
694a5092b6 ARTEMIS-1128 QueueControlImpl.sendMessage() fixes
sendMessage() may throw ActiveMQException that causes CNFE
at the management client. Also it should check if headers
in the message is null (to prevent NPE).
2017-04-24 13:52:51 -05:00
Stephen Higgs
24e3799347 ARTEMIS-1116 map ldap roles to local roles
adds general mapping between multiple amq internal roles
and a external roles (e.g. LDAP), configured in broker.xml
2017-04-24 10:25:08 -05:00
Howard Gao
b441bf0e62 ARTEMIS-1122 ActiveMQJAASSecurityManager class loading issue
The ActiveMQJAASSecurityManager class uses LoginContext to validate
users and roles. LoginContext loads LoginModule classes defined in
the configuration (login.config) using current thread's context
classloader.
Normally this wouldn't be a problem but when a caller thread comes
from JMX (for example a client calls QueueControl.sendMessage() via
JMX) the caller thread has a different context class loader.
This will cause the LoginContext to fail to load the LoginModule
class (e.g. PropertiesLoginModule) and the validation will fail
even if correct credentials are supplied.
2017-04-24 10:07:20 -05:00
Howard Gao
f344c1ebaf ARTEMIS-1093 Full qualified queue name support
Broker should support full qualified queue names (FQQN)
as well as bare queue names. This means when clients access
to a queue they have two equivalent ways to do so. One way
is by queue names and the other is by FQQN (i.e. address::qname)
names. Currently only receiving is supported.
2017-04-23 16:01:20 -04:00
Francesco Nigro
258d595972 ARTEMIS-1124 JDBC Network Timeout configuration 2017-04-20 19:43:10 +01:00
Clebert Suconic
bfe2bdd7b2 ARTEMIS-1115 Traces and tests on JDBC Persistence 2017-04-19 00:50:58 -04:00
Martyn Taylor
7b68b0a49a ARTEMIS-1115 Call CriticalIOListener on JDBC Error 2017-04-19 00:50:58 -04:00
Clebert Suconic
1a39772489 ARTEMIS-1121 Improving expiry scanner
https://issues.apache.org/jira/browse/ARTEMIS-1121
2017-04-18 11:49:25 -04:00
Francesco Nigro
aa9ac4a914 ARTEMIS-1084 Throw RunTime on bad Oracle table size 2017-04-13 19:17:10 -04:00