Commit Graph

490 Commits

Author SHA1 Message Date
Ingo Weiss 685442861e [ARTEMIS-558] java.util.MissingFormatArgumentException: Format specifier '%s' during backup activation 2016-06-07 17:01:51 -04:00
Clebert Suconic 2e6586548b ARTEMIS-552 Replication target being finished can lead to instability on live
https://issues.apache.org/jira/browse/ARTEMIS-552
2016-06-06 16:28:51 -04:00
jbertram e53649a6b9 ARTEMIS-322 auto-create/delete JMS topic
Implements a new feature for the broker whereby it may automatically create and
delete JMS topics which are not explicitly defined through the management API
or file-based configuration. A JMS topic is created in response to a sent
message or connected subscriber. The topic may subsequently be deleted when it
no longer has any subscribers. Auto-creation and auto-deletion can both be
turned on/off via address-setting.
2016-06-06 16:00:57 -04:00
Clebert Suconic 8fdd1f6496 Revert "ARTEMIS-539"
This reverts commit a3efafd975.
This reverts commit cf3396a3a6.
This reverts commit 17ea05bce6.
This reverts commit af4aa9fcb6.
2016-06-06 14:12:25 -04:00
Clebert Suconic 17ea05bce6 ARTEMIS-539 fixing default address on client as well 2016-06-03 12:04:20 -04:00
Martyn Taylor 2932a2a711 Ensure ResultSet is closed on table operation 2016-06-03 12:03:00 -04:00
Martyn Taylor 634fc1b482 Added MySQL Support 2016-06-01 19:04:25 +01:00
Martyn Taylor 466d43c63d Refactored JDBC Sequential File Factory 2016-06-01 16:09:42 +01:00
Clebert Suconic af4aa9fcb6 ARTEMIS-539 ServerSession defaultAddress can get out of sync after full queues 2016-05-25 14:10:17 -05:00
Clebert Suconic 10dfe97ec0 Adding JORAM Tests for AMQP with a few fixes around the protocol manager for JMS 2016-05-25 09:41:40 -04:00
Dejan Bosanac 5db163753d https://issues.apache.org/jira/browse/ARTEMIS-537 - allow artemis to work properly with karaf jaas implementation 2016-05-25 09:33:56 -04:00
jbertram d9b721b35b ARTEMIS-405 correct some missing docs 2016-05-23 18:26:21 -04:00
jbertram 76f6c9c3bd Make a few tests more robust 2016-05-20 11:24:55 -05:00
Clebert Suconic 3e2adf123b ARTEMIS-524 Paging could lose data eventually after crashes
https://issues.apache.org/jira/browse/ARTEMIS-524

I am keeping all the debug ad tracing I added during the debug of this issue,
for that reason this commit may look longer than expected

The fix will be highlited by the tests added on org.apache.activemq.artemis.tests.integration.client.PagingTest
2016-05-17 20:28:40 -04:00
jbertram 04c9564d77 ARTEMIS-517 API to check sync with backup 2016-05-16 10:01:18 -05:00
Martyn Taylor 54752a9ced ARTEMIS-46 Adds AMQP Drain Support 2016-05-11 12:04:58 +01:00
Erich Duda a622fa7443 ARTEMIS-518 - Improvement of default thread factory 2016-05-09 14:33:41 -04:00
jbertram 19147113cb Fix RaceOnSyncLargeMessageOverReplication2Test 2016-05-05 20:21:18 -05:00
jbertram 5c7aaa760a Auto-delete JMS, not just core 2016-05-05 11:43:39 -05:00
jbertram 500a734d04 Fix AutoDeleteJmsQueueTest 2016-05-04 15:26:59 -05:00
jbertram cbfd819541 ARTEMIS-512 fix variable name conflict 2016-05-04 13:04:10 -05:00
Martyn Taylor 1c3d63516f ARTEMIS-514 Add support for LargeMEssages backed by Database 2016-05-04 13:36:28 -04:00
jbertram 4bab1f0644 ARTEMIS-512 NPEs in LDAP authz 2016-05-03 14:22:32 +01:00
Clebert Suconic f0df9d8c78 Individualizing logger.traces on org.apache.activemq.artemis.core.server (artemis-server project)
This makes it easier to debug through loggers
2016-04-28 14:35:11 -04:00
Howard Gao ada6600ee3 ARTEMIS-505 Fix OptimizedAckTest and testCloseConsumer
OptimizedAckTest: Using core api to replace old activemq
broker API to checking message count.
JmsQueueTransactionTest#testCloseConsumer: a bug in
delivery when prefetchSize is 0.
(InitalReconnectDelayTest)close connection after test.
2016-04-27 10:06:14 -04:00
Bernd Gutjahr 1591d25692 ARTEMIS-507 New thread pool for client threads
- Added a thread pool executor, that combines cached and fixed size thread pooling.
  It behaves like a cached thread pool in that it reuses exising threads and removes
  idle threads after a timeout, limits the maximum number of threads in the pool, but
  queue additional request instead of rejecting them.
