Commit Graph

290 Commits

Author SHA1 Message Date
Dmitrii Tikhomirov 62f90eaf81 ARTEMIS-715 messages could be sent to wrong queue
In rare circumstances MessageProducer can send a message
to wrong queue
2016-09-08 09:26:11 -04:00
Clebert Suconic 505b732843 [maven-release-plugin] prepare for next development iteration 2016-09-06 12:17:31 -04:00
Clebert Suconic b305e231ec [maven-release-plugin] prepare release 1.4.0 2016-09-06 12:17:08 -04:00
Clebert Suconic 4472aa0e36 ARTEMIS-581 Implement max disk usage, and global-max-size
max-disk-usage = how much of a disk we can use before the system blocks
global-max-size = how much bytes we can take from memory for messages before we start enter into the configured page mode

This will also change the default created configuration into page-mode as that's more reliable for systems.
2016-09-06 15:07:49 +01:00
Ville Skyttä d5242978d5 for and while loop to foreach conversions 2016-08-25 14:22:32 -04:00
Ville Skyttä e1728f0797 Spelling fixes 2016-08-25 14:22:32 -04:00
Clebert Suconic 858d7a1a02 ARTEMIS-697 Making JChannelManager a singleton, and fixing tests 2016-08-24 18:08:17 -04:00
Ulf Lilleengen bf4796c5d3 ARTEMIS-697 Avoid self-discovery
This avoids an issue where a broker would discover itself, causing an unexpected behavior when using
core bridges to forward messages:
   * Make channel manager a singleton ensuring that only one channel with a given name exists
   * Ensure that messages are marked with NON_LOOPBACK to avoid receiving messages originating from
     itself
2016-08-24 17:06:55 -04:00
Clebert Suconic 92c5d5cd50 ARTEMIS-684 Random is not equaly distributed among different VMs 2016-08-23 19:36:54 -04:00
bayern39 2bff3d2b9b fixing typos 2016-08-23 17:14:25 -04:00
Clebert Suconic a3840c23c3 [maven-release-plugin] prepare for next development iteration 2016-08-16 11:59:55 -04:00
Clebert Suconic d38ef19bf6 [maven-release-plugin] prepare release 1.4.0 2016-08-16 11:59:36 -04:00
jbertram cfbe06f3bc ARTEMIS-656 support host verification for SSL cert 2016-08-15 13:58:25 -04:00
Clebert Suconic 53bb3ea183 ARTEMIS-542 removing excessive warning from codebase 2016-08-10 16:10:57 -04:00
Clebert Suconic 579d6226aa ARTEMIS-671 Returning messages after connection killed, and validating usage of reconnect 2016-08-09 11:23:46 +01:00
Howard Gao 2fb8341f8d ARTEMIS-604 - Add checks for object messages in REST and AMQP
- Rest interface fix
  - Doc fixes (Rest->REST)
  - JSON management and AMQP outbound
