231 Commits

Author SHA1 Message Date
Martyn Taylor
4574b3ee13 [maven-release-plugin] prepare for next development iteration 2016-06-08 11:03:35 +01:00
Martyn Taylor
2b3d22c5cc [maven-release-plugin] prepare release 1.3.0 2016-06-08 11:02:14 +01: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
a4055816b3 ARTEMIS-539 Proper fix on default address for core protocol
The previous fix was breaking compatibility with older servers.
We need to check the default address if an exception happened during the send (due to flow control or blocker)
2016-06-06 15:38:29 -04:00
Clebert Suconic
8fdd1f6496 Revert "ARTEMIS-539"
This reverts commit a3efafd97593af22d5b0140e16bf6c320a13bb3f.
This reverts commit cf3396a3a605081dfb30b222a745bd803858fb70.
This reverts commit 17ea05bce666e27b9a2808f4a186307ef92c1b2b.
This reverts commit af4aa9fcb67431dc04ac6d13584391925f691ae4.
2016-06-06 14:12:25 -04:00
Clebert Suconic
a3efafd975 ARTEMIS-539 fixing testsuite 2016-06-03 17:32:07 -04:00
Clebert Suconic
cf3396a3a6 ARTEMIS-539 fixing tests 2016-06-03 16:37:21 -04:00
Clebert Suconic
17ea05bce6 ARTEMIS-539 fixing default address on client as well 2016-06-03 12:04:20 -04:00
Martin Šmérek
f84018a417 ARTEMIS-551 Obfuscate truststore password
Obfuscate truststore password in TransportConfiguration.toString()
in the same way as keystore. The password will not be logged in
plain text when bridge is connected.
2016-06-03 16:12:31 +02:00
Clebert Suconic
242730a278 Traces on producer.send 2016-05-31 18:14:38 -04:00
jbertram
d9b721b35b ARTEMIS-405 correct some missing docs 2016-05-23 18:26:21 -04: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
Clebert Suconic
ec52693513 Individualizing traces and debug on client 2016-05-17 14:36:59 -04:00
jbertram
04c9564d77 ARTEMIS-517 API to check sync with backup 2016-05-16 10:01:18 -05:00
Erich Duda
a622fa7443 ARTEMIS-518 - Improvement of default thread factory 2016-05-09 14:33:41 -04:00
jbertram
6aaa9df49f Improve packet toString() to ease debug 2016-05-05 09:33:01 -05:00
Martyn Taylor
1c3d63516f ARTEMIS-514 Add support for LargeMEssages backed by Database 2016-05-04 13:36:28 -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
Bernd Gutjahr
971a0a13bd ARTEMIS-497 Prevent 10 second stalls when closing an SSL connection
When NettyConnection.classSSLAndChannel is called from the EventLoop,
waiting for the SSL handler to close will always take 10 seconds, because
the sslCloseFuture is from a task that is scheduled with the same
EventLoop. But since the EventLoop is a single threaded executor, it
will only be executed after the current task is completed.

Due to the single threaded nature of the EventLoop, all blocking calls
should be avoided. Therefore, I removed both awaitUninterruptibly calls
if the closing happens within an event loop tasks. As a side effect,
the annoying server log timeout warnings will go away.
2016-04-25 14:48:58 +01:00
bayern39
350eec896a ARTEMIS-501 Incorrect log message in class ClientSessionFactoryImpl 2016-04-25 14:18:30 +01:00
Bernd Gutjahr
ec4cbf7b34 abstracted global client thread pools from ThreadPoolExecutor as implementation
Changed the ActiveMQClient interface to expose global thread pools as
ExecutorService and ScheduledExecutorService interface. This is necessary
to allow injecting thread pool implementations that are not based on
ThreadPoolExecutor or ScheduledThreadPoolExecutor.
2016-04-20 15:29:25 +01: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
Bernd Gutjahr
2360fb4c9f ARTEMIS-485 Allow configuring an unbounded cached global client thread pool
Adapted code to handle -1 correctly to configure an unbounded thread pool.
In addition, I removed the capability to reconfigure the max pool size
of existing thread pools, because the global thread pool can either be
an unbounded cached pool, or a bounded fixed size pool.
These 2 kinds of pool also differ in the used blocking queue,
therefore cannot be converted into each other.
2016-04-20 15:29:25 +01:00
jbertram
9d7a49b388 ARTEMIS-417 more broker-level JMX attrs 2016-04-19 23:00:32 -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
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
3ecd8b7c44 ARTEMIS-474 Avoiding one lock around the readyListener call tree and fixing ReplicationManager / NettyConnection deadlock 2016-04-14 18:55:01 -04:00
Ville Skyttä
3dc3e8520d Remove redundant toString calls 2016-04-11 16:54:30 -04:00
Ville Skyttä
cf00dd9b1b Avoid instantiating some number objects 2016-04-11 16:53:48 -04:00
Ville Skyttä
782d3419b8 Remove dead code 2016-04-11 16:50:43 -04: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ä
16ee65309c Add missing @Override annotations 2016-04-04 11:03:48 -05:00
jbertram
32ce8710fc ARTEMIS-445 avoid NPE on null ks password 2016-03-21 18:35:21 -04:00
jbertram
7653d17e6a ARTEMIS-441 correct time-unit for large msg poll 2016-03-17 09:22:14 -05:00
Martyn Taylor
e9992bc59f ARTEMIS-439 Set default global thread pool based on cores 2016-03-15 15:20:21 +00:00
Clebert Suconic
26fe21baa4 ARTEMIS-437 Large Message send should be interrupted during failover 2016-03-11 13:13:32 -05:00
kurobako
1c2164adad Removing Synchronization performed on java.util.concurrent.ConcurrentLinkedDeque object in class NettyConnection 2016-03-07 15:58:42 -05:00
Ville Skyttä
31404f8a38 Remove redundant null checks 2016-03-07 15:49:50 -05:00
jbertram
b23046d5f7 ARTEMIS-385 clean-up factory on timeout
This restores a call to ClientSessionFactory#cleanup that appears to have been
mistakenly removed by a previous change related to this JIRA.
2016-03-03 12:42:20 -06: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
Howard Gao
ddf8d8f96e ARTEMIS-421 wrong XA_RETRY XAException error code
returned on crash for 1PC
2016-02-24 22:23:57 +08:00
Ville Skyttä
aa3f3bd6a7 Use try-with-resources more 2016-02-21 12:09:43 +02: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
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
Clebert Suconic
f0b8f1e356 ARTEMIS-385 small fix 2016-02-04 15:59:50 -05:00
Clebert Suconic
df4469092b Removing unecessary concurrent collection. Replacing by regular one 2016-02-04 18:31:31 +00:00
Clebert Suconic
26945a4716 ARTEMIS-385 On a possible race the Topology final notification may get lost when using many connection factories
https://issues.apache.org/jira/browse/ARTEMIS-385

This fix will make sure we only wait for the topologies that are arriving from the current connection over the createFactory method
2016-02-04 09:35:08 -05:00