151 Commits

Author SHA1 Message Date
Clebert Suconic
1a7cd8aabe ARTEMIS-1447 Reuse thread pools on JDBC Locks
(cherry picked from commit 1af6d986a570f4c0db87cdd141fad3c66b84ea92)
2018-03-28 11:54:15 -04:00
Clebert Suconic
b267e8a741 NO-JIRA small doc on ActiveMQScheduledComponent
(cherry picked from commit bc97720bf28e5798c758a2eeffac0ec5f88a42ba)
2018-03-28 11:54:15 -04:00
Clebert Suconic
b097ef381e ARTEMIS-1462 Fixing QueueControlTest
(cherry picked from commit c66a7975e6834293eee52a87689b3a15839b4843)
2018-03-28 11:54:15 -04:00
Francesco Nigro
ed76ecb3c5 ARTEMIS-1462 Allow ActiveMQScheduledComponent initial delay configuration
(cherry picked from commit 40f49ef0bca0cba7fd3df22a807e46e36a59f2c7)
2018-03-28 11:54:15 -04:00
Martyn Taylor
466f5f8ebe ARTEMIS-1482 Catch malformed SimpleString 2017-10-25 14:23:53 +01:00
Clebert Suconic
393cf9bfef ARTEMIS-1334 Scheduled component shouldn't be synchronized
(cherry picked from commit 8bc15b1199e9aa82c1cb92586deaba46174473ad)
2017-08-10 14:12:13 -04:00
Clebert Suconic
25c0f93ad5 ARTEMIS-1328 Improving direct delivery check
Based on #1447 as it is not possible to cherry-pick here
2017-08-08 13:00:37 -04:00
Clebert Suconic
276319d72b ARTEMIS-1269 Fixing blocked replication
If replication blocked anything on the journal
the processing from clients would be blocked
and nothing would work.

As part of this fix I am using an executor on ServerSessionPacketHandler
which will also scale better as the reader from Netty would be feed immediately.
2017-07-07 08:56:31 -04:00
Justin Bertram
7e4de767b7 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.

(cherry picked from commit 5cb5c8a6dc7179078f099d5455343e1f18fd3398)
2017-05-09 16:41:14 -04:00
Clebert Suconic
c7dc04c2af [maven-release-plugin] prepare for next development iteration 2017-05-08 21:00:29 -04:00
Clebert Suconic
ae41632bbe [maven-release-plugin] prepare release 1.5.5 2017-05-08 21:00:17 -04:00
Francesco Nigro
25094f2721 ARTEMIS-1151 Adapting TimedBuffer and NIO Buffer Pooling
- NIO/ASYNCIO new TimedBuffer with adapting batch window heuristic
- NIO/ASYNCIO improved TimedBuffer write monitoring with
  lightweight concurrent performance counters
- NIO/ASYNCIO journal/paging operations benefit from less buffer copy
- NIO/ASYNCIO any buffer copy is always performed with raw batch copy
  using SIMD instrinsics (System::arrayCopy) or memcpy under the hood
- NIO improved clear buffers using SIMD instrinsics (Arrays::fill) and/or memset
- NIO journal operation perform by default TLABs allocation pooling (off heap)
  retaining only the last max sized buffer
- NIO improved file copy operations using zero-copy FileChannel::transfertTo
- NIO improved zeroing using pooled single OS page buffer to clean the file
  + pwrite (on Linux)
- NIO deterministic release of unpooled direct buffers to avoid OOM errors
  due to slow GC
- Exposed OS PAGE SIZE value using Env class

(cherry picked from commit 21c9ed85cf6b9a53debdd32747bd42b2e733da80)
2017-05-08 18:31:23 -04:00
dOkI
e4c4539c8f ARTEMIS-874: ThreadGroup memory leak 2017-05-05 22:10:59 +05:00
Clebert Suconic
ec9615a01a ARTEMIS-1114 Missing records after compacting
This is fixing an issue introduced on 4b47461f03a607b9ef517beb2a1666ffae43a2a7 (ARTEMIS-822)
The Transactions were being looked up without the readLock and some of the controls for Read and Write lock
were broken after this.

(cherry picked from commit ddacda50626ef2cd5ccf74a3149eccbbda4a9d84)
2017-04-14 01:24:45 -04:00
Clebert Suconic
7929fff893 ARTEMIS-1089 Fixing Replication catchup slow 2017-04-03 12:58:13 +01:00
Martyn Taylor
bae011bafb ARTEMIS-1087 Make InVM buffer pooling configurable
(cherry picked from commit 8760b3ddfd0ea52a0417ce91b6abe4840ca5ddca)
2017-04-03 12:12:33 +01:00
Bernd Gutjahr
f94f8f4718 ARTEMIS-1078 Improving ActiveMQThreadPoolExecutor
This is now considering only threads waiting for the queue to get new tasks as idle.

The thread pool maintained a counter of active threads, but that counter was increased
too late in the beforeExecute method. Submitting a task created a new thread.
If now a second task was submitter before the new thread had started to execute it's task,
the second task was queued without creating a 2nd thread. So the second task was only
executed after the first task had been completed - even if the thread pool's
maximum number of thread had not been reached.

This fix now maintains the delta between the number those threads that are currently waiting
in the queue's poll or take methods as idle threads, and the number of queued tasks.
It creates new threads unless there are enough idle threads to pick up all queued tasks.

This closes #1144