2016-08-09 11:22:48 +01:00
Howard Gao 0535218cfc ARTEMIS-604 - Message Serialization Improvement
- JMS and RA fixes
2016-08-09 11:22:48 +01:00
jbertram 1ef9e74f14 ARTEMIS-601 load runtime security cfg file changes 2016-08-07 20:17:56 -05:00
bayern39 a741642a48 [ARTEMIS-642] Disable slow client reconnecting with KILL slow client policy 2016-08-03 18:39:57 -04:00
Clebert Suconic a5360e42df ARTEMIS-565 another JSON fix 2016-08-01 13:54:04 -04:00
jbertram 7917f4d2f2 ARTEMIS-565 JSON fixes 2016-08-01 10:21:31 -05:00
Ville Skyttä adef9e4133 Add missing @Override annotation 2016-07-29 15:38:08 -04:00
Ville Skyttä 1bc42be7ff Access static fields and methods directly 2016-07-29 15:38:08 -04:00
Clebert Suconic fccf1c8243 ARTEMIS-565 Dealing with ClassLoading issues on managements. Caching provider loaded 2016-07-29 13:58:37 -04:00
jbertram 4f95c8a64a ARTEMIS-405 more bits of JMX doc 2016-07-28 15:18:11 -04:00
Clebert Suconic 85878513a5 This closes #679 2016-07-28 12:32:36 -04:00
jbertram 1ca5b19a10 ARTEMIS-565 additional JSON fixes 2016-07-28 11:33:19 -04:00
Ville Skyttä ac885db706 Add missing @Override annotation 2016-07-28 18:13:41 +03:00
Ville Skyttä 429e1e84d4 Remove unnecessary casts 2016-07-28 18:12:59 +03:00
Clebert Suconic 8873744d27 ARTEMIS-565 fixing JMS Control stuff 2016-07-27 19:14:32 -04:00
jbertram 3914f1aa8b ARTEMIS-647 track 'killed' msg count on queue
A 'killed' message is one that has been sent to a dead-letter address
or otherwise removed from the queue due to exceeding the max delivery
attempts.
2016-07-27 16:44:59 -04:00
jbertram 32abe61876 ARTEMIS-646 track expired msg count on queue 2016-07-26 16:15:02 -05:00
Clebert Suconic 76938fe44a ARTEMIS-565 more tweaks on the JSON replacement 2016-07-26 16:05:17 -04:00
Clebert Suconic b7efd5db3b ARTEMIS-565 A few fixes around the JSON change 2016-07-26 14:17:45 -04:00
jbertram 5d71ffc5e6 ARTEMIS-587 add more JSON JMX mgmt methods to core 2016-07-26 11:39:19 -04:00
Ville Skyttä aed49b3894 Spelling fixes 2016-07-26 14:24:45 +03:00
John D. Ament d0ecf0f3a5 ARTEMIS-565 Replace json.org with javax.json
Javax.json is a newer JSR, but has an ASF compliant version, is pretty close to the original JSON.org API and will support a standard annotation based JSON-B solution at some point soon.
Updated integration tests and removed JSON.org from license.
2016-07-25 21:44:57 -04:00
Clebert Suconic 1c56aa9bef ARTEMIS-628 Adding back old constructor for API compatibility 2016-07-25 14:01:30 -05:00
Martin Styk c9dfbad69c ARTEMIS-651 Typo in word "topology" in class ServerLocatorImpl 2016-07-25 14:26:47 -04:00
jbertram 577620533d Fix ByteBuffer regression from Netty upgrade
Using array() is a bit dangerous as it's an optional part of any
ByteBuffer implementation. This new method will deal with various
ByteBuffer implementations appropriately.
2016-07-25 16:26:21 +01:00
Martyn Taylor bed73f57b3 ARTEMIS-641 Enable filtering on address in server consumer 2016-07-21 14:47:20 -05:00
jbertram 89e0c461e5 ARTEMIS-611 refactor STOMP cxn TTL + heart-beat
Adds 3 new URI properties for STOMP acceptors to allow finer grained
configuration of heart-beat / connection-TTL behavior.
2016-07-18 17:10:05 -05:00
jbertram dc76e2a6a0 ARTEMIS-640 Allow config of cxn TTL check interval
Add connection-ttl-check-interval configuration attribute to allow
control of how frequently connection TTL checks are performed.
2016-07-18 17:06:26 -05:00
jbertram e9db9c286d ARTEMIS-628 add BROWSE role 2016-07-12 16:21:57 -05:00
jbertram 765b225924 ARTEMIS-584 add validated user to msg
Implements a new feature to aid in security auditing by adding the name
of the validated user to the messages it sends.
2016-07-06 09:37:29 -05:00
Ville Skyttä f1dc94534f Combine identical catch blocks 2016-07-05 14:18:01 -04:00
Ville Skyttä 149216e8ec Remove unnecessary null checks and assignments 2016-07-05 14:18:01 -04:00
Clebert Suconic ace11835c9 ARTEMIS-597 Adding Logging manager to a few poms
this is making a few tests to show an Exception when they start
2016-06-29 16:27:47 -04:00
jbertram e9733a6223 ARTEMIS-569 add missing method 2016-06-27 18:23:45 -04:00
Clebert Suconic 5dc5a242bb ARTEMIS-577 & ARTEMIS-596 Fixing API compatibility.
This is also fixing a build issue.
2016-06-27 12:08:11 -04:00
jbertram ce9ea1760a ARTEMIS-569 fix bridge producerWindowSize
Something bizarre happened with commit
8f52a622d0 in April 2015. It reverted the
changes from both c1111cc156 and
ada112a6a3. This commit fixes that.
2016-06-24 16:54:48 -05:00
Ville Skyttä 3923ae45f4 Fix checkstyle redundant modifier violations 2016-06-13 20:03:54 +03:00
Ville Skyttä e493748040 Fix checkstyle curly brace violations 2016-06-13 18:21:43 +03:00
Martyn Taylor 9ae39f663f [maven-release-plugin] prepare for next development iteration 2016-06-09 12:52:56 +01:00
Martyn Taylor 221039e353 [maven-release-plugin] prepare release 1.3.0 2016-06-09 12:49:13 +01:00
Martyn Taylor 319439ab27 [maven-release-plugin] prepare for next development iteration 2016-06-09 12:25:19 +01:00
Martyn Taylor 2c5ab446be [maven-release-plugin] prepare release 1.3.0 2016-06-09 12:24:48 +01:00
Martyn Taylor 4a07091718 [maven-release-plugin] prepare for next development iteration 2016-06-09 11:25:03 +01:00
Martyn Taylor 93cf7b4b9b [maven-release-plugin] prepare release 1.3.0 2016-06-09 11:23:03 +01:00
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 a3efafd975.
This reverts commit cf3396a3a6.
This reverts commit 17ea05bce6.
This reverts commit af4aa9fcb6.
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