Commit Graph

844 Commits

Author SHA1 Message Date
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 744221dcb5.

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 2f175b8d4e.
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
Clebert Suconic f609884186 Revert "ARTEMIS-1093 Full qualified queue name support"
Testsuite won't complete with this commit.
Reerting it for further evaluation.

This reverts commit a9a3c47808.
2017-04-12 16:53:40 -04:00
Bernd Gutjahr 557f02ba4d ARTEMIS-1108: Removed AIOFileLockManager
AIOFileLockManager doesn't work on NFS-mounted share store directories.
Since the GFS2 bug https://bugzilla.redhat.com/show_bug.cgi?id=678585
has been fixed end of 2011, the class AIOFileLockManager is no longer needed and I have removed it.
2017-04-12 10:45:26 -04:00
Howard Gao a9a3c47808 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-12 09:59:28 +01:00
Clebert Suconic cc22a0286b ARTEMIS-1101 Fixing JMSFilter on AMQP 2017-04-11 16:07:33 -04:00
Clebert Suconic 4e59c174ff ARTEMIS-1096 Fixing configuration issues on calculated global-max-page 2017-04-11 14:06:44 -04:00
Andy Taylor fb3de112e4 ARTEMIS-1107 - fix and Test AddressControl.sendMessage()
https://issues.apache.org/jira/browse/ARTEMIS-1107
2017-04-11 08:29:43 +01:00
Justin Bertram 67a06588f4 ARTEMIS-1107 test AddressControl.sendMessage
Add tests for this management operation with both core and AMQP encoded
messages. Also fix a few problems with the implementation like not
checking the passed-in headers for null and not counting messages
properly.
2017-04-11 07:57:57 +01:00
Clebert Suconic 4a73d82964 ARTEMIS-1105 Adding setPaged that was missed during the refactoring 2017-04-10 12:25:28 -04:00
Andy Taylor 185b0cb2a8 ARTEMIS-1105 null pointer when replicating paged messages
https://issues.apache.org/jira/browse/ARTEMIS-1105
2017-04-10 12:25:25 -04:00
Clebert Suconic dbe1976b47 NO-JIRA: Using Env as the source of isTestEnv 2017-04-07 10:31:03 -04:00
Francesco Nigro a0f369af05 ARTEMIS-1099 Force Netty EPOLL to be available only on Linux 64bit platforms 2017-04-07 10:28:22 -04:00
Clebert Suconic 911888e8d1 ARTEMIS-1089 Improving flow control on replication 2017-04-06 21:45:31 -04:00
Clebert Suconic 753a8d2635 NO-JIRA Removing verbose log.info from testsuite 2017-04-06 19:55:09 -05:00
Clebert Suconic cbe3621431 ARTEMIS-1096 Changing Global Max Size's default 2017-04-06 19:55:09 -05:00
Justin Bertram 4a57aecbbf ARTEMIS-1094 replica + group-name fix
When a replica attempts to connect to a live server using a group-name
and there are > 1 servers on the network using that group there is a
chance it will fail because it doesn't keep track of all of the
topology data it receives. This fix ensures that all the topology data
from the cluster tracked until it is used and fails at which point it
is discarded.
2017-04-06 13:22:30 -04:00
Francesco Nigro f53449b945 ARTEMIS-1095 Netty's WriteBufferWaterMark configuration via TransportConstants 2017-04-06 15:26:13 +02:00
Andy Taylor bffbca8f64 no jira - possible null pointer 2017-04-05 11:56:32 +01:00
Justin Bertram 073a280629 ARTEMIS-1092 Validated user + AMQP fix
When populate-validated-user = true AMQP messages can cause exceptions.
This feature isn't particularly applicable to AMQP so this commit
eliminates the exception and leaves the AMQP messages untouched
even if populate-validated-user = true. In other words,
populate-validated-user + AMQP is not supported.
2017-04-04 14:46:22 -05:00
Clebert Suconic 0b62f698c3 ARTEMIS-1089 Fixing Replication catchup slow 2017-04-02 20:20:45 -04:00
Clebert Suconic 5b4247479c NO-JIRA: Adding Acceptor and Connector utility 2017-04-02 19:21:14 -04:00
Clebert Suconic 5f939cf61f ARTEMIS-992 Reverting 'ERROR' message
Commit 81b5563a52 introduced an error message
even if you start a regular non clustered server.
2017-04-01 15:57:41 -04:00
Martyn Taylor 8760b3ddfd ARTEMIS-1087 Make InVM buffer pooling configurable 2017-03-31 18:56:07 +01:00
Justin Bertram 81b5563a52 ARTEMIS-992 NPE on startup 2017-03-30 21:20:14 -04:00
Justin Bertram 5a93aa9b76 ARTEMIS-1083 fix errant WARN message 2017-03-30 18:34:21 -05:00
Martyn Taylor 42bf845edb ARTEMIS-1084 Throw RunTime on bad Oracle table size 2017-03-29 14:59:12 +01:00
Howard Gao 82c720bdfb ARTEMIS-1071 Invalid Type exception handling improvements
If broker fails to decode any packets from buffer, it should
treat it as a critical bug and disconnect immediately.
Currently broker only logs an error message.
2017-03-29 09:19:52 -04:00
Justin Bertram ce3adf6fa8 ARTEMIS-1065 get queue names by routing type 2017-03-29 09:18:16 -04:00
Clebert Suconic 1f4473e8d7 ARTEMIS-1081 Implementing AMQP UndeliverableHere 2017-03-28 20:32:28 -05:00
Clebert Suconic 746220e11e ARTEMIS-1080 Implementing AMQP::reject 2017-03-28 20:32:28 -05:00
Justin Bertram b7e11f92b6 ARTEMIS-1064 AddressControl routingType fix 2017-03-28 15:30:52 -05:00
Armand Roelens 3ceb332866 ARTEMIS-1074 Acceptors/Connectors now start up when configured to use SSL and a password codec 2017-03-28 15:10:33 -05:00
Clebert Suconic b395504e15 ARTEMIS-1077 Fixing Pool usage on InVM and RemotingConnection 2017-03-28 09:19:57 -05:00
Andy Taylor ec7e6d7ea7 ARTEMIS-1075 - Add Routing Type to QueueControl management API
https://issues.apache.org/jira/browse/ARTEMIS-1075
2017-03-28 10:40:52 +01:00
Justin Bertram 427039ef38 ARTEMIS-1068 routingType + AMQP fixes 2017-03-24 15:15:10 -05:00
Clebert Suconic 096556f346 ARTEMIS-994 Tidy up on epoll
- improved logging
- renamed properties and tidy up on configurations
2017-03-23 18:16:48 -05:00
Michael André Pearce a610748c09 ARTEMIS-994 Support Netty Native Epoll on Linux
The following changes are made to support Epoll.

