Commit Graph

206 Commits

Author SHA1 Message Date
Clebert Suconic b0c83073e2 NO-JIRA Using interrupts on ThreadRuleCheck
This would speedup cleanup of eventual executors and stuff like that
2017-11-03 16:03:36 -04:00
Justin Bertram 8703d9d51d [maven-release-plugin] prepare for next development iteration 2017-11-01 00:38:57 -05:00
Justin Bertram ec63189a0a [maven-release-plugin] prepare release 2.4.0 2017-11-01 00:38:56 -05:00
Justin Bertram a44b9d5edf [maven-release-plugin] prepare for next development iteration 2017-10-31 12:09:43 -05:00
Justin Bertram 34a7431d1b [maven-release-plugin] prepare release 2.4.0 2017-10-31 12:07:55 -05:00
Clebert Suconic 2bf690e21b ARTEMIS-1489 Adding Timed Buffer into Critical Analyzer 2017-10-31 08:33:44 -05:00
Erich Duda fb76d9aeb0 ARTEMIS-1485 ActiveMQTestBase.threadDump should print information about locks and deadlocks
Improved implementation of ActiveMQTestBase.threadDump which uses ThreadMXBean
for getting information about threads including locks and deadlocks.
2017-10-31 08:04:11 +01:00
Clebert Suconic 1af6d986a5 ARTEMIS-1447 Reuse thread pools on JDBC Locks
I had moved the initialization of the thread pools for that..
I also have changed the CrticialAnalyzer to use the same pools as part of this
2017-10-27 22:32:53 -04:00
Clebert Suconic bc97720bf2 NO-JIRA small doc on ActiveMQScheduledComponent 2017-10-26 15:38:37 -04:00
Martyn Taylor 76b1f9cf8f ARTEMIS-1482 Catch malformed SimpleString 2017-10-25 10:22:01 -05:00
ederign1 56e2592e58 [ARTEMIS-1477] Removing netty-all dependency from clients 2017-10-23 20:24:33 -04:00
Clebert Suconic c66a7975e6 ARTEMIS-1462 Fixing QueueControlTest 2017-10-18 12:21:47 -04:00
Francesco Nigro 40f49ef0bc ARTEMIS-1462 Allow ActiveMQScheduledComponent initial delay configuration
It contains:
 - an improved documentation of the constructors
 - the initial delay configuration
2017-10-16 17:33:15 -04:00
barreiro f8b758d14b
ARTEMIS-1451 - Remove synchronization on ActiveMQThreadPoolExecutor 2017-10-05 21:30:31 +01:00
Clebert Suconic 178d403117 NO-JIRA Adding CriticalAnalyzer test on HALT 2017-09-29 11:35:47 -04:00
Michael Andre Pearce b53b3acdb4 ARTEMIS-1439 Upgrade Netty to 4.1.16
Upgrade netty.
Remove tacticle fix for https://issues.apache.org/jira/browse/ARTEMIS-1099
as now fixed/handled upstream in netty from 4.1.16 https://github.com/netty/netty/issues/7150
2017-09-28 13:51:00 -05:00
Clebert Suconic 796c4f2c4e ARTEMIS-1441 Critical Analyzer Check Period not properly parsed 2017-09-27 20:59:05 -04:00
Timothy Bish a07cb45222 ARTEMIS-1400 Fix some minor issues spotted with FindBugs
Remove a bit of dead code, and invert two string tests that were testing
for null after comparing the value to empty string (NPE scenario).
2017-09-11 12:08:02 -04:00
Clebert Suconic d414a1968b ARTEMIS-1401 fixing test (NPE on EmptyCriticalAnalyzer) 2017-09-07 21:30:34 -04:00
Francesco Nigro 9cf222be11 ARTEMIS-1393 CriticalAnalyzer timeout uses System::currentTimeMillis
The timeout logic is changed to use System::nanoTime, less sensible to OS clock changes.
The volatile set on CriticalMeasure are changed with cheaper lazySet.
2017-09-07 10:11:35 -04:00
Clebert Suconic c8982d775b [maven-release-plugin] prepare for next development iteration 2017-09-05 17:03:48 -04:00
Clebert Suconic 84d5ac65b4 [maven-release-plugin] prepare release 2.3.0 2017-09-05 17:03:37 -04:00
Justin Bertram 714655a051 NO-JIRA improve password masking doc & code
Move password masking documentation into its own chapter and tweak it a
bit for clarity and comprehensiveness.
2017-09-05 16:40:38 -04:00
Clebert Suconic ed1b268d42 [maven-release-plugin] prepare for next development iteration 2017-08-31 13:48:09 -04:00
Clebert Suconic 21f2a4a52c [maven-release-plugin] prepare release 2.3.0 2017-08-31 13:47:57 -04:00
Clebert Suconic 6fda75a9fc ARTEMIS-1297 Load balance or redistribution of AMQP Messages 2017-08-29 12:56:15 -05:00
Clebert Suconic f2d74e7a43 ARTEMIS-1367 Moving CriticalAnalyzerPolicy 2017-08-24 18:08:01 -04:00
Francesco Nigro bdf1061058 ARTEMIS-1357 TypedProperties encode/decode improvement 2017-08-22 22:17:39 -04:00
Clebert Suconic 012fe58b2c ARTEMIS-1333 fixing test, cannot flush itself from Runnable 2017-08-09 16:02:10 -04:00
Michael Andre Pearce 0bc5510059 ARTEMIS-1342: Support Netty Native KQueue on macOS
Add support for KQueue for when server or client runs on macOS. This is inline with the epoll support for linux.
2017-08-09 15:23:16 -04:00
Clebert Suconic 8bc15b1199 ARTEMIS-1334 Scheduled component shouldn't be synchronized 2017-08-09 15:18:54 -04:00
Clebert Suconic 1ace306121 ARTEMIS-1328 Improving direct delivery check
Instead of wait to flush an executor,
I have added a method isFlushed() which will just translate to the
state on the OrderedExecutor.

