271 Commits

Author SHA1 Message Date
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
Ville Skyttä
31404f8a38 Remove redundant null checks 2016-03-07 15:49:50 -05: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
Martyn Taylor
964b145733 ARTEMIS-423 Do not set backup node as self 2016-02-29 16:11:58 +00:00
Ville Skyttä
7c275cdb1a Use generics more 2016-02-28 01:06:59 +02:00
Clebert Suconic
6bdfe95f66 ARTEMIS-350 small improvement on the writable logic 2016-02-23 15:04:49 -05:00