- changed existing code to use the new thread pool instead of a fixed-size thread pool in
  all places that are configured with a client thread pool size.
2016-04-27 11:03:32 +01:00
Ingo Weiss 82019cb3be [ARTEMIS-502] AMQ224044, error acknowledging message: java.lang.NullPointerException, can happen sometimes during load 2016-04-25 14:33:17 +01:00
Howard Gao 3012447404 ARTEMIS-488 Fix OpenWire Test (Temp Queue removal and others)
Temp Queue not deleted when connection is closed.
Enable Stomp in openwire test because some test uses it.
Remove unused code in opwnwire
Wrong XA error code returned when xid is missing
(ActiveMQXAConnectionFactory.testRollbackXaErrorCode)
regression in ActiveMQSslConnectionFactoryTest (SSL related)
2016-04-20 12:33:01 -04:00
Bernd Gutjahr 1b5396c033 Protected ActiveMQClient API against misuse.
1. Changed public fields in ActiveMQClient to private and added getters.

Exposing fields for thread pool sized allow to modify them in undesired ways.
I made these fields private and added corresponding getter methods.
In addition, I renamed the field 'globalThreadMaxPoolSize'
to 'globalThreadPoolSize' to be more consistent with the
'globalScheduledThreadPoolSize' field name.
I also adapted some tests to always call clearThreadPools after
the thread pool size configuration has been changed.

2. Protect against injecting null as thread pools

ActiveMQClient.injectPools allowed null as injected thread pools.
The effect was that internal threads pools were created,
but not shutdown correctly.
2016-04-20 15:29:25 +01:00
Clebert Suconic b89faae458 ARTEMIS-490 Fixing new largeMessage copy 2016-04-20 10:08:29 -04:00
Clebert Suconic bd3d0492fd ARTEMIS-482 testsuite fixes:
The new Executor operationr needs to be synchronized as a few tests are failing because of this
another fix on the test base class
2016-04-20 14:05:17 +01:00
jbertram 9d7a49b388 ARTEMIS-417 more broker-level JMX attrs 2016-04-19 23:00:32 -04:00
Clebert Suconic 03b2650990 ARTEMIS-482 fixing testsuite. Stopping Executor at the proper place
You have to stop the InVMExecutor after servers were stopped otherwise tests may hang
2016-04-19 17:35:29 -04:00
Clebert Suconic e81fa5c359 ARTEMIS-490 Fixing LargeMessage copy through replication
this will fix cases like DLQ and Diverts
2016-04-19 15:00:09 +01:00
Ingo Weiss e378e4f88f ARTEMIS-480 BridgeReconnectTest.testDeliveringCountOnBridgeConnectionFailure fails due to racing condition 2016-04-18 17:59:44 -04:00
jbertram 30907ffd8c ARTEMIS-400 allow SSL store reload 2016-04-18 17:51:46 -04:00
jbertram 5591bcabcc ARTEMIS-405 JMX attributes doc 2016-04-18 17:50:09 -04:00
Clebert Suconic 287ee86b3f ARTEMIS-465 - Fixing trace 2016-04-15 10:37:28 -04:00
Clebert Suconic b7118df7d0 ARTEMIS-482 Cleanup new ThreadPool on the testsuite to avoid leak report 2016-04-14 23:14:22 -04:00
Clebert Suconic ec73961f72 ARTEMIS-474 another fix on JChannelWrapper 2016-04-14 21:57:17 -04:00
Clebert Suconic 630db2d69c ARTEMIS-474 Clustering fails on certain topologies
Communication between nodes will fail under certain topologies
JGroups has something called JForkChannel that could be used on container systems.
And be injected into Artemis.
For some reason that channel cannot be reused for more than one channel per VM.
And it cannot ever be closed.

