Commit Graph

1609 Commits

Author SHA1 Message Date
jbertram 43b421a588 ARTEMIS-289 potential ConcurrentModificationException 2015-10-29 13:41:29 -05:00
jbertram fe4dafedcb ARTEMIS-168 - pluggable authorization 2015-10-27 10:12:22 -04:00
jbertram d03541a460 Fix incorrect ID on WARN message 2015-10-27 10:12:21 -04:00
Andy Taylor dd402f4f91 ARTEMIS-282 - remove unneeded check on file lock creation
https://issues.apache.org/jira/browse/ARTEMIS-282
2015-10-27 10:10:57 +00:00
Clebert Suconic 15b8b8138b Improving forceGC method on ActiveMQTestBase 2015-10-26 11:02:53 -04:00
Erich Duda 7970b6e6f8 SessionCloseOnGCTest#testCloseOneSessionOnGC: enforce that Finalizer will be called after garbage collector 2015-10-26 10:53:48 -04:00
Ville Skyttä 86b89306d7 Improve "protocol property is deprecated" message, use constants in it 2015-10-25 09:42:57 +02:00
Ivo Studensky 8a2ecff4fd ARTEMIS-274 ActiveMQThreadFactory has to be constructed within doPrivileged block 2015-10-22 09:30:14 -04:00
Clebert Suconic 9a98684846 ARTEMIS-197 fixing examples by using proper location on folders 2015-10-21 16:43:10 -04:00
Martyn Taylor 6aae2cc5f1 ARTEMIS-273 Use data locations not dir in moveData 2015-10-21 11:54:41 +01:00
Julian Scheid aa492fb9b6 ARTEMIS-271 Expose HttpRequest in WebSocketServerHandler 2015-10-20 18:24:09 -04:00
Julian Scheid aa7696e329 ARTEMIS-270 Supply RemotingConnection for authorization 2015-10-20 18:23:41 -04:00
jbertram ef5a9809f2 ARTEMIS-256 orchestrate failback deterministically
The failback process needs to be deterministic rather than relying on various
incarnations of Thread.sleep() at crucial points. Important aspects of this
change include:

1) Make the initial replication synchronization process block at the very
last step and wait for a response from the replica to ensure the replica has
as the necessary data. This is a critical piece of knowledge during the
failback process because it allows the soon-to-become-backup server to know
for sure when it can shut itself down and allow the soon-to-become-live
server to take over. Also, introduce a new configuration element called
"initial-replication-sync-timeout" to conrol how long this blocking will occur.

2) Set the state of the server as 'LIVE' only after the server is fully
started. This is necessary because once the soon-to-be-backup server shuts
down it needs to know that the soon-to-be-live server has started fully before
it restarts itself as the new backup. If the soon-to-be-backup server restarts
before the soon-to-be-live is fully started then it won't actually become a
backup server but instead will become a live server which will break the
failback process.