Refactored SharedNioEventLoopGroup into renamed SharedEventLoopGroup to be generic (as so we can re-use for both Nio and Epoll)

Add support and toggles for Epoll in NettyAcceptor and NettyConnector (with fall back to NIO if cannot load Epoll)

Removal from code of PartialPooledByteBufAllocator, caused bad address when doing native, and no longer needed - see jira discussion

New Connector Properties:

useEpoll - toggles to use epoll or not, default true (but we failback to nio gracefully)
remotingThreads = same behaviour as nioRemotingThreads. Previous property is depreated.
useGlobalWorkerPool = same behaviour as useNioGlobalWorkerPool. Old property is deprecated.

New Acceptor Properties:

useEpoll - toggles to use epoll or not, default true (but we failback to nio gracefully)
useGlobalWorkerPool = same behaviour as useNioGlobalWorkerPool but for Epoll.

This closes #1093
2017-03-23 18:16:48 -05:00
Clebert Suconic 2c9b02806d ARTEMIS-1056 Removing PartialPooledByteBufAllocator 2017-03-23 18:16:48 -05:00
Clebert Suconic 1c88c06abb ARTEMIS-1059 option to monitor Paging counters
Adding System.property artemis.debug.paging.interval (in seconds)
to debug paging counters.
2017-03-23 09:35:40 -05:00
Clebert Suconic 633b9c75dd ARTEMIS-1056 Fixing AutomaticColocatedQuorumVoteTest 2017-03-23 14:04:26 +00:00
Justin Bertram bc43bfbcce NO-JIRA don't log stack for cluster auth failure 2017-03-22 23:32:37 -04:00
Benjamin Graf 1ae3276ce9 NO JIRA Small lexical typo 2017-03-22 23:31:06 -04:00
Clebert Suconic 0bfb39bfb5 ARTEMIS-1056 Performance improvements on AMQP 2017-03-22 09:55:02 -05:00
Clebert Suconic ac7cafb210 ARTEMIS-1051 Adding synchronized calls on ACKs 2017-03-22 09:55:02 -05:00
Martyn Taylor 10c9d797d1 NO-JIRA Bump extra tests version 2017-03-22 11:45:47 +00:00
Justin Bertram a9360f5599 ARTEMIS-1053 use creds for active server check 2017-03-21 17:21:56 +00:00
Clebert Suconic e2b2e247d9 ARTEMIS-1051 using ServerSession's own lock 2017-03-21 09:14:24 -04:00
Martyn Taylor 8394fec104 ARTEMIS-1051 Make ServerSession send thread safe 2017-03-21 09:14:24 -04:00
Clebert Suconic 65ac7f700b ARTEMIS-1052 Proper Expiry over AMQP 2017-03-20 18:33:31 -04:00
Andy Taylor 8ab7588910 ARTEMIS-1023 - fixx Openwire auto creation of queues
https://issues.apache.org/jira/browse/ARTEMIS-1023
2017-03-17 12:28:10 +00:00
Clebert Suconic afe97cdb0f ARTEMIS-1033 Fixing NPE on PageTX and reload 2017-03-13 09:07:26 -04:00
Clebert Suconic 1ce5d1f758 NO-JIRA Removing System.out left by mistake 2017-03-13 08:58:46 -04:00
Martyn Taylor 6b2363e02e ARTEMIS-1031 Fix prefix support 2017-03-10 15:38:02 -05:00
Martyn Taylor c40823e5ec [maven-release-plugin] prepare for next development iteration 2017-03-10 14:54:33 +00:00
Martyn Taylor 70e319d6e3 [maven-release-plugin] prepare release 2.0.0 2017-03-10 14:52:26 +00:00
Martyn Taylor f1a5f1caf9 Revert "[maven-release-plugin] prepare release 2.0.0"
This reverts commit 057047499b.
2017-03-10 14:45:29 +00:00
Martyn Taylor 1964abe567 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 9a52f51c9f.
2017-03-10 14:44:58 +00:00
Justin Bertram e9ad1c81a5 Revert "ARTEMIS-1011 Small adjustment on test"
Revert "ARTEMIS-1011 adjust slow-consumer detection logic"