I am keeping the trace logs I used to debug this issue in case anything similar to this happens again.
2016-04-14 18:55:01 -04:00
Clebert Suconic d6c7e30594 ARTEMIS-484 Large Message Loss on Initial replication
https://issues.apache.org/jira/browse/ARTEMIS-484

The File copy after the initial synchronization on large messages was broken.
On this commit we fix how the buffer is cleaned up before each read since
a previously unfinished body read would make the buffer dirty.

I'm keeping also lots of Traces I have added to debug this issue, so they will
be useful if anything like this happens again.
2016-04-14 18:55:01 -04:00
Clebert Suconic 2e894554ca ARTEMIS-474 fixing page.close() deadlock with replica 2016-04-14 18:55:01 -04:00
Martyn Taylor fc8a1eff43 ARTEMIS-482 Assign dedicated ThreadPool for InVMTransport 2016-04-14 15:49:07 +01:00
John D. Ament 5b8ab20219 ARTEMIS-463 Refactored protocol loading code to not duplicate logic, and load from the default list. 2016-04-12 16:15:55 -04:00
Ville Skyttä 11acf2180f Avoid unnecessary empty array creation 2016-04-11 16:55:26 -04:00
Ville Skyttä 3dc3e8520d Remove redundant toString calls 2016-04-11 16:54:30 -04:00
Ville Skyttä b5ffda4701 Fix getter and setter validation test 2016-04-11 16:53:10 -04:00
Ville Skyttä 487b09fccc Replace some manual array copies with System.arraycopy 2016-04-11 16:52:10 -04:00
Ville Skyttä e6e1311f8d Add missing @Overrides 2016-04-11 16:51:01 -04:00
Ville Skyttä 782d3419b8 Remove dead code 2016-04-11 16:50:43 -04:00
Jeff Mesnil ed5533ecb6 [ARTEMIS-472] add cause to AMQ222137 warning
JIRA: https://issues.apache.org/jira/browse/ARTEMIS-472
2016-04-08 13:16:15 +01:00
Clebert Suconic 50eac7c824 ARTEMIS-468 Amendments to how redelivery count is handled on openwire 2016-04-07 13:56:31 -04:00
Howard Gao 8a998ad805 ARTEMIS-468 Fix openwire redelivery related regressions under integration-tests 2016-04-07 12:12:28 -04:00
Martyn Taylor e2c6d0b7f7 ARTEMIS-465 Create LM on write packet in ReplicationEndpoint
If a LM write packet is received from the live assume that the large
message exists and create a local reference.

Old behavour would reject the packet which could lead to loss of data on
failover see JIRA.
2016-04-04 23:15:54 -04:00
Dominik Pospisil 078d38bc37 [ARTEMIS-444] Extend AIOSequentialFileFactory to check underlying FS 2016-04-04 12:23:36 -04:00
Clebert Suconic 3aedf27386 ARTEMIS-463 More simplifications on the openwire head
https://issues.apache.org/jira/browse/ARTEMIS-463

