Releases: SDVentures/Contour
Releases · SDVentures/Contour
Contour 1.7.10-rc1
Changes:
- Round robin selector made thread-safe; empty collection requirement removed;
- Request default timeout fixture added;
- Sender request timeout is set to 30 seconds by default
- Listener tasks are now created as long running on dedicated threads due to poor application performance while using the thread pool with default configuration;
Contour 1.7.9
Changes:
- All producers will now be re-enlisted on channel failure. This will optimize the time needed to send a message in case of connection drops because the sender will immediately switch to the next available producer in queue.
Contour 1.7.8
Changes:
- Producer thread safety has been relaxed to use read-write locking, since an ordinary lock may make the send operation in parallel thread (of a listener, for example) "fail fast" while acquiring a lock. This will look like a producer is re-starting. This condition can be observed in a scenario with a huge number of listeners (high number of incoming labels and/or high parallelism level) trying to emit messages via a specific sender. Thus despite the message rate is high on the input, an endpoint is not currently able to scale on the output.
Contour 1.7.7
Changes
- Listeners are no longer shared between receivers; thus in case of concurrent message consumption by two or more listeners from the same queue the broker will define a listener to handle the message.
Contour 1.7.6
Improvements:
- Fault tolerant producer is now able to set and manage retry delays when making send attempts (see #47);
- Payload logging in sender has been removed;
Contour 1.7.5
Improvements:
- Round robin will not rotate if everyone has jumped off (#79)
Contour 1.7.4
Improvements:
- A callback receiver type has been introduced to handle responses separately from the consumers (#76)
Contour 1.7.3
Improvements
- Attempt errors aggregation added
- Listener consuming action fallback changed to take the first action if none of the provided satisfy the accepted labels; Message properties extraction fixed: the source properties of the message are always preserved;
- Listener sharing fixed: separate listeners are created for separate labels and queues on the same host; a shared listener is created for different labels(exchanges) attached to the same queue on the same host
- Listener delistment and producer re-enlistment introduced to reconfigure producer on channel shutdown
- Dynamic routing fixed: a new disposable channel is obtained each time topology is rebuilt
Contour 1.7.2
Improvements
- dynamic routing has been fixed: a new disposable channel is obtained each time topology is rebuilt; this lets the builder create a dynamic topology described by the lambda method which will be evaluated at runtime;
Contour 1.7.0
Improvements
- connection fail over support introduced:
if a couple of connection strings is provided for an incoming label a group of listeners will be created each restoring a connection if it has been closed or failed in flight; the same applies for the producers, but the endpoint will try to use the next available producer to send a message until the attempts limit is reached; - runtime connection string provider feature added:
a connection provider type can be now specified for the endpoint; it will override the connection string for incoming and outgoing labels; it can be used to resolve the connection strings using 3rd party configuration provider;