This reverts commit 9818206bd3.
This reverts commit 19ebbfb5f0.
2017-03-10 09:26:41 -05:00
Martyn Taylor 9a52f51c9f [maven-release-plugin] prepare for next development iteration 2017-03-10 11:36:36 +00:00
Martyn Taylor 057047499b [maven-release-plugin] prepare release 2.0.0 2017-03-10 11:25:47 +00:00
Clebert Suconic f1249e39a9 ARTEMIS-1029 Cleaning up small possible Exception
treating an exception after the PagingIterator in case of duplicates cleanups
2017-03-10 11:09:29 +00:00
Clebert Suconic b73828a0f4 ARTEMIS-1029 Fixing Paging issues
- Browser out of order
- PageStore not being cleared
2017-03-09 22:12:58 -05:00
Clebert Suconic 761f42277d ARTEMIS-1029 Fixing Scaledown tests 2017-03-09 22:12:58 -05:00
Clebert Suconic ed1d4c0948 ARTEMIS-1009 Fixing Management test 2017-03-09 19:14:59 -05:00
Justin Bertram 19ebbfb5f0 ARTEMIS-1011 adjust slow-consumer detection logic
Adjust slow-consumer detection logic to use the number of messages in
the queue and not just the number of messages added since the last
check. This means the getRate() method now returns the rate of messages
which it *could* have dispatched since the last check rather than the
rate at which it received messages. This is a more reliable metric to
ensure the slow-consumer detection logic doesn't flag a consumer as
slow unfairly. Although the reliability will come at a performance cost
since getMessageCount() must lock the queue.
2017-03-09 16:59:22 -05:00
Justin Bertram a052e2ca9a ARTEMIS-1026 don't route when purgeOnNoConsumers and consumers=0 2017-03-09 14:39:33 -05:00
Clebert Suconic a41a1930ef ARTEMIS-1009 AMQP shouldn't use application properties
As part of my refactoring on AMQP, the broker shouldn't rely on Application properties
for any broker semantic changes on delivery.

I am removing any access to those now, so we can properly deal with this post 2.0.0.
2017-03-09 12:27:39 -05:00
Clebert Suconic c369084381 ARTEMIS-1009 Tight up on AMQP
avoiding application properties even further
fixing nolocal
2017-03-09 08:12:42 -06:00
Howard Gao 6e02caa53e ARTEMIS-1024 Management operation causes ClassNotFoundException
Artemis expose createQueue() method to management console like Jon.
If the queue to be created already exists it throws an ActiveMQException
back to the console, which will get a ClassNotFoundException when
deserializing the exception.
The same issue goes also with AddressControl.sendMessage() method.

To fix that it should throw a common java exception like IllegalStateException.
2017-03-09 21:22:18 +08:00
Clebert Suconic 3882b00735 ARTEMIS-1009 Fixing exporter/importer 2017-03-06 14:20:54 -06:00
Martyn Taylor 456e2a65e2 ARTEMIS-1012 Fix AMQP Transaction Retirement 2017-03-06 11:55:29 -05:00
Clebert Suconic fe0ca4d84f ARTEMIS-1009 Pure Message Encoding.
with this we could send and receive message in their raw format,
without requiring conversions to Core.

