Commit Graph

86 Commits

Author SHA1 Message Date
Martyn Taylor 26898e4663 ARTEMIS-288 Start close method in separate executor
When server sends disconnect to the client, the ClientSession schedules
a close task on it's ordered executor.  Once the close method starts
it's waits to check to see if all jobs in it's executor has completed.
To do this it adds a job to it's ordered executor, once it is run it
knows there is nothing more to do and thus is ready to close.  However,
this causes a deadlock as both jobs are running in the ordered executor
and thus are both waiting on each other.  The close eventually timesout
which is why we see the logs as reported in the JIRA.

This commit runs the close method in it's own ordered executor, thus
preventing the two jobs blocking each other.
2015-10-29 14:34:19 +00:00
Andy Taylor 290cb65b17 ARTEMIS-281 - fix reference counting for jgroups channels
https://issues.apache.org/jira/browse/ARTEMIS-281
2015-10-27 10:10:52 +00:00
Ivo Studensky 8a2ecff4fd ARTEMIS-274 ActiveMQThreadFactory has to be constructed within doPrivileged block 2015-10-22 09:30:14 -04:00
Andy Taylor 31f2389343 ARTEMIS-269 - sett restartBackup to true by default
https://issues.apache.org/jira/browse/ARTEMIS-269
2015-10-22 13:20:28 +01:00
Clebert Suconic 7dc839c07d Adding getDefaultFailbackDelay back to the interface
this is public interface, we can't remove methods...
It's being deprecated though
2015-10-20 18:03:09 -04:00
jbertram ef5a9809f2 ARTEMIS-256 orchestrate failback deterministically
The failback process needs to be deterministic rather than relying on various
incarnations of Thread.sleep() at crucial points. Important aspects of this
change include:

1) Make the initial replication synchronization process block at the very
last step and wait for a response from the replica to ensure the replica has
as the necessary data. This is a critical piece of knowledge during the
failback process because it allows the soon-to-become-backup server to know
for sure when it can shut itself down and allow the soon-to-become-live
server to take over. Also, introduce a new configuration element called
"initial-replication-sync-timeout" to conrol how long this blocking will occur.

2) Set the state of the server as 'LIVE' only after the server is fully
started. This is necessary because once the soon-to-be-backup server shuts
down it needs to know that the soon-to-be-live server has started fully before
it restarts itself as the new backup. If the soon-to-be-backup server restarts
before the soon-to-be-live is fully started then it won't actually become a
backup server but instead will become a live server which will break the
failback process.

3) Wait to receive the announcement of a backup server before failing-back.
2015-10-20 14:55:31 -04:00
Martyn Taylor 3e6f229436 ARTEMIS-262 Check connection status change before callbacks 2015-10-20 10:41:00 +01:00
Andy Taylor 98c2aa433f ARTEMIS-262 Fix Bridge OOM exception
Netty 4.x uses pooled buffers.  These buffers can run out of memory when
transferring large amounts of data over connection.  This was causing an
OutOfMemory exception to be thrown on the CoreBridge when tranferring
large messages.  Netty provides a callback handler to notify listeners
when a Connection is writable.  This patch adds the ability to register
connection writable listeners to the Netty connection and registers the
relevant callback from the Bridge to avoid writing when the buffers are
full.
2015-10-19 10:32:59 +01:00
Clebert Suconic 6bf1241628 ARTEMIS-257 cleaning up dependencies on artemis-core-client 2015-10-13 10:44:49 -04:00
Petter Nordlander 7afe87996b ARTEMIS-252 added jmx operations to retry messages 2015-10-12 17:03:42 -04:00
jbertram 717ddd1675 ARTEMIS-255 make non-blocking-failover-timeout configurable 2015-10-12 13:38:56 -05:00
Clebert Suconic a48046be5f ARTEMIS-151 more fixes because of the TransportConfiguration changes 2015-10-08 20:32:44 -04:00
Clebert Suconic 206acdac7d ARTEMIS-238 and ARTEMIS-236 Fixing Legacy protocol support 2015-10-08 20:32:43 -04:00
Clebert Suconic c3448e7029 ARTEMIS-151 Fixing tests 2015-10-07 18:48:26 -04:00
Clebert Suconic 33188bb4d9 ARTEMIS-151 Considering name as part of equals and hashCode 2015-10-07 15:30:50 -04:00
Clebert Suconic 55d175eedf Adding javadocs to Message properties 2015-09-28 16:16:20 -04:00
Julian Scheid 235380d5df ARTEMIS-230 Copy STOMP content-header back and forth 2015-09-28 14:53:10 +02:00
Martyn Taylor bb2c890803 [maven-release-plugin] prepare for next development iteration 2015-09-15 15:43:44 +01:00
Martyn Taylor 63ea448728 [maven-release-plugin] prepare release 1.1.0 2015-09-15 15:41:37 +01:00
Martyn Taylor 6408fd0357 [maven-release-plugin] prepare for next development iteration 2015-09-11 19:01:57 +01:00
Martyn Taylor c512f12a34 [maven-release-plugin] prepare release 1.1.0 2015-09-11 19:01:19 +01:00
Clebert Suconic f5a727259e ARTEMIS-222 fixing a deadlock that appeared on the testsuite (MultipleThreadsOpeningTest)
https://issues.apache.org/jira/browse/ARTEMIS-222
2015-09-11 09:07:49 -04:00
Martyn Taylor fec6546480 [maven-release-plugin] prepare for next development iteration 2015-09-08 16:39:59 +01:00
Martyn Taylor 4d0b15b043 [maven-release-plugin] prepare release 1.1.0 2015-09-08 16:29:09 +01:00
Martyn Taylor 82f6a88d59 [maven-release-plugin] prepare for next development iteration 2015-09-07 10:02:01 +01:00
Martyn Taylor 8c1e0e15fc [maven-release-plugin] prepare release 1.1.0 2015-09-07 10:01:10 +01:00
Martyn Taylor a2aa18c123 [maven-release-plugin] prepare for next development iteration 2015-09-04 20:20:13 +01:00
Martyn Taylor a5decb659e [maven-release-plugin] prepare release 1.1.0 2015-09-04 20:19:11 +01:00
Martyn Taylor 4576ccea08 [maven-release-plugin] prepare for next development iteration 2015-09-04 19:48:52 +01:00
Clebert Suconic 220e39ef1f ARTEMIS-217 fixing dead lock
https://issues.apache.org/jira/browse/ARTEMIS-217 fixing dead lock

