Commit Graph

116 Commits

Author SHA1 Message Date
Martyn Taylor 945963ed07 Remove DelegatingSession class
DelegatingSession class wraps ClientSessionImpl and attempts to close
session should it not be closed by the user.  It does this by
implementing finalize.  However, the order in which finalize runs can be
difficult to predict as compilers, and JIT compilers are able to
optimize early.

The current DelegatingSession was causing problems of finalize getting
called early (before consumers, producers were finished with the
session).  This was causing tests to fail on the IBM JDK (which
optimizes early).  The same happens on OpenJDK if the GC is forced.
2016-01-11 19:43:10 -05:00
Ville Skyttä f85e5e7922 Deprecation fixes 2016-01-11 13:22:18 -05:00
Clebert Suconic 96849a42b7 ARTEMIS-332 - Duplicate delivery over Bridges under OME scenarios, paging and other failures
https://issues.apache.org/jira/browse/ARTEMIS-332
2016-01-04 20:49:28 -05:00
Martyn Taylor 2c430e597b [maven-release-plugin] prepare for next development iteration 2016-01-04 11:50:36 +00:00
Martyn Taylor f182c806b6 [maven-release-plugin] prepare release 1.2.0 2016-01-04 11:49:58 +00:00
Martyn Taylor 5f32e6575c [maven-release-plugin] prepare for next development iteration 2016-01-04 09:24:34 +00:00
Martyn Taylor 150c5d87aa [maven-release-plugin] prepare release 1.2.0 2016-01-04 09:19:35 +00:00
Clebert Suconic d1c1c50aa2 https://issues.apache.org/jira/browse/ARTEMIS-320 fixing memory leak 2016-01-01 13:39:56 -05:00
Clebert Suconic 9167213f00 ARTEMIS-328 Fixing message loss through the bridge
https://issues.apache.org/jira/browse/ARTEMIS-328
2015-12-21 23:00:52 -05:00
Ville Skyttä d48e344a8f Add missing @Overrides 2015-12-21 22:06:03 -05:00
Ville Skyttä a0dc9861a0 Access static members directly 2015-12-21 22:01:21 -05:00
Ville Skyttä a5eb04a2ba Remove Java < 1.5 support from XMLUtil.getTextContent 2015-12-21 21:47:15 -05:00
Clebert Suconic c0f71c3e15 fixing executor (adding state back) 2015-12-17 22:46:33 -05:00
Stuart Douglas 631c2fa780 Change to a lock free ordered executor 2015-12-17 22:17:08 -05:00
Martyn Taylor 90c9469701 [maven-release-plugin] prepare for next development iteration 2015-12-17 17:03:40 +00:00
Martyn Taylor df61224d2d [maven-release-plugin] prepare release 1.2.0 2015-12-17 17:01:58 +00:00
Martyn Taylor 0e8f2f39af ARTEMIS-312 Allow configurable of, and inject of client global thread pools 2015-12-16 18:19:25 -05:00
Clebert Suconic af1f79bff5 ARTEMIS-302 more changes around XA reliability (resilience on failures) 2015-12-16 10:19:35 -05:00
Andy Taylor d1e154e888 ARTEMIS-311 - added broker name to jmx object name properties.
Its now possible to also add the broker name to jmx tree avoiding clashes when multiple brokers are in a single vm. This is now the default but the old way can be used with some configuration

https://issues.apache.org/jira/browse/ARTEMIS-311
2015-12-16 10:19:01 -05:00
Clebert Suconic b1b4bb8a32 ARTEMIS-320 Refactoring TCP flow control and proper implementation of flow control on consumers
https://issues.apache.org/jira/browse/ARTEMIS-320
2015-12-10 16:50:26 -05:00
Clebert Suconic 351bcfc9f9 ARTEMIS-319 Improving files allocation and implementing journal-pool-files
https://issues.apache.org/jira/browse/ARTEMIS-319
2015-12-10 16:49:58 -05:00
Ville Skyttä f8a1c5ba8e Remove redundant type arguments 2015-12-07 22:55:05 +02:00
Ville Skyttä 25ae472455 Add missing @Override annotations 2015-12-06 01:27:35 +02:00
Andy Taylor 00cac50a37 ARTEMIS-281 - add channel receiver correctly/
We also need to add the receiver whn the refcount = 1 and the channel may already be connected.

https://issues.apache.org/jira/browse/ARTEMIS-281
2015-11-25 09:45:39 +00:00
jbertram 6b42ffbd26 ARTEMIS-226 fix typo in Netty constants 2015-11-23 21:40:36 -05:00
Clebert Suconic b1d5076108 ARTEMIS-302 - more work about improving resilience of MDBs and XA 2015-11-16 18:11:44 -05:00
Clebert Suconic 7bbd17cd37 ARTEMIS-302 - Improving XA Resilience 2015-11-11 09:50:58 -05:00
Martyn Taylor 1cdc01fc44 ARTEMIS-295 Remove 'yet' from log messages 2015-11-04 14:49:11 +00:00
Ville Skyttä 68c9f3fd69 Spelling fixes 2015-11-03 10:30:40 -05:00
Andy Taylor b73e61ac52 ARTEMIS-292 - fix isSameHost on TransportConfiguration
Ive renamed the current isSameHost method to isSameparams as thats what it checked and added a new method for isSameHost that checks the appropriate params for the connector. Ive changed ClientSessionFactoryImp to use this to correct the behaviour.

https://issues.apache.org/jira/browse/ARTEMIS-292
2015-11-03 10:29:31 -05:00
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