- MessageImpl and ServerMessage are removed as part of this
- AMQPMessage and CoreMessage will have the specialized message format for each protocol
- The protocol manager is now responsible to send the message
- The message will provide an encoder for journal and paging
2017-03-05 23:08:53 -05:00
Martyn Taylor a3c852eb04 NO-JIRA Database Page Store Improvements 2017-02-26 20:42:04 +00:00
Justin Bertram c7e0a92181 ARTEMIS-992 deal w/bad connector-ref in cluster-cxn 2017-02-23 16:52:31 -05:00
Howard Gao e09be4864a ARTEMIS-988 Regression: web tmp dir not cleaned up
Due to recent changes, the web component is shutdown by the
server, but the shutdown flag is lost so the web component's
cleanup check method is not get called and the web's tmp
dir is left there after user stopped the broker (control-c).

The fix is add a suitable API to allow passing of the
flag so the web component can make sure its tmp dir gets
cleaned up properly before exiting the VM.
2017-02-23 12:39:50 +08:00
Jiri Danek a7a0535afa NO-JIRA Fixing typos in log messages, test names and comments
Related to ARTEMIS-387 (fowardingAddress)
2017-02-20 20:54:45 -05:00
Andy Taylor a243e0559f ARTEMIS-977 - record id of address not set on journal reload
https://issues.apache.org/jira/browse/ARTEMIS-977
2017-02-20 09:17:45 -05:00
Justin Bertram 5bd1980438 ARTEMIS-978 replicating live restarts as backup
In a cluster of replicated live/backup pairs if a backup crashes and
then its live crashes the cluster will retain the topology information
of the live such that when the live server restarts it will check the
cluster to see if its nodeID is present (which it will be) and then it
will activate as a backup rather than a live. To prevent this situation
an additional check is necessary to see if the server with the matching
nodeID is actually active or not which is done by attempting to make a
connection to it.
2017-02-17 12:55:11 -06:00
Dejan Bosanac 21b64b3e4f https://issues.apache.org/jira/browse/ARTEMIS-815 - support wildcard address configuration in mqtt layer
https://issues.apache.org/jira/browse/ARTEMIS-815 - support wildcard address configuration in mqtt layer - remove old swap method

https://issues.apache.org/jira/browse/ARTEMIS-815 - added tests for mqtt-openwire integration and fixed openwire layer

https://issues.apache.org/jira/browse/ARTEMIS-815 - remove unused imports
2017-02-16 17:37:50 +00:00
Clebert Suconic f660783df5 NO-JIRA: Removing spurious debug message 2017-02-16 12:05:44 -05:00
Ulf Lilleengen 4622066323 ARTEMIS-908: Replace lock by CAS to avoid deadlock 2017-02-15 10:26:02 -05:00
Andy Taylor d4790f00ba ARTEMIS-962 - improve the OpenMBean support for browsing
https://issues.apache.org/jira/browse/ARTEMIS-962
2017-02-14 11:27:51 -06:00
Jiří Daněk 27d739b47e ARTEMIS-504 update slow-consumer-check-period documentation 2017-02-14 11:24:26 -06:00
Justin Bertram ff3e75d148 NO-JIRA move RoutingType to different package 2017-02-13 09:50:41 -06:00
Justin Bertram f5599c6630 ARTEMIS-947 reload <addresses> on broker.xml change 2017-02-07 13:45:24 -06:00
Andy Taylor d937e8a8e1 ARTEMIS-945 - fix test and queue delete
https://issues.apache.org/jira/browse/ARTEMIS-945
2017-02-07 14:01:15 +00:00
Andy Taylor 43a9276484 ARTEMIS-866 - replication improvements
add functionality to allow live to vote for quorum on failure

Also allow the quorum size to be configurable.

