Commit Graph

276 Commits

Author SHA1 Message Date
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