Release Notes Monterey Version 4.0 Milestone Two (v4.0.0-SNAPSHOT) New Features ------------ The major changes between M1 and M2 are: 1. Actors can migrate between venues, while guaranteeing in-order exactly-once message delivery and minimal pause time in the actor's processing. 2. Multi-broker support, where the Monterey network can use multiple brokers (e.g. one per location); these can be added/removed on-the-fly. 3. Venues can be dynamically re-wired to use different brokers; the primary broker can be switched (i.e. the broker that the venue publish messages to). 4. Concurrent transition control: attempts to execute transitions (e.g. migrations) concurrently will be handled correctly 5. Qpid broker supported, as well as the existing ActiveMQ support 6. Venues/actors publish metrics (e.g. messages sent/received, time proessing, etc) 7. Two migration modes supported: - Efficient subscription-switchover using a custom broker-plugin: minimises the time that an actor stops receiving/processing messages to be just the length of time the actor is "in-flight" during a migration; the broker continually delivers a stream of messages first to the old venue and then to the new venue. This requires the Qpid 0.14 broker. - Use of durable subscriptions at the broker: an actor closes its connection, migrates, and reconnects to continue processing the messages queued at the broker. This mode works with any JMS-compatible broker, but gives longer pause times for an actor when it migrates. Upgrade Instructions -------------------- Maven is the recommended way to install Monterey. Maven will handle versioning when you specify the desired version number in your pom. If installing the stand-alone product, we recommend that you install it into a different directory to any existing Cloudsoft software. Backwards Compatibility ----------------------- Monterey version 4.0 is not backwards compatible with version 3. Cloudsoft can offer advice and support for applications that need to be upgraded. For upgrading from 4.0.M1 to M2: 1. The test harness is now in the maven module monterey-testharness, rather than monterey-venue-pojo 2. The VenueTestHarness.suspendActor and resumeActor methods have been replaced with the migrateActor method. Supported Versions ------------------ Maven 3.0.x, or tools that support maven, are used for dependency management. For Java 7, testing is still ongoing. Any user feedback is gratefully received! Known Limitations and Issues ---------------------------- Known limitations and issues are as follows: 1. When shutting down using Brooklyn, errors may be reported: "Error calculating value for sensor Sensor" and "java.lang.IllegalStateException: Not connected to JMX for entity Venue" This is benign. 2. To run ActiveMQ and Venues in EC2, a security group that opens all tcp ports must be used. This is to provide access over JMX; in a future milestone release we will lock down the ports to use, and auto-configure the security group). 3. Venue logging cannot be customized using Brooklyn. However, one can connect directly to the Venue to configure its logging. 4. The majority of testing has been with ActiveMQ brokers. Apache Qpid is also supported. There is not yet support for other types of broker. We expect support for RabbitMQ to be added shortly. Features Expected in Version 4.0.0-M3 ------------------------------------- For M3, you can look forward to seeing: 1. Embeddable venues, for running inside AS7, tc Server, pojo JVM apps, etc 2. Improved scalability and performance 3. Improved robustness 4. Health-checking for venues, to detect failures