https://issues.apache.org/jira/browse/ARTEMIS-866
2017-02-07 13:47:03 +00:00
Justin Bertram 15d693dd4e ARTEMIS-943 update/doc XML import/export 2017-02-06 15:09:55 -06:00
Francesco Nigro aacddfda61 ARTEMIS-906 Memory Mapped JournalType 2017-02-03 09:04:57 -05:00
Clebert Suconic ce035a8084 ARTEMIS-937 Implementing proper alignment and adding perf-journal tool to validate the journal syncs 2017-02-03 09:04:56 -05:00
Justin Bertram 1752814197 ARTEMIS-922 implement purge semantics 2017-01-31 08:37:05 -06:00
Howard Gao 5f3159f4c8 ARTEMIS-932 2 brokers can be started using the same store 2017-01-27 15:45:32 -05:00
Justin Bertram 113b28577c ARTEMIS-873 support byte notation in XML config 2017-01-19 10:32:38 -05:00
Will Reichert 3347a4fd27 ARTEMIS-928 Changing Netty and InVM to copy buffers, and retain them on the Netty Polls. 2017-01-18 16:59:32 -05:00
Clebert Suconic 7a7f335271 ARTEMIS-962 Adding test for CME when parsing system properties and a few tweaks 2017-01-18 16:18:05 -05:00
Jeff Mesnil 5ae47e8c3c ARTEMIS-962 Fix CME when parsing system properties
Add synchronized block against the properties before iterating on them.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-926
2017-01-18 15:56:35 +01:00
Martyn Taylor 118c272c77 ARTEMIS-560 Add Support For JDBC Paging 2017-01-17 14:58:53 -05:00
Justin Bertram 8cf94623a4 ARTEMIS-922 Rename deleteOnNoConsumers throughout
The name "deleteOnNoConsumers" isn't a good match for the semantics underneath.
The name "purgeOnNoConsumers" (and variants) is a better fit.
2017-01-17 11:40:56 -06:00
Justin Bertram 0d1fa83181 ARTEMIS-922 Addressing-related API clean-up 2017-01-16 14:40:42 -05:00
Clebert Suconic 599aaa5345 ARTEMIS-921 Fixing Slow Consumer when multiple consumers on same queue 2017-01-16 11:37:12 -05:00
Howard Gao 90cf239829 ARTEMIS-921 Consumers killed as slow even if overall consuming rate is above threshold 2017-01-16 11:37:12 -05:00
Justin Bertram 22c6a81135 ARTEMIS-914 use defaults for ReplicaPolicy 2017-01-11 14:18:16 -05:00
Clebert Suconic 9f9ffc1ff5 ARTEMIS-913 Slow consumer detection not working when paging 2017-01-09 12:34:13 -05:00
Justin Bertram f1d67df5e6 ARTEMIS-899 don't log stack trace on authn failure 2017-01-09 12:17:48 -05:00
Andy Taylor 6af85a2cc4 couple of small changes to JMX mbeans - no jira 2017-01-09 13:40:14 +00:00
Andy Taylor 83e83e7d87 ARTEMIS-911 - increase ack variable on individualAcknowledge
https://issues.apache.org/jira/browse/ARTEMIS-911
2017-01-09 13:40:14 +00:00
Dejan Bosanac 668f4721f0 https://issues.apache.org/jira/browse/ARTEMIS-815 - implement configurable wildcard addresses syntax
Rename WildCardConfigurationTest.java to WildcardConfigurationTest.java