3) Wait to receive the announcement of a backup server before failing-back.
2015-10-20 14:55:31 -04:00
Andy Taylor 98c2aa433f ARTEMIS-262 Fix Bridge OOM exception
Netty 4.x uses pooled buffers.  These buffers can run out of memory when
transferring large amounts of data over connection.  This was causing an
OutOfMemory exception to be thrown on the CoreBridge when tranferring
large messages.  Netty provides a callback handler to notify listeners
when a Connection is writable.  This patch adds the ability to register
connection writable listeners to the Netty connection and registers the
relevant callback from the Bridge to avoid writing when the buffers are
full.
2015-10-19 10:32:59 +01:00
Clebert Suconic 360338a362 NO-JIRA making sure there wouldn't be duplicates out of transaction timeout 2015-10-17 00:26:44 -04:00
Clebert Suconic 6bf1241628 ARTEMIS-257 cleaning up dependencies on artemis-core-client 2015-10-13 10:44:49 -04:00
Clebert Suconic a5fab2754d ARTEMIS-252 fixing tests 2015-10-12 17:21:36 -04:00
Clebert Suconic 2a81a5f146 ARTEMIS-252 retryMessages retrying to topic subscriptions + some ammends to #193 2015-10-12 17:03:53 -04:00
Petter Nordlander 7afe87996b ARTEMIS-252 added jmx operations to retry messages 2015-10-12 17:03:42 -04:00
jbertram 6ed9c5ae91 ARTEMIS-74 import JAAS auth from 5.x
This change allows the use of JAAS login modules for basic authentication
and authorization.
2015-10-09 11:42:22 -05:00
Clebert Suconic 206acdac7d ARTEMIS-238 and ARTEMIS-236 Fixing Legacy protocol support 2015-10-08 20:32:43 -04:00
Andy Taylor 35ab56fd91 ARTEMIS-244 - fixed property name
https://issues.apache.org/jira/browse/ARTEMIS-244
2015-10-08 12:15:21 +01:00
Andy Taylor 38a809fded ARTEMIS-243 - fix possible null pointer
https://issues.apache.org/jira/browse/ARTEMIS-243
2015-10-08 12:15:21 +01:00
Clebert Suconic 4eb669f035 ARTEMIS-151 avoiding duplicate config of acceptors 2015-10-07 22:07:05 -04:00
Clebert Suconic c3448e7029 ARTEMIS-151 Fixing tests 2015-10-07 18:48:26 -04:00
Julian Scheid fe16ffe068 ARTEMIS-227 allow adding STOMP interceptor instances 2015-09-25 14:56:26 -04:00
Julian Scheid f64c435727 ARTEMIS-228 accept binary WebSocket frames 2015-09-25 14:37:21 -04:00
Julian Scheid 6890f126cb ARTEMIS-229 validate user and role with address 2015-09-25 15:58:15 +02:00
Clebert Suconic 4cdcc618ff ARTEMIS-232 Fixing logs 2015-09-24 22:31:29 -04:00
Clebert Suconic fcdfbdb82e ARTEMIS-231 fixing wrong notification exceptions 2015-09-24 22:31:28 -04:00
Clebert Suconic 1add10abfd ARTEMIS-223 Testcase replicating issue 2015-09-11 13:21:50 -04:00
Clebert Suconic cc88be51e4 ARTEMIS-219 fixing path resolution for windows
https://issues.apache.org/jira/browse/ARTEMIS-219

The fix will basically use Path.resolve insead of URI.resolve
2015-09-08 10:29:29 -04:00
Clebert Suconic 90d05bb17d Improving openwire tests on the integration-testsuite
In one situation I have seen a failrue on ProducerFlowControl to break everything else from here
This change will both avoid the failure and change the report of leaked threads so we can find them easily on the system.out when it happens (for future debugging)
2015-09-03 19:16:19 -04:00
jbertram ea9609c579 ARTEMIS-211 Memory leak using wildcard topic 2015-09-02 15:47:00 -05:00
Clebert Suconic 511bfc7e15 ARTEMIS-187 Hold lock between server running and data tools to avoid data damaged 2015-08-31 17:38:43 -04:00
Clebert Suconic 8d98fc395f Refactoring Auth
this is doing some refactoring, making the SecurityStore mechnism possible to be reused on other protocols,
without forcing them to implement ServerSession on checks that won't fit the Server Model from Artemis
2015-08-28 15:04:59 -04:00
Clebert Suconic 8935483cdd ARTEMIS-208 fixing BrokerInfo, using OpenWire connection instead of static property on the protocolManager 2015-08-24 22:54:59 -04:00
Howard Gao 34e127cc0c ARTEMIS-208 BrokerInfo issue, also:
enlarged the default max size for tests to avoid send blocking.
2015-08-24 22:54:12 -04:00
Clebert Suconic 0771ba511c Improving bootstraping / CLI
- Added a method on Bootstrap class that could be used on embedding a server
2015-08-24 21:30:03 -04:00
Clebert Suconic 030f2fc59a Revert "ARTEMIS-187 hold lock between live server and tools"
This reverts commit f0f4f1684d.

Sorry about this.. I will rework this and send a commit again
2015-08-14 01:02:39 -04:00
Clebert Suconic 154e9d610d fixing tests 2015-08-14 00:44:39 -04:00
Clebert Suconic f0f4f1684d ARTEMIS-187 hold lock between live server and tools
This should avoid users damaging data while the server is running (by for instance running compact while the server is running)

https://issues.apache.org/jira/browse/ARTEMIS-187
2015-08-13 23:57:49 -04:00
Clebert Suconic 1dae99746b ARTEMIS-204 Improvements on OpenWire
https://issues.apache.org/jira/browse/ARTEMIS-204