This will have some extra refactoring on the protocol head, transferring responsibility to the broker classes in a lot of cases
and removing some duplicated code

This was a team effort from Clebert Suconic and Howard Gao
2016-04-04 11:08:43 -05:00
Clebert Suconic 6ddf486f8f ARTEMIS-463 Refactoring on Openwire
https://issues.apache.org/jira/browse/ARTEMIS-463

This was a team effort from Clebert Suconic and Howard Gao
2016-04-04 11:08:43 -05:00
Ville Skyttä 3a2d5de49e Remove unnecessary code 2016-04-04 11:04:49 -05:00
Ville Skyttä 16ee65309c Add missing @Override annotations 2016-04-04 11:03:48 -05:00
Martyn Taylor afdb78dd5c ARTEMIS-456 Synchronize sendReplicatePacket method
There is a potential deadlock scenario if 2 threads try
sendReplicatePacket.  Thread 1 registers Netty callback which will
invoke readyForWrites() method, which locks the callback list and waits
on the replicationLock.  Thread 2 enters sendReplicatePacket and gets
the replicationLock and is blocked on the callback list lock.  This fix
ensures the sendReplicatePacket blocks on the ReplicationManager meaning
no interleaving of the Netty callback thread and the wait on lock can
happen.
2016-03-23 10:52:56 -05:00
jbertram e2b799d003 ARTEMIS-451 JAAS user/role props reload 2016-03-22 10:48:38 -05:00
Clebert Suconic ee6a03295f ARTEMIS-437 Improving lock over certain protocols
Avoiding deadlocks between acks and other factors
2016-03-16 08:23:58 -04:00
jbertram 196f0ca8d6 ARTEMIS-432 client gets msg after session stop 2016-03-11 15:33:28 -05:00
Ville Skyttä 31404f8a38 Remove redundant null checks 2016-03-07 15:49:50 -05:00
Andy Taylor a3962d6d26 ARTEMIS-426 - java.lang.IllegalStateException: AMQ119116: Netty Acceptor unavailable
also related to https://issues.apache.org/jira/browse/ARTEMIS-416

https://issues.apache.org/jira/browse/ARTEMIS-426
2016-03-01 14:17:41 +00:00
Martyn Taylor 964b145733 ARTEMIS-423 Do not set backup node as self 2016-02-29 16:11:58 +00:00
Ville Skyttä 7c275cdb1a Use generics more 2016-02-28 01:06:59 +02:00
Clebert Suconic 6bdfe95f66 ARTEMIS-350 small improvement on the writable logic 2016-02-23 15:04:49 -05:00
Clebert Suconic c4760488e3 fixing regression caused by #397 2016-02-23 14:22:51 -05:00
jbertram 2fcd474bb3 ARTEMIS-350 fix for potential race
It's possible for the latch used for flow control here to get out of sync. In
other words, multiple count-downs can occur between count-ups so that the latch
always has a count > 0. When this situation arises then every single packet
sent to the replica is delayed by 5 seconds.

The solution here essentially is to eliminate the latch completely and use a
condition/wait/notify pattern.
2016-02-23 12:56:45 -06:00
Andy Taylor f6ea511b8a ARTEMIS-416 - Netty Acceptor allows transfer of connections when paused
Throw an exception if the acceptor is paused or not started

https://issues.apache.org/jira/browse/ARTEMIS-416
2016-02-22 10:47:13 -05:00
Ville Skyttä aa3f3bd6a7 Use try-with-resources more 2016-02-21 12:09:43 +02:00
jbertram e762f823d1 ARTEMIS-391 log WARN on cxn limit 2016-02-18 10:19:59 -06:00
Clebert Suconic 9ebc6786b6 ARTEMIS-401 Refactoring Acceptors and ProtocolManager to support parameters
https://issues.apache.org/jira/browse/ARTEMIS-401
2016-02-18 10:14:26 -06:00
jbertram dffe93152b ARTEMIS-395 auto-delete only if setting is true 2016-02-09 14:24:51 -05:00
jbertram 94dc2976ef ARTEMIS-388 listen for activation failures 2016-02-09 14:24:07 -05:00
kurobako b8dd0219a3 eliminated NPE possibility in QueueImpl class 2016-02-09 11:08:35 -05:00
Clebert Suconic e9ce4ce40b ARTEMIS-392 Fixing Allocator after socket upgrade
https://issues.apache.org/jira/browse/ARTEMIS-392
2016-02-08 10:34:16 -06:00
Martyn Taylor 32a9d60a3d Allow users to configure jdbc driver class name
This patch allows users to configure the Driver class that the JDBC
store and journal uses and removes Derby as a default.
2016-02-08 11:23:38 -05:00
Dmitrii Tikhomirov 2953e46aec ARTEMIS-393 Server logs message with queue deploy even when topic is being deployed. 2016-02-08 10:12:56 -05:00
jbertram 8dcea17f11 ARTEMIS-387 grammar fix 2016-02-05 12:13:11 -06:00
jbertram 5a483f922a ARTEMIS-376 NPE during fail-back 2016-02-04 14:20:02 -06:00
jbertram 1eb631e2b8 ARTEMIS-374 support schedule messages on LVQ 2016-02-01 11:58:56 -06:00
Clebert Suconic e62a820414 Fixing ServerMessage's copy and MQTT delivery 2016-01-27 17:12:56 -05:00
Martyn Taylor 5383a0c409 Handful of JDBC Journal Fixes
This patch fixes a number of bugs with the JDBC Journal implementation.
Mainly around how it was handling transactions.  The XA transactions
tests are now enabled to test both the File and Database store.
2016-01-27 12:17:55 -05:00
Lachezar Dobrev cc4d24cfbb ARTEMIS-362 Broadcast only filled buffer content.
When publishing server connectors to other cluster members the whole buffer is sent.
This fixes ARTEMIS-362 by extracting the filled part of the buffer for broadcasting.

Added test case that checks that packet size does not exceed 1500 bytes with one connector.
2016-01-26 16:30:44 -05:00
Ville Skyttä 4e5b5b393a Access static methods and fields directly 2016-01-25 12:12:54 -05:00
Ville Skyttä 13cb6ddfd1 Add missing @Override annotations 2016-01-25 12:10:25 -05:00
Ville Skyttä 3f20e0d19a Remove redundant type parameters 2016-01-25 12:10:25 -05:00
Martin Styk 812affffbe ARTEMIS-360 - PagingTest.testSpreadMessagesWithFilterWithDeadConsumer fails on timeout waiting for stop paging
extended waiting time
2016-01-25 14:37:43 +01:00
Clebert Suconic 7957f574f6 ARTEMIS-357 No need to check copy any longer 2016-01-23 10:45:35 -05:00
Andy Taylor a24dc5b61a ARTEMIS-350 - add timeout to avoid deadlock
https://issues.apache.org/jira/browse/ARTEMIS-350
2016-01-21 10:02:24 +00:00
Martyn Taylor 4922a7618a Bump to next version to 1.3.0-SNAPSHOT 2016-01-20 17:25:07 +00:00
Andy Taylor c1de710eb3 ARTEMIS-346 - Add Management send text message functionality similar to ActiveMQ
https://issues.apache.org/jira/browse/ARTEMIS-346
2016-01-20 10:35:36 -05:00
Clebert Suconic 0a9a6c92f4 ARTEMIS-347 Fixing NPE 2016-01-19 23:15:10 -05:00
Clebert Suconic 3f23c9916e ARTEMIS-347 - supporting URIs on the cluster connection 2016-01-19 17:35:12 -05:00
Clebert Suconic 17a443b1f0 adding timeout verification
Some VMs (IBM) can eventually ignore the System.gc call.
Adding some mitigation when that happens here
2016-01-19 17:20:49 -05:00
Clebert Suconic 68faa1d252 ARTEMIS-350 Small improvement on the replication stop 2016-01-19 11:20:47 -05:00
Andy Taylor b7f0d14b18 ARTEMIS-350 - possible OOM in replication manager
https://issues.apache.org/jira/browse/ARTEMIS-350
2016-01-19 11:18:01 -05:00
jbertram d94c044e90 ARTEMIS-349 LDAP plugin listener
This feature required a bit of refactoring to the plugin interface itself as
well as a restriction on the configuration so that either only one plugin could
be specified or an ulimited number of security-setting matches. This was done
to prevent messy situations where a plugin could update settings from the XML
or even another plugin if there were overlapping matches.
2016-01-19 09:45:52 -05:00
Clebert Suconic b82808797e ARTEMIS-332 Fixing possible NPE on Paging 2016-01-13 15:04:11 -05:00
Andy Taylor 79454893ce fixing filter in retry message 2016-01-13 18:48:29 +00:00
Martyn Taylor 472dd320cf Add HawtDispatch Thread to acceptable leaking thread list 2016-01-13 10:16:49 -05:00
Martyn Taylor 64f74acdbc ARTEMIS-27 / ARTEMIS-340 Add JDBC Storage Manager 2016-01-13 09:38:40 -05:00
Martyn Taylor 9b351d8236 ARTEMIS-27 / ARTEMIS-338 Refactor Journal Encodings into new package 2016-01-13 09:38:08 -05:00
Clebert Suconic 2e973c4bff fixing BackupSyncJournalTest 2016-01-12 17:22:56 -05:00
Clebert Suconic 2d3061d9b6 Improvements on Thread check 2016-01-12 17:22:56 -05:00
Andy Taylor ea3c3e0aef ARTEMIS-334 - Add Management browse functionality similar to ActiveMQ
https://issues.apache.org/jira/browse/ARTEMIS-334
2016-01-12 14:26:57 +00:00
Clebert Suconic e56ca95fdc Dealing with expected IBM JDK thread and refactoring the Thread check as a Rule 2016-01-11 20:02:46 -05:00
Ville Skyttä f85e5e7922 Deprecation fixes 2016-01-11 13:22:18 -05:00
Ville Skyttä 66e82be652 Remove dead code 2016-01-11 13:21:26 -05:00
Ville Skyttä 389762cb3a Add missing @Overrides 2016-01-11 13:20:57 -05:00
Clebert Suconic 7820fd6d60 ARTEMIS-332 avoid shutting down the server after interrupted threads on paging 2016-01-07 16:08:38 -05:00
Clebert Suconic 73b000b3c0 fixing intermittent lockdown on the testsuite 2016-01-07 13:58:01 -05:00
Clebert Suconic a5a993ed9d ARTEMIS-332 - test added / better dealing with critical errors on paging 2016-01-06 19:42:45 -05:00
jbertram 978f8eeda8 ARTEMIS-331 support 0-length large msg 2016-01-05 10:44:54 -05:00
jbertram 454e5b66ff ARTEMIS-177 create/destroy subscription race 2016-01-05 10:44:13 -05:00
Clebert Suconic 96849a42b7 ARTEMIS-332 - Duplicate delivery over Bridges under OME scenarios, paging and other failures
https://issues.apache.org/jira/browse/ARTEMIS-332
2016-01-04 20:49:28 -05:00
Martyn Taylor 2c430e597b [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
Martyn Taylor f182c806b6 [maven-release-plugin] prepare release 1.2.0 2016-01-04 11:49:58 +00:00
Martyn Taylor 5f32e6575c [maven-release-plugin] prepare for next development iteration 2016-01-04 09:24:34 +00:00
Martyn Taylor 150c5d87aa [maven-release-plugin] prepare release 1.2.0 2016-01-04 09:19:35 +00:00
Andy Taylor 24bf83a3ad added broker name to startup message 2015-12-23 10:58:44 -05:00
Andy Taylor 3ef184aba5 added ActiveMQ style uptime at shutdown 2015-12-23 10:58:44 -05:00
Andy Taylor 1d91680a6d capitalisation fix 2015-12-23 10:58:44 -05:00
Clebert Suconic 9167213f00 ARTEMIS-328 Fixing message loss through the bridge
https://issues.apache.org/jira/browse/ARTEMIS-328
2015-12-21 23:00:52 -05:00
Ville Skyttä d48e344a8f Add missing @Overrides 2015-12-21 22:06:03 -05:00
Ville Skyttä a0dc9861a0 Access static members directly 2015-12-21 22:01:21 -05:00
Martyn Taylor 90c9469701 [maven-release-plugin] prepare for next development iteration 2015-12-17 17:03:40 +00:00
Martyn Taylor df61224d2d [maven-release-plugin] prepare release 1.2.0 2015-12-17 17:01:58 +00:00
Martyn Taylor 0e8f2f39af ARTEMIS-312 Allow configurable of, and inject of client global thread pools 2015-12-16 18:19:25 -05:00
Clebert Suconic af1f79bff5 ARTEMIS-302 more changes around XA reliability (resilience on failures) 2015-12-16 10:19:35 -05:00
Andy Taylor d1e154e888 ARTEMIS-311 - added broker name to jmx object name properties.
Its now possible to also add the broker name to jmx tree avoiding clashes when multiple brokers are in a single vm. This is now the default but the old way can be used with some configuration

https://issues.apache.org/jira/browse/ARTEMIS-311
2015-12-16 10:19:01 -05:00
Clebert Suconic b1b4bb8a32 ARTEMIS-320 Refactoring TCP flow control and proper implementation of flow control on consumers
https://issues.apache.org/jira/browse/ARTEMIS-320
2015-12-10 16:50:26 -05:00
Clebert Suconic 351bcfc9f9 ARTEMIS-319 Improving files allocation and implementing journal-pool-files
https://issues.apache.org/jira/browse/ARTEMIS-319
2015-12-10 16:49:58 -05:00
Tom Ross d7f245f1ca NullPointerException when trying to list prepared transactions as JSON - part 2 2015-12-10 16:38:44 -05:00
Ville Skyttä 7bf3923cee Remove unnecessary @SuppressWarnings("unchecked") 2015-12-07 22:55:05 +02:00
Ville Skyttä f8a1c5ba8e Remove redundant type arguments 2015-12-07 22:55:05 +02:00
Ville Skyttä 3b5ee6c7ea Remove unnecessary casts 2015-12-07 22:53:42 +02:00
Tom Ross f29ab83727 NullPointerException when trying to list prepared transactions as JSON 2015-12-07 13:48:01 -05:00
Ville Skyttä 25ae472455 Add missing @Override annotations 2015-12-06 01:27:35 +02:00
Andy Taylor b34ee8717f ARTEMIS-305 - fixing colocated configuration can have mismatch of policies
https://issues.apache.org/jira/browse/ARTEMIS-305
2015-11-25 09:45:39 +00:00
Christian Schneider be9dad3f2b OSGi support based on branch from gnodet 2015-11-24 11:12:10 +01:00
jbertram 956c54155f ARTEMIS-201 warn of potential OOME 2015-11-23 21:42:15 -05:00
jbertram c0a6d6ee44 ARTEMIS-250 fix scale-down with security 2015-11-20 19:34:37 -06:00
Clebert Suconic b1d5076108 ARTEMIS-302 - more work about improving resilience of MDBs and XA 2015-11-16 18:11:44 -05:00
jbertram c40ab12843 ARTEMIS-300 deprecate basic security manager
The old property-file based security manager shouldn't be used anymore. Instead
use the JAAS InVMLoginModule for in-vm tests, embedded use-cases, etc. and use
the other JAAS login modules for normal server use-cases.
2015-11-11 14:17:46 -06:00
Clebert Suconic 7bbd17cd37 ARTEMIS-302 - Improving XA Resilience 2015-11-11 09:50:58 -05:00
Clebert Suconic a21a447b4c ARTEMIS-301 - Fixing concurrent issues over closing consumer during failover and reconnect 2015-11-10 14:29:34 -05:00
jbertram ae70d7178e ARTEMIS-299 file-based login module performance
This is based on improvements made in ActiveMQ 5.x. See more at
https://issues.apache.org/jira/browse/AMQ-5876.
2015-11-05 10:10:49 -06:00
Martyn Taylor 0a87410b1b Use .equals for string compare in LDAPLoginModule 2015-11-05 11:07:03 -05:00
Clebert Suconic 9a2bebe443 ARTEMIS-297 Including acceptor name on logs 2015-11-04 22:54:12 -05:00
Martyn Taylor 046c3b1942 ARTEMIS-297 Handle Exceptions during server stop
Stopping the server should be able to handle exceptions thrown by
individual components.  Before this patch the stop method would throw
any raised exception and exit.  This can lead to partial shutdowns of
the server resulting in leaking threads.  This patch catches any
component exceptions and logs an appropriate error message, allowing the
server to properly shutdown.
2015-11-04 21:30:08 -05:00
jbertram 0c407922a8 ARTEMIS-261 cert-based auth 2015-11-04 15:56:33 -05:00
Martyn Taylor 856d7644ad ARTEMIS-296 Remove stacktrace from bridge disconnect log 2015-11-04 10:23:58 -05:00
Martyn Taylor 1cdc01fc44 ARTEMIS-295 Remove 'yet' from log messages 2015-11-04 14:49:11 +00:00
jbertram 3f6089891d ARTEMIS-293 rebalance inflow on topology change 2015-11-03 16:42:15 -06:00
Ville Skyttä 68c9f3fd69 Spelling fixes 2015-11-03 10:30:40 -05:00
Martyn Taylor 62262805ab ARTEMIS-291 Allow multiple acceptors with same host/port 2015-11-02 12:42:49 +00:00
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
Martyn Taylor bb2c890803 [maven-release-plugin] prepare for next development iteration 2015-09-15 15:43:44 +01:00
Martyn Taylor 63ea448728 [maven-release-plugin] prepare release 1.1.0 2015-09-15 15:41:37 +01:00
Martyn Taylor 6408fd0357 [maven-release-plugin] prepare for next development iteration 2015-09-11 19:01:57 +01:00
Martyn Taylor c512f12a34 [maven-release-plugin] prepare release 1.1.0 2015-09-11 19:01:19 +01:00
Clebert Suconic 1add10abfd ARTEMIS-223 Testcase replicating issue 2015-09-11 13:21:50 -04:00
Martyn Taylor fec6546480 [maven-release-plugin] prepare for next development iteration 2015-09-08 16:39:59 +01:00
Martyn Taylor 4d0b15b043 [maven-release-plugin] prepare release 1.1.0 2015-09-08 16:29:09 +01: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
Martyn Taylor 82f6a88d59 [maven-release-plugin] prepare for next development iteration 2015-09-07 10:02:01 +01:00
Martyn Taylor 8c1e0e15fc [maven-release-plugin] prepare release 1.1.0 2015-09-07 10:01:10 +01:00
Martyn Taylor a2aa18c123 [maven-release-plugin] prepare for next development iteration 2015-09-04 20:20:13 +01:00
Martyn Taylor a5decb659e [maven-release-plugin] prepare release 1.1.0 2015-09-04 20:19:11 +01:00
Martyn Taylor 4576ccea08 [maven-release-plugin] prepare for next development iteration 2015-09-04 19:48:52 +01: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