adjust schema
2017-01-04 09:44:03 -06:00
Clebert Suconic b9a7e152f7 ARTEMIS-900 fix compatibility after address changes 2016-12-21 19:40:35 -05:00
Clebert Suconic 1bed2c9512 NO-JIRA cli improvements 2016-12-16 18:46:46 -06:00
Clebert Suconic df1ec5bc49 NO-JIRA: Fixing QueueCommandTest::autoDeleteAddress 2016-12-16 18:07:16 -05:00
Martyn Taylor e29b3913ac NO-JIRA Check Style Fix 2016-12-16 15:16:02 +00:00
Martyn Taylor 3e0ad2268b NO-JIRA Fix Issue with Auto Create Address 2016-12-16 09:06:59 -06:00
Francesco Nigro 03cc566c5d ARTEMIS-878 Fix compilation and tests 2016-12-16 09:34:02 -05:00
jbertram 31b5bdb026 NO-JIRA properly destroy JMS topic 2016-12-16 13:20:39 +00:00
Clebert Suconic 6e4388f109 NO-JIRA updating journal print-data with Address Binding 2016-12-16 13:15:28 +00:00
jbertram 49f1c9935c NO-JIRA move divert specific routing types 2016-12-15 17:53:50 -05:00
jbertram 6cb6e95c9b ARTEMIS-789 tests/fixes for auto create/delete 2016-12-15 17:53:50 -05:00
Martyn Taylor 55fbcfebf8 Do not autoDelete address if it was not autoCreated 2016-12-15 17:13:09 +00:00
Francesco Nigro 0a4d1b38c8 ARTEMIS-878: Improved CLI commands 2016-12-15 13:41:30 +00:00
jbertram 29edd44d24 ARTEMIS-880 expand prefix support to consumers 2016-12-14 15:12:57 -06:00
jbertram 3af1e5c734 ARTEMIS-789 AMQP tests for routing semantics 2016-12-14 15:12:57 -06:00
Clebert Suconic 332338d018 ARTEMIS-890 Improving Paging consistencies with broker.persistent = false. Block, Page and Drop will now work under non persistent 2016-12-14 14:36:33 -05:00
jbertram ba1c83e1ed Fix BackupAuthenticationTest 2016-12-13 21:08:36 -06:00
jbertram 2290ab40c3 Fix bug in createQueue invocation chain 2016-12-13 17:58:10 -06:00
jbertram 3150759806 ARTEMIS-880 use built-in prefixing for STOMP 2016-12-13 15:05:43 -06:00
Martyn Taylor 7f658cad21 ARTEMIS-788 Enable auto create and Prefix in MQTT 2016-12-13 15:54:50 -05:00
jbertram 02f5f5c01d ARTEMIS-789 add tests; fix bugs from tests
Add some routing and createQueue tests to deal with new semantics.
Also fix a few bugs exposed by the new tests.
2016-12-12 17:01:52 -06:00
Martyn Taylor 8655d1a3d8 ARTEMIS-780 Check for HDR_ROUTING_TYPE in PostOffice 2016-12-12 15:33:31 -05:00
Martyn Taylor 6682072da6 Major Version Bump 2.0.0 After Major Arch Change 2016-12-09 18:43:15 +00:00
jbertram fa67d40b9d ARTEMIS-789 Fixed a number of failing tests 2016-12-09 18:43:15 +00:00
jbertram fe52ca6d75 ARTEMIS-881 Support new address-settings for auto-create queue 2016-12-09 18:43:15 +00:00
jbertram af27714026 ARTEMIS-813 Ensure no duplicate journal records on address update 2016-12-09 18:43:15 +00:00
Francesco Nigro 6ab133ab89 ARTEMIS-878 Added/Modified CLI commands and tests 2016-12-09 18:43:15 +00:00
Martyn Taylor 8f532cc25d ARTEMIS-880 Add support for address prefixing 2016-12-09 18:43:15 +00:00
Andy Taylor 224f62b295 ARTEMIS-877 Add Consumer support for AMQP for new addressing schema 2016-12-09 18:43:15 +00:00
jbertram b742a357c5 ARTEMIS-876 Deprecate JMSServerManager and update JMS bootstrap 2016-12-09 18:43:15 +00:00
jbertram 683ae68989 ARTEMIS-789 Fix Failing Tests 2016-12-09 18:43:15 +00:00
Andy Taylor 74d0a1a818 ARTEMIS-784 Add new JMX methods and update JMX API 2016-12-09 18:43:15 +00:00
Martyn Taylor a20b23bf37 ARTEMIS-787 Update CORE Protocol/Client Packets 2016-12-09 18:43:15 +00:00
Martyn Taylor 279383a798 ARTEMIS-780 Update Shared Queue API to use Address model 2016-12-09 18:43:15 +00:00
jbertram c480351c11 ARTEMIS-780 Consolodate protocol packets and new Address/Queue commands 2016-12-09 18:43:15 +00:00
Martyn Taylor 7a51491c32 ARTEMIS-780 Added ability to define 2 Routing Types on a single addres 2016-12-09 18:43:15 +00:00
jbertram 0861be14c1 ARTEMIS-789 Fix various failing tests due to addressing changes 2016-12-09 18:43:15 +00:00
Martyn Taylor ec8f06138c ARTEMIS-878 Update the CLI to incorporate Addresses and new Queue 2016-12-09 18:43:15 +00:00
jbertram a88853fe53 ARTEMIS-788 Stomp refactor + track autocreation for addresses 2016-12-09 18:43:15 +00:00
Andy Taylor 0189f156ec ARTEMIS-876 Remove JMS JMX Objects and add new Address JMX objects 2016-12-09 18:43:15 +00:00
Martyn Taylor 0006627d12 ARTEMIS-876 Internalise Cluster Namespace and remove JMS Prefix 2016-12-09 18:43:15 +00:00
jbertram 84e8a87325 ARTEMIS-876 Remove all reliances on JMS prefixing 2016-12-09 18:43:15 +00:00
Martyn Taylor 89e6ec36bb ARTEMIS-780 Implement MaxConsumers and DeleteOnNoConsumers 2016-12-09 18:43:15 +00:00
jbertram 18c6d3035f ARTEMIS-813 Added persistence objects for new address model 2016-12-09 18:43:15 +00:00
Martyn Taylor 2d02a26527 ARTEMIS-780 Added ANYCAST routing to local queues 2016-12-09 18:43:15 +00:00
jbertram 5e7475115d ARTEMIS-781 Add journal record for address binding 2016-12-09 18:43:15 +00:00
Martyn Taylor abdeb72eb7 ARTEMIS-782 Added configuration elements for new address model 2016-12-09 18:43:15 +00:00
Clebert Suconic ebbc91c728 [maven-release-plugin] prepare for next development iteration 2016-12-06 16:59:52 -05:00
Clebert Suconic 5bcbea2517 [maven-release-plugin] prepare release 1.5.1 2016-12-06 09:47:43 -05:00
Clebert Suconic 9c5a91b481 ARTEMIS-748 Negative Address Size after paging 2016-12-01 21:38:19 -05:00
Andy Taylor 2d81f0a8d0 ARTEMIS-866 - quorum fixes
remove reconnect attempt as it serves no purposes as replication has stopped anyway.