(cherry picked from commit 5a31e7035354516664087a65ac97e1a6f4c13f14)
2017-03-31 19:02:24 -04:00
Armand Roelens
9330fc8546 ARTEMIS-1074 Acceptors/Connectors now start up when configured to use SSL and a password codec
(cherry picked from commit 3ceb3328664e3dfa1dbeb24bad45115e2f1970c4)
2017-03-28 17:40:35 -07:00
John D. Ament
5896a2e176 [maven-release-plugin] prepare for next development iteration 2017-03-07 21:46:12 -05:00
John D. Ament
07807952a8 [maven-release-plugin] prepare release artemis-pom-1.5.4 2017-03-07 21:44:12 -05:00
Martyn Taylor
fbdac0c97d ARTEMIS-1002 Use default PooledBufferAllocator in ActiveMQBuffers
(cherry picked from commit dc40f60e6bce0baedf2eb5e777f820b8a7ee7f92)
2017-02-27 14:24:04 -05:00
Erich Duda
a4b33bb33a ARTEMIS-995 Bulk of test fixes
This commit fixes tests:
 ActiveMQScheduledComponentTest.testAccumulationOwnPool
 PendingDeliveriesTest.testWithtReconnect
 ReceiveTest.testReceiveImmediate
 ActiveMQProducerResourceTest.testSendString
 EmbeddedActiveMQResourceTest.testSendString
 MultipleEmbeddedActiveMQResourcesTest.testMultipleServers
 MultipleEmbeddedJMSResourcesTest.testMultipleServers
 ActiveMQDynamicProducerResourceWithoutAddressTest.testSendString
 ActiveMQDynamicProducerResourceWithoutAddressExceptionTest.testSendBytesToDefaultAddress
 ActiveMQDynamicProducerResourceTest.testSendString
 ActiveMQServerControlTest.testTotalMessageCount
 EmbeddedActiveMQResourceCustomConfigurationTest.testCustomConfiguration
 EmbeddedJMSResourceMultipleFileConfigurationTest.testConfiguration
 EmbeddedJMSResourceQueueTest.testPushObjectMessage
 EmbeddedJMSResourceSingleFileConfigurationTest.testConfiguration
 EmbeddedActiveMQResourceFileConfigurationTest.testConfiguredQueue
 EmbeddedJMSResourceTopicTest.testPushObjectMessage
 LargeMessageFailoverTest.testTimeoutOnFailoverTransactionCommit

(cherry picked from commit 0c64cbfa4e78208b1e262d6c60613c738b211fe1)
2017-02-24 17:17:21 +01:00
Martyn Taylor
16f3659cda [maven-release-plugin] prepare for next development iteration 2017-02-10 15:57:23 +00:00
Martyn Taylor
6996cd745f [maven-release-plugin] prepare release 1.5.3 2017-02-10 15:55:17 +00:00
Martyn Taylor
7de8dd77e7 [maven-release-plugin] prepare for next development iteration 2017-02-09 20:32:08 +00:00
Martyn Taylor
ccd60d0b42 [maven-release-plugin] prepare release 1.5.3 2017-02-09 20:02:55 +00:00
Justin Bertram
9b3cc8c329 ARTEMIS-873 support byte notation in XML config
(cherry picked from commit 113b28577c792a9fef5ac74abe6cd65bc08ffcf2)
2017-01-19 10:33:54 -05:00
Clebert Suconic
38cd5c9be3 [maven-release-plugin] prepare for next development iteration 2017-01-18 20:12:37 -05:00
Clebert Suconic
3649350a9b [maven-release-plugin] prepare release 1.5.2 2017-01-18 20:12:26 -05:00
Will Reichert
036933a4a4 ARTEMIS-928 Changing Netty and InVM to copy buffers, and retain them on the Netty Polls.
(cherry picked from commit 3347a4fd2716c7c998a0ef68499f4dc3d8106241)
2017-01-18 17:04:32 -05:00
Clebert Suconic
aaf09262ff ARTEMIS-962 Adding test for CME when parsing system properties and a few tweaks
(cherry picked from commit 7a7f335271b7b766d940cc38b94c7e89d96d1a4d)
2017-01-18 16:21:14 -05:00
Clebert Suconic
7b616f50cb [maven-release-plugin] prepare for next development iteration 2017-01-16 12:05:21 -05:00
Clebert Suconic
c62f4f101d [maven-release-plugin] prepare release 1.5.2 2017-01-16 12:05:10 -05: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
43634c098b ARTEMIS-863 parsing spaces properly on network health addresses and avoiding loopback on configuration 2016-11-29 15:24:06 -05: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
Francesco Nigro
3281698f9f ARTEMIS-841 Hash Processors lock free lazy singleton instantiation 2016-11-07 13:47:22 -05: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
5965a45894 ARTEMIS-786 Using RandomUtil instead of SecureRandom..
This was introducing several performance hits. I was running the examples and they were not completing at all on my environment.
2016-11-02 19:00:13 -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
8b25f09c3b ARTEMIS-835 speed up test 2016-11-02 13:43:51 -04: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
barreiro
4b47461f03 ARTEMIS-822 Add executor service to JournalImpl for append operations and remove synchronization
https://issues.apache.org/jira/browse/ARTEMIS-822
2016-10-28 16:54:59 -04:00
Clebert Suconic
ec48f9ed00 ARTEMIS-765 Improve Checkstyle 2016-09-30 11:12:09 -04:00
Clebert Suconic
a838bf0479 ARTEMIS-751 Simplification of the AMQP implementation
Since we don't need client implementations any longer, given the maturity level of
qpid jms, these classes can go, as a result a lot of the interfaces can be removed.

As part of this I am removing proton-plug, and reorganizing the packages in a way I think it
makes more sense and easier to other developers to understand and maintain it.

https://issues.apache.org/jira/browse/ARTEMIS-751
2016-09-27 09:29:40 -04:00
Ville Skyttä
1a4fe92802 Fix WaitNotInLoop issues flagged by new Error Prone 2016-09-27 14:28:29 +03:00
Ville Skyttä
02a7ac2949 Add missing @Overrides 2016-09-21 16:31:14 -04:00