by consequence this will also fix any possible issues with AMQP
2015-08-13 20:39:01 -04:00
jbertram 231079b8be Fix apostrophes in logging statements 2015-08-12 10:25:14 -05:00
jbertram 3bb88c60ca ARTEMIS-179 fix scale-down 2015-08-10 10:23:30 -05:00
jbertram 682cad63f3 ARTEMIS-179 Do not reconnect bridge on DISCONNECT
Note: this breaks scale-down because the bindings are removed.
2015-08-10 10:22:21 -05:00
Clebert Suconic 5ac2c2444b manual checkstyle changes 2015-08-10 10:08:23 -04:00
Clebert Suconic bac96047f5 automatic checkstyle change
this is just calling Idea format on all the files using the new style
I am separating manual changes from automatic changes in case I have to repeat the manual changes again
2015-08-10 09:26:42 -04:00
Clebert Suconic 138bfe9682 Removing 'created by' comments 2015-08-07 15:17:24 -04:00
Andy Taylor 81756739bb ARTEMIS-186, ARTEMIS-188 and some refactoring
refactoring and simplifying some of the connection state code and removing stuff we dont need. Also removed some of maps used and removed the need for lots of lookups

https://issues.apache.org/jira/browse/ARTEMIS-186

Added message pull support for zero prefetch consumers

https://issues.apache.org/jira/browse/ARTEMIS-188

Added consumer flow control
2015-08-06 09:49:46 +01:00
Ryan Emerson 699a7ca7ef [ARTEMIS-147] Add WARN log when setting connection-ttl OR connection-ttl-override equal to check-period.
Now works when ARTEMIS is deployed in an application server as well as standalone.
2015-08-05 08:59:40 -04:00
Clebert Suconic 7cfc33790d ARTEMIS-162 Fix non serializable JGroups on Configuration clone used on Colocated support
https://issues.apache.org/jira/browse/ARTEMIS-162
2015-08-03 23:39:35 -04:00
jbertram fc14e31aa7 ARTEMIS-179 excessive cluster bridge retry logging
The information about the bridge connection retries is already logged
at DEBUG level elsewhere and a WARN message is already logged when the
connection dies in the first place. I don't see any good reason to
keep this logging here.
2015-08-03 08:24:28 -04:00
Clebert Suconic 6fe9e0ebd6 ARTEMIS-163 First pass on the native AIO refactoring
https://issues.apache.org/jira/browse/ARTEMIS-163

On this pass I'm just converting the native layer to a simpler one.
It wasn't very easy to change the alignment at the current framework,
so I did some refactoring simplifying the native layer

The volume of the nubmer of changes here is because:

- The API is changed, we now don't close the libaio queue between files
- The native layer won't use malloc as much as it used to, saving some CPU and memory defragmentation
- I organized the code around nio and libaio
2015-07-29 22:12:03 -04:00
Clebert Suconic d002da8506 mqtt improvement over retained queue 2015-07-27 10:32:20 -04:00
Ville Skyttä b0a80ce1be Spelling fixes 2015-07-09 10:41:03 -04:00
Martyn Taylor 19dc0594e5 Set default password properly in security manager
The current Security Manager implementation was returning the username
instead of the default password when validating  the default user.

This patch returns the correct value and cleans up the validate method.
2015-07-08 16:25:11 +01:00
Ryan Emerson 6b13b3bf97 Add WARN log when setting connection-ttl OR connection-ttl-override equal to check-period. 2015-06-29 09:54:29 +01:00
Clebert Suconic aa4a06329f [ARTEMIS-144] adding Browse and a few other improvements 2015-06-25 15:02:05 -04:00
jbertram bf9f6d213b ARTEMIS-104 missing i18n warns 2015-06-24 14:05:40 -05:00
jbertram 7c066c0ee4 ARTEMIS-105 forceFailover always throws exception 2015-06-24 09:47:13 -05:00
Clebert Suconic 077a416ee0 Improving up time of some tests 2015-06-23 16:35:44 -04:00
Otavio Rodolfo Piske f47d1bd15a ARTEMIS-129 removes empty package-info.java files
As describes in ARTEMIS-129, performs a small cleanup on the codebase by removing empty package-info.java files.
2015-06-23 10:50:13 -04:00
Clebert Suconic 18890cdcf5 ARTEMIS-142 more fixes on tests 2015-06-22 19:50:16 -04:00
Clebert Suconic ff6cd8d18f Fixing test that was using reflection by exposing a few properties on the RemotingServiceImpl 2015-06-22 09:46:15 -04:00
jbertram aa5ff90807 ARTEMIS-141 Move classloading into ServiceRegistry 2015-06-22 09:04:24 -04:00
Andy Taylor eb54800f57 change the protocol decoder to check for a FullHttpRequest instead of a DefaultFullHttpRequest.
This change is needed after upgrading netty which now has slightly different semantics around http.
2015-06-18 11:25:44 +01:00
Clebert Suconic 4388923527 ARTEMIS-139 data.folder related to artemis
https://issues.apache.org/jira/browse/ARTEMIS-139