Ensure if vote fails thatthe latch is counted down to avoid delay.

If we can't detect live has failed signal failure in replicating.

https://issues.apache.org/jira/browse/ARTEMIS-866
2016-11-29 07:31:23 +00:00
Dmitrii Tikhomirov 3995319dca ARTEMIS-865 Remove e.printStackTrace() from code 2016-11-23 11:15:54 -05:00
Clebert Suconic 402f25be7d ARTEMIS-473/ARTEMIS-863 Detect network failures 2016-11-23 10:14:14 -06:00
Howard Gao 1487fe6bdd ARTEMIS-864 Sending to a destroyed temp queue didn't get exception 2016-11-22 19:42:38 +08:00
Will Reichert 127ce3a84a NO-JIRA: change netty leak detection override to only disable if not specified on command line 2016-11-17 10:48:28 -05:00
Clebert Suconic 9009d12b5a ARTEMIS-851 Allowing broker configuration to be changed through system properties
This will use Bean Utilities to change propertyes at the main configuration.
2016-11-16 14:41:18 +00:00
Clebert Suconic 5acb6953a6 ARTEMIS-846 Disk full should be informed during blocking as well
https://issues.apache.org/jira/browse/ARTEMIS-846
2016-11-09 14:47:06 -05:00
Clebert Suconic b8104f6b7e NO-JIRA: Test fixes and speed ups 2016-11-09 14:35:47 -05:00
Howard Gao 4691cbe882 ARTEMIS-842 JMSMessageID doesn't appear to work in selector 2016-11-08 09:52:12 +08:00
Clebert Suconic 3ead28f587 NO-JIRA: Removing System.out debug 2016-11-04 09:52:34 -04:00
Clebert Suconic f2db1c4337 [maven-release-plugin] prepare for next development iteration 2016-11-03 15:35:05 -04:00
Clebert Suconic 13a8a2bd40 [maven-release-plugin] prepare release 1.5.0 2016-11-03 15:34:54 -04:00
Clebert Suconic 1b1b0150c2 NO-JIRA: Pre-release check, adding properties on ConfigurationImpl::equals 2016-11-03 14:52:33 -04:00
Howard Gao cd7b838952 ARTEMIS-786 Store user's password in hash form by default
- user passwords for PropertiesLoginModule stored using PBKDF2 algothrim
    by default
  - implements cli user command to help create and manage user/roles
  - adds a mask cli command to mask passwords
2016-11-02 14:59:00 -04:00
Clebert Suconic 5e5ac0f057 ARTEMIS-832 Openwire was ignoring data syncs.
I'm also adding the possibility of sync on libaio, and not only relay on write-cache
2016-11-02 13:17:12 -05:00
Howard Gao 8c1ec12b33 ARTEMIS-835 Quick restart of broker will leave tmp dir dirty
- Added a timeout wait on each web context's tmp dir in
    WebServerComponent.stop() method.
2016-11-02 13:43:51 -04:00
Clebert Suconic 7eadff7681 ARTEMIS-822 Injecting IO Pools into and from ArtemisServerImpl
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-31 11:34:27 -04:00
Clebert Suconic 6afde8f45a ARTEMIS-822 Review journal threading model
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-28 16:54:59 -04:00
Clebert Suconic bfb9bedb2d ARTEMIS-828 Queue browsing can be out of sync while paging
https://issues.apache.org/jira/browse/ARTEMIS-828
2016-10-28 16:54:58 -04:00
Bennet Schulz 4b5cbb86aa ARTEMIS-830 Remove cyclic dependencies
Removes cyclic dependencies between classes and packages in the artemis-jdbc-store projetct by moving classes and methods to other locations and reducing the visibility of classes, fields and methods. Solving cyclic dependencies is important to keep the codebase maintainable. Scenarios where "everything uses everything" should be avoided.
2016-10-28 16:32:04 -04:00
Clebert Suconic e49eda9664 NO-JIRA fixing byteman (extra tests)
Two issues encountered here:

i - ClosingConnectionTest was intermittently breaking other tests, in particular it was breaking PagingLeakTest for no apparent reason
  . apparently it was a dead lock from removeAddress on the ServerController

ii - it still showing issues after removing the not needed synchronziation. Since the test is not really needed I am just removing the offending test.
2016-10-28 16:32:04 -04:00
Benjamin Graf 20183f94a4 NO-JIRA: Fix checkstyle false friend 2016-10-28 19:09:41 +02:00
Ulf Lilleengen 1b7033a20e ARTEMIS-824: Add management routines for connector services 2016-10-26 10:11:11 +02:00
bayern39 e95e4f775b ARTEMIS-816 Log warning during boot if no dead letter/expire address is configured 2016-10-22 11:30:55 +08:00
Clebert Suconic a074f9f1a5 ARTEMIS-753 Queue Pause and Resumed persisted 2016-10-21 20:26:23 -04:00
Howard Gao 9c16ba26be ARTEMIS-812 The countDelta attribute showing negative values 2016-10-21 17:13:41 +08:00
Benjamin Graf 2020dcd290 ARTEMIS-793 Improvement to OSGi integration 2016-10-19 22:03:00 +02:00
bayern39 b08b91a32f ARTEMIS-802 Broker does not throw exception on divert with no name 2016-10-19 15:37:02 -04:00
Clebert Suconic ac69fed4e7 [ARTEMIS-708] small improvements on remove call from DelayedAddRedistributor 2016-10-19 15:34:37 -04:00
bayern39 028f92ffa5 [ARTEMIS-708] Incorrect ConcurrentHashSet.remove call in QueueImpl.DelayedAddRedistributor.run 2016-10-19 15:04:52 -04:00
Clebert Suconic 813f2532d8 NO-JIRA: just adding some javadoc on ReloadManager 2016-10-19 14:46:38 -04:00
Clebert Suconic b7d79f328f NO-JIRA: a few additions and tweaks around OSGI 2016-10-19 13:19:10 -04:00
jbertram 1945f836af ARTEMIS-804 log ref when no DLA configured 2016-10-18 16:15:58 -05:00
Jeff Mesnil c1ecddcb71 [ARTEMIS-803] Fix colocated backups with http-upgrade acceptor
*  Do not offset ports for Netty connector/acceptor with http-upgrade
enabled.
* Pass the name of the ActiveMQ server to the HTTP request to initiate
the Upgrade so that the HTTP endpoint on the app server can find the
correct ActiveMQ broker that must handle the upgrade.

JIRA: https://issues.apache.org/jira/browse/ARTEMIS-803
2016-10-18 09:00:36 -04:00
Clebert Suconic 6483123417 ARTEMIS-801 Dealing properly with Spaces and Special Characters on broker 2016-10-17 22:04:21 -04:00
Erich Duda c183ed9cc1 ARTEMIS-801 Decode URL paths
If the path to file contains some special characters, they are encoded
in URL form using %<hex> syntax. We should decode such path when it
is used as path to file on local filesystem.
2016-10-17 22:04:21 -04:00
Ville Skyttä a3527869b4 Fix NPE in JAAS PropertiesLoader when in debug mode without baseDir 2016-10-13 00:25:45 +03:00
Ville Skyttä 65342a5ad2 javadoc: Fix doclint syntax errors 2016-10-10 10:02:49 +02:00
Ville Skyttä 9a439b4791 javadoc: Fix doclint reference errors 2016-10-10 10:02:49 +02:00
Ville Skyttä 3b9ed795d1 javadoc: Fix doclint html errors 2016-10-10 10:02:49 +02:00
jbertram c47a9a5f80 ARTEMIS-761 fix possible dup journal record ID 2016-10-07 18:50:44 -04:00
jbertram 59bff3b36b ARTEMIS-767 consumer with pre-ack flagged as slow 2016-10-07 14:47:21 -04:00
Christopher L. Shannon (cshannon) 5b833efc1b NO-JIRA: Exclude xml-apis test dependency
This dependency is not needed as the api is part of the JDK and it is
causing issues when m2eclipse
2016-10-07 10:52:47 -04:00
Martyn Taylor 95c4fdd408 ARTEMIS-762 Reflect management changes in AMQP protocol 2016-10-07 10:38:01 -04:00
Ville Skyttä 1714f8a76d Spelling fixes 2016-09-30 13:24:08 -04:00
Ville Skyttä 082b75bb3d More use of try-with-resources 2016-09-30 13:17:26 -04:00
Clebert Suconic ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
jbertram a6974596a0 ARTEMIS-739 fix large msg file leak on copy 2016-09-28 14:20:07 -04:00
Francesco Nigro b4225832e0 ARTEMIS-759 Improve exception message on queue configuration builder 2016-09-28 13:45:17 +02:00
jbertram e53998bf3b ARTEMIS-755 Fix divert MBean warning 2016-09-27 10:38:43 -05:00
Ville Skyttä 1a4fe92802 Fix WaitNotInLoop issues flagged by new Error Prone 2016-09-27 14:28:29 +03:00
Ville Skyttä f2c2ed32da Fix closing quorums on QuorumManager.stop 2016-09-26 13:38:08 -04:00
Ville Skyttä 056920e6ab Don't generate unnecessary ID's on divert 2016-09-26 13:35:30 -04:00
Ville Skyttä b69af66f47 Expose disk-scan-period, max-disk-usage, and global-max-size in server control 2016-09-26 13:33:23 -04:00