This is using a separate lock for notifications, this way we won't hold a lock while communicating on netty which was the issue here.
2015-09-03 18:06:11 -04:00
Clebert Suconic ab618d295d binding UDP to localhost so the testsuite will work on environments where UDP is not available due to firewal constraints
The server would need to have loopback routes for UDP for this to work.
2015-09-03 18:06:10 -04:00
Clebert Suconic d31b0ea352 simply a supressWarnings annotation 2015-08-31 20:02:10 -04:00
jbertram 853d3665df ARTEMIS-206 HTTP Upgrade does not work over HTTPS 2015-08-31 14:30:25 -05:00
Clebert Suconic 9794569675 enclosing IPV6 in the case of openWire as well 2015-08-27 15:56:43 -04:00
jbertram c08d791216 ARTEMIS-212 Unable to parse IPv6 address 2015-08-27 15:29:21 -04:00
Clebert Suconic 8935483cdd ARTEMIS-208 fixing BrokerInfo, using OpenWire connection instead of static property on the protocolManager 2015-08-24 22:54:59 -04:00
jbertram 7a1199c475 ARTEMIS-210 outbound RA connection load-balancing
Inbound sessions are always created from the same ActiveMQConnectionFactory
which means the load-balancing policy is applied to them in the expected
manner. However, outbound sessions are created from independent, unique
ActiveMQConnectionFactory instances which means that the load-balancing
doesn't follow the expected pattern.

This commit changes this behavior by caching each unique
ActiveMQConnectionFactory instance and using it for both inbound and outbound
sessions potentially. This ensures the sessions are load-balanced as
expected.
2015-08-24 18:24:04 -05:00
Ville Skyttä 9be47ad145 Remove redundant abstract modifier 2015-08-16 15:31:35 +03:00
Clebert Suconic 1dae99746b ARTEMIS-204 Improvements on OpenWire
https://issues.apache.org/jira/browse/ARTEMIS-204

by consequence this will also fix any possible issues with AMQP
2015-08-13 20:39:01 -04:00
jbertram 3bb88c60ca ARTEMIS-179 fix scale-down 2015-08-10 10:23:30 -05:00
Clebert Suconic 5ac2c2444b manual checkstyle changes 2015-08-10 10:08:23 -04:00
Clebert Suconic bac96047f5 automatic checkstyle change
this is just calling Idea format on all the files using the new style
I am separating manual changes from automatic changes in case I have to repeat the manual changes again
2015-08-10 09:26:42 -04:00
Clebert Suconic dd8203185b ARTEMIS-180 removing -Pexample and some other improvements around the examples 2015-08-07 15:17:28 -04:00
Clebert Suconic ee84d7efdf new method to create ServerLocator 2015-08-05 09:24:22 -04:00
Clebert Suconic d5dde68f0c ARTEMIS-157 fixing isHA on connectionFactory 2015-07-22 17:46:04 +01:00
Ville Skyttä d6f8ed8d70 Deprecate PROTOCOL_PROP_NAME, avoid deprecation warning on STOMP tests 2015-07-22 11:54:18 +01:00
Ville Skyttä b0a80ce1be Spelling fixes 2015-07-09 10:41:03 -04:00
Clebert Suconic 45ac13008f ARTEMIS-153 Improving reconnection log.debug
https://issues.apache.org/jira/browse/ARTEMIS-153

This is bringing some small changes recent made on the legacy implementation
2015-07-06 14:35:17 -04:00
Otavio Rodolfo Piske f47d1bd15a ARTEMIS-129 removes empty package-info.java files
As describes in ARTEMIS-129, performs a small cleanup on the codebase by removing empty package-info.java files.
2015-06-23 10:50:13 -04:00
Clebert Suconic f401a67ffe ARTEMIS-136 extending XA change to also cover RBOTHER 2015-06-23 10:08:23 -04:00