In the case another executor is provided (for tests) there's a delegate
into normal executors.
2017-08-08 14:00:58 -04:00
Clebert Suconic f16af75354 ARTEMIS-1324 Deadlock detection and health check of critical components 2017-08-07 18:40:03 -04:00
Clebert Suconic fdad83be22 [maven-release-plugin] prepare for next development iteration 2017-07-24 21:21:18 -04:00
Clebert Suconic 71b1cc2a20 [maven-release-plugin] prepare release 2.2.0 2017-07-24 21:21:06 -04:00
Dmitrii Tikhomirov 28087ad4af [ARTEMIS-1293] Log messages without prefixed id code in artemis-commons 2017-07-17 10:34:06 -04:00
Clebert Suconic 7fd17f407f ARTEMIS-1269 Simple Actor to replace certain executions
This is replacing an executor on ServerSessionPacketHandler
by a this actor.

This is to avoid creating a new runnable per packet received.

Instead of creating new Runnable, this will use a single static runnable
and the packet will be send by a message, which will be treated by a listener.

Look at ServerSessionPacketHandler on this commit for more information on how it works.
2017-07-11 14:22:36 -04:00
Clebert Suconic 89e84e1320 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-06 19:04:48 -04:00
Armand Roelens 1ecbd97cd4 ARTEMIS-1252 Add service loading of password codec to obtain its implementation from the app's root context 2017-06-29 16:00:00 -04:00
Clebert Suconic f407d86f0f ARTEMIS-1253 Fixing NetworkHealthCheck being shutdown after failures 2017-06-26 16:15:39 -04:00
Michael Andre Pearce c65ea783ea ARTEMIS-1189 - Fix checkstyle violations post checkstyle upgrade
After upgrade of checkstyle, resolve violations

remove checkstyle override added as temp measure at point of upgrade forced by sevntu
2017-05-30 13:40:00 -04:00
Ville Skyttä fe505b37b4 Spelling fixes 2017-05-30 10:32:41 +03:00
Michael Andre Pearce a4e19b432b ARTEMIS-1164: NameNotFoundException when using java.naming.provider.url to set url via jndi
Support setting PROVIDER_URL on initial context to create default connection factories.
2017-05-17 10:28:18 -05:00
Clebert Suconic f1f4d4dec3 ARTEMIS-1156 Adding deprecated TypedProperties extending new location
We recently moved TypedProperties under ./util/collections
This is exposed through Messages so we added this as a deprecated option.

We also had to add this class on a separate commit from dc26ac96b4
to preserve git history on the new one.
2017-05-12 10:06:20 -04:00
Clebert Suconic dc26ac96b4 ARTEMIS-1156: moving our collections on its own package 2017-05-12 10:06:05 -04:00
Michael André Pearce c1d55aa84f ARTEMIS-1156: FIX: Long Autoboxing occurring on Hot Path
Building on ARTEMIS-905 JCtools ConcurrentMap replacement  first proposed but currently parked by @franz1981, replace the collections with primitive key concurrent collections to avoid auto boxing.

The goal of this is to reduce/remove autoboxing on the hot path.
We are just adding jctools to the broker (should not be in client dependencies)
Like wise targeting specific use case with specific implementation rather than a blanket replace all.

Using collections from Bookkeeper, reduces outside tlab allocation, on resizing compared to JCTools, which occurs frequently on testing.
2017-05-12 10:05:51 -04:00
Justin Bertram 5cb5c8a6dc 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.
2017-05-09 14:43:17 -05:00
Clebert Suconic ce61d20f5a [maven-release-plugin] prepare for next development iteration 2017-05-08 15:20:12 -04:00
Clebert Suconic 64e8f015ee [maven-release-plugin] prepare release 2.1.0 2017-05-08 15:20:01 -04:00
Francesco Nigro 21c9ed85cf 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
2017-05-08 11:55:28 -04:00