I'm using the constructors on File(parent, filename) now with the home directory
2015-06-17 14:10:54 -04:00
jbertram ba7a991b11 ARTEMIS-92 API update to add transformers 2015-06-17 13:02:53 -05:00
jbertram f60950cd3d ARTEMIS-90 add acceptor factory to service registry 2015-06-17 13:59:51 -04:00
Andy Taylor 48fe4404b5 ARTEMIS-131 - Replicated server is not activating over certain killed scenarios
https://issues.apache.org/jira/browse/ARTEMIS-131

the connection failure listener doesnt get called in some circumstances so ive added a session failure listener as well
2015-06-17 13:57:03 +01:00
Howard Gao 120def7c84 Minor change -- a log typo. 2015-06-17 11:16:35 +08:00
jbertram adb9ccd013 [ARTEMIS-92] Transformer instance injection 2015-06-16 13:24:35 -05:00
Clebert Suconic 51c34c87d2 ARTEMIS-136 - XA Error fix with proper exception error
https://issues.apache.org/jira/browse/ARTEMIS-136

From what I researched from implementers of XA TM if you throw ERR over communication errors the transaction manager will create
an heuristic transaction to be manually dealt with.

Other XA Implementations (such as Oracle JDBC) are return FAIL over communication failures during any XA operation.
2015-06-15 16:34:55 -04:00
jbertram cb4d2e046e ARTEMIS-109 restore optional divert routing name 2015-06-11 16:28:06 -05:00
John D. Ament 8aa598f594 ARTEMIS-91 Separated out interface for ServiceRegistry. Provided a getter in the ActiveMQServer interface. 2015-06-10 22:48:48 -04:00
Clebert Suconic f31fb2c8f9 fixing javadoc options on the server project 2015-06-09 17:04:20 -04:00
Daniel Kulp 419a3cc213 Start working on trying to get the javadoc stuff to pass without the lint stuff.
"mvn install" now works without the lint, but a "mvn install javadoc:jar" still fails.   Since that is what the release plugin uses, need to keep the lint there for now.  Still lots of failures.
2015-06-09 15:29:58 -04:00
jbertram 20326d0d83 ARTEMIS-19 allow disabling of message load-balancing 2015-06-03 16:21:43 -05:00
Thiago Kronig d48b4f4770 ARTEMIS-129 License header should be a normal comment
To reproduce this commit, apply a replace regex rule using:

    search regex: /\*\*\n \* Licensed
    replace: /\*\n \* Licensed

These files had to be changed manually:

    artemis-selector/src/main/javacc/HyphenatedParser.jj
    artemis-selector/src/main/javacc/StrictParser.jj
    artemis-website/src/main/resources/styles/impact/css/pygmentize.css
    artemis-website/src/main/resources/styles/impact/css/site.css
2015-06-03 10:19:45 -04:00
Clebert Suconic a6b8a09b65 Cleanup issues reported by error prone
We had a few reported small issues on the codebase from the recent introduced google error prone.
This should eliminate any issues, and I am making sure these won't happen again
2015-05-28 23:49:59 -04:00
mnovak 0cd7874f83 ARTEMIS-125 Shared backup server with disabled scale down policy does not activate itself.
If standalone backup server with shared has defined scale-down policy
but it's disabled then backup does not activate. Problem is that
server is checking only whether scale down is defined but if it's
enabled. This causes that server.stop() is called and backup does
not activate.
2015-05-28 11:34:10 -04:00
Clebert Suconic fbe0508350 Adding timestamp to print-data
This is a simple change to add the timestamp on toString which will appear on print-data
2015-05-28 11:20:37 -04:00
jbertram 328611fdc9 More test-suite refactoring
Lots of work on the test-suite in this commit including:
- Rename ServiceTestBase to ActiveMQTestBase
- Make AddressSettings fluent
- Remove unnecessary tearDown() implementations
- Use ActiveMQTestBase.create*Locator() instead of
  ActiveMQClient.createServerLocator*(..)
- Use fluent ServerLocator methods
- Make sure all ActiveMQServers.newActiveMQServer invocations
  are surrounded with addServer() where appropriate
- Create a few example tests to be references from hacking-guide
- Update hacking-guide with more info on writing tests
- Refactor config creation methods in ActiveMQTestBase
2015-05-28 08:49:02 -05:00
Thiago Kronig b6093579bf Explicit byte[].toString(..) in debug message 2015-05-21 19:45:01 -04:00
jbertram a9f475ee47 Fix test config
This configuration should not have a "data" folder hence should not
have persistence enabled.
2015-05-19 16:19:03 -05:00
jbertram 4b833cf5e7 ACTIVEMQ6-111 journal dir created even if persistence disabled 2015-05-19 16:16:51 -05:00
jbertram 99147d0713 Refactor base test classes
This has bothered me for awhile, but writing the hacking guide has
given me an opportunity to refactor some of our test-suite to be
simpler, more consistent, and easier to understand. This is
important if we want users to provide well-written tests. Our
test-suite is an important part of the code-base and it should be
easy to write good tests.

Basically I just consolidated CoreUnitTestCase, UnitTestCase, and
ServiceTestBase into a single class named ServiceTestBase. I also
simplified some of the configuration creation methods to reduce
duplicated code.
2015-05-19 15:27:13 -05:00
Clebert Suconic f81fe0433a Relaxing a WARN message into DEBUG that should been ignored anyways 2015-05-19 15:41:18 -04:00
Clebert Suconic 3e07a03ce5 Changing default host to 0.0.0.0 by default and allowing it to be configured during create
This is changing the default host to 0.0.0.0 per feedback from the community (activemq dev-list)
however if clustered is used some input or other properties will get input during the create process
I've also done some other changes based on some small issues I have encountered
2015-05-19 11:27:58 -04:00
jbertram 8561d60f54 ACTIVEMQ6-110 getDeliveringMessages() broken 2015-05-18 13:57:41 -05:00
Thiago Kronig 3c6e213f66 Topology executor should be final 2015-05-14 18:26:04 -03:00
Thiago Kronig 031220b185 Fix FileConfigurationTest for Windows
The test wrongly assumes that Class.getResource(..) needs to specify the
System line-separator. The contract for the method dictates:

    "If the name begins with a '/' ('\u002f'), then the absolute name of
     the resource is the portion of the name following the '/'."

Also, it manipulates File.getAbsolutePath() in a way that generates wrong
URL for Windows.
2015-05-14 00:39:01 -03:00
Martyn Taylor a17c828b85 Ensure all references to the project use ActiveMQ Artemis 2015-05-13 11:51:26 +01:00
jbertram 2cbeedab89 Clean up 'ActiveMQ' refs in literals 2015-05-11 11:23:35 -05:00
Andy Taylor 60906e3754 ACTIVEMQ6-102 - fix check for scaledown when creating journal loader
https://issues.apache.org/jira/browse/ACTIVEMQ6-102
2015-05-11 10:19:32 -04:00
Martyn Taylor a176a542aa Log the protocol module name on boot 2015-05-07 14:59:46 -04:00
Martyn Taylor 77efc950af ACTIVEMQ6-100 Add support for HornetQ clients 2015-05-07 14:59:46 -04:00
Martyn Taylor f07af67632 Changed core protocol handshake to use ARTEMIS 2015-05-07 14:46:48 +01:00
jbertram 03d1a9df8b ACTIVEMQ6-96 ensure connectionsAllowed work on invm acceptor URI 2015-05-05 10:51:33 -05:00
jbertram f509ce7519 ACTIVEMQ6-70 broker resource limits
Implements basic limits on the number of connections and number of
queues a particular user can create to/on the broker.
2015-05-04 20:37:20 -05:00
jbertram 3eb835a8ab ACTIVEMQ6-96 acceptor limit
Adds a configuration property on both in-vm and Netty acceptors
whereby the number of connections allowed is configurable.
2015-05-04 16:07:27 -05:00
Clebert Suconic ea3370b38c Moving artemis-tools to artemis-cli and improving the tooling
Artemis tools is now part of the cli
Bootstrap was renamed to CLI
2015-05-03 12:42:19 -04:00
jbertram 028529b8a9 Avoid potential NPEs seen on tests 2015-04-30 09:26:03 -05:00
jbertram 791cc5c50c More rename updates 2015-04-30 09:07:20 -05:00
Andy Taylor 24a4c63458 renamed schemas 2015-04-29 10:49:43 +01:00
Andy Taylor ac5bb8fd6c renamed config to broker.xml 2015-04-29 10:30:32 +01:00
Justin Bertram 8f52a622d0 ACTIVEMQ6-1 Artemis rename
Based on the Apache ActiveMQ community vote this project is being
renamed "Artemis."
2015-04-27 17:48:02 -04:00
Clebert Suconic f509c075c6 ACTIVEMQ6-1 Artemis rename
This commit is a simple mv of the files.. We required two commits to preserve history,
one to git mv, one for the actual changes...

otherwise history would be lost

Based on the Apache ActiveMQ community vote this project is being
renamed "Artemis."
2015-04-27 17:44:45 -04:00