PRODUCTS AND SERVICES INDUSTRIES SUPPORT PARTNERS COMMUNITIES ABOUT
  Coherence 3.1 User Guide
  Release Notes
Added by Rob Misek, last edited by Jason Howes on Feb 17, 2006  (view change)

Labels

 
(None)

Tangosol CoherenceTM 3.1 Release Notes

The following is a list of new features and improvements in Tangosol Coherence 3.1:

  • Coherence Management Framework Enhancements

    • Added the ability to register any compliant Standard or Dynamic MBean type with the Management Framework. See the JavaDoc for the Registry class for additional details.
    • Added the following attributes to the ClusterNode MBean:

      Name Type Access Description
      LoggingDestination String RO The output device used by the logging system. Valid values are stdout, stderr, jdk, log4j, or a file name.
      LoggingFormat String RW Specifies how messages will be formatted before being passed to the log destination
      LoggingLevel Integer RW Specifies which logged messages will be output to the log destination. Valid values are non-negative integers or -1 to disable all logger output.
      LoggingLimit Integer RW The maximum number of characters that the logger daemon will process from the message queue before discarding all remaining messages in the queue. Valid values are integers in the range [0...]. Zero implies no limit.
      MemoryAvailableMB Integer RO The total amount of memory in the JVM available for new objects in MB.
      MemoryMaxMB Integer RO The maximum amount of memory that the JVM will attempt to use in MB.
      MulticastAddress String RO The IP address of the Member's MulticastSocket for group communication.
      MulticastEnabled Boolean RO Specifies whether or not this Member uses multicast for group communication. If false, this Member will use the WellKnownAddresses to join the cluster and point-to-point unicast to communicate with other Members of the cluster.
      MulticastPort Integer RO The port of the Member's MulticastSocket for group communication.
      MulticastTTL Integer RO The time-to-live for multicast packets sent out on this Member`s MulticastSocket.
      PacketsRepeated Long RO The number of duplicate packets received since the node statistics were last reset.
      PacketsResent Long RO The number of packets resent since the node statistics were last reset. A packet is resent when there is no ACK received within a timeout period.
      UnicastAddress String RO The IP address of the Member's DatagramSocket for point-to-point communication.
      UnicastPort Integer RO The port of the Member's DatagramSocket for point-to-point communication.
      WellKnownAddresses String[] RO An array of well-known socket addresses that this Member uses to join the cluster.


    • Added the following attributes to the Service MBean:

      Name Type Access Description
      RequestAverageDuration Float RO The average duration of an individual synchronous request issued by the service since the last time the statistics were reset.
      RequestMaxDuration Long RO The maximum duration of a synchronous request issued by the service since the last time the statistics were reset.
      RequestPendingCount Long RO The number of pending synchronous requests issued by the service.
      RequestPendingDuration Long RO The duration of the oldest pending synchronous request issued by the service.
      RequestTotalCount Long RO The total number of synchronous requests issued by the service since the last time the statistics were reset.


    • Added a new StorageManager MBean type that surfaces additional management attributes and operations for the storage-enabled portion of a partitioned cache. The StorageManager MBean has the following attributes:

      Name Type Access Description
      EventsDispatched Long RO The total number of events dispatched by the StorageManager since the last time the statistics were reset.
      IndexInfo String[] RO An array of information for each index applied to the portion of the partitioned cache managed by the StorageManager. Each element is a string value that includes a ValueExtractor description, ordered flag (true to indicate that the contents of the index are ordered; false otherwise), and cardinality (number of unique values indexed).
      ListenerFilterCount Integer RO The number of filter-based listeners currently registered with the StorageManager.
      ListenerKeyCount Integer RO The number of key-based listeners currently registered with the StorageManager.
      ListenerRegistrations Long RO The total number of listener registration requests processed by the StorageManager since the last time the statistics were reset.
      LocksGranted Integer RO The number of locks currently granted for the portion of the partitioned cache managed by the StorageManager.
      LocksPending Integer RO The number of pending lock requests for the portion of the partitioned cache managed by the StorageManager.

      and the following operations:

      Name Parameters Return Type Description
      resetStatistics void void Reset the storage statistics.


  • Coherence*Extend-JMS Enhancements

    • Resolved potential serialization errors of some JMS Message classes when a JMS NamedCache stub is used as a CacheLoader by a LocalCache with an extremely aggressive expiration policy (COH-300).
    • Significantly optimized synchronous MapEvent dispatching. This improvement greatly increases the performance of a NearCache backed by a JMS NamedCache stub.
    • Optimized JMS NamedCache stub erase() and store() operations.
    • Added the ability to override the default JMS Message time-to-live via the tangosol.coherence.jms.ttl system property. This property specifies the default time-to-live in milliseconds and defaults to 10000 (10 seconds).
    • Added the ability to configure a JMS NamedCache proxy to be read-only via the tangosol.coherence.jms.readonly system property. If set to true, all JMS NamedCache proxy instances running within the JVM will reject any request from a JMS NamedCache stub that may potentially modify the contents of the target NamedCache.
    • Added support for the complete set of NamedCache operations with the exception of lock() and unlock() to the JMS NamedCache stub. See the JavaDoc for the AdapterFactory class for additional details.
    • Added the ability to map a cache name directly to a JMS caching scheme in a cache configuration descriptor file.
    • Added support for remove() on a NearCache when a JMS NamedCache stub is used as the back map.

  • Coherence*Web Enhancements

    • Resolved an issue with the SplitHttpSessionCollection that caused HTTP session attributes larger than 512 bytes to be erroneously stored in the external HTTP session storage cache during the first request for a new HTTP session (COH-331).
    • Resolved an issue with the Coherence*Web Installer that caused Servlet 2.4-specific schema attributes to be dropped from the <web-app> web.xml root element during installation (COH-347).
    • Added support for the following containers:
      • IronFlare Orion 2.0.x
      • Oracle® OC4J 10.1.x
      • BEATM WebLogicTM Portal 8.x
    • Added support for JSPs that extend a base Servlet class.
    • Upgraded the Coherence*Web Installer Ant task to Ant 1.6.5.
    • Improved the HttpSessionModel flush logic to more aggressively detect and flush potentially modified HTTP session attributes (COH-327).
    • Tuned the default session cache configuration file to reduce memory consumption when using the SplitHttSessionCollection.
    • Made the Coherence*Web Installer more resilient to malformed web.xml files (COH-343).
    • Added a new HttpSessionManager MBean for managing and monitoring Coherence*Web installations. See the JavaDoc for the HttpSessionManager class for additional details.

  • Berkeley DB External Caching Scheme

    Coherence 3.1 introduces support for Berkeley DB backed overflow maps. When enabled within a Coherence overflow scheme any data overflowing a cache from this scheme will be moved into an on-disk Berkeley DB binary store. This functionality requires the Berkeley DB Java Edition class libraries which may be obtained separately. See the documentation for the <bdb-store-manager> element in the Coherence Cache Configuration User Guide for additional details.

  • CacheProvider Implementation for BEATM WebLogicTM Portal

    Coherence 3.1 includes a CacheProvider implementation for the WebLogic Portal P13N CacheProvider SPI. See Using Coherence and BEA WebLogic Portal in the Coherence User Guide for additional details.

  • CacheProvider and CacheStore Implementations for Hibernate

    Coherence 3.1 includes several options for integrating with Hibernate including a Hibernate CacheProvider SPI implementation and a CacheStore implementation that uses Hibernate. See Using Coherence and Hibernate in the Coherence User Guide for additional details.

  • Overflow Caching Enhancements

    Coherence overflow caching functionality has been dramatically expanded:

    • OverflowMap now supports the full CacheMap API, including expiry.
    • Support for re-entrancy was added.
    • Support for caching misses was added.
    • Concurrency (and thus multi-threaded throughput) has been improved.
    • A number of optimizations have been added for high-latency disk stores.
    • The memory footprint of the overflow feature has been reduced in general, and a new overflow option has been added to support overflowing very large data sets to disk without using any additional memory.

      See the documentation for the <overflow-scheme> element in the Coherence Cache Configuration User Guide for additional details.

  • InvocableMap API

    Coherence 3.1 introduces a new InvocableMap interface that is fully supported by all Coherence NamedCache implementations. An InvocableMap is a Map against which both entry-targeted processing and aggregating operations can be invoked. While a traditional model for working with a Map is to have an operation access and mutate the Map directly through its API, the InvocableMap allows that model of operation to be inverted such that the operations against the Map contents are executed by (and thus within the localized context of) a Map.

    Use of the InvocableMap API is particularly useful in a distributed environment, because it enables the processing to be moved to the location at which the entries-to-be-processed are being managed, thus providing efficiency by localization of processing. Furthermore, the Partitioned Cache implementation of InvocableMap enables processing to be performed in parallel across all storage-enabled cluster nodes.

    Several useful aggregator and processor implementations are also included:

  • CommonJ WorkManager implementation

    Coherence 3.1 includes an implementation of commonj.work.WorkManager interface based on the "The Timer and Work Manager for Application Servers" specification, which is a foundation of JSR 237: Work Manager for Application Servers. See the JavaDoc for the WorkManager class for additional details.

  • Continuous Query Cache

    Coherence 3.1 provides a feature that combines a query result with a continuous stream of related events that maintain the query result in a real-time fashion. This capability is called Continuous Query. See the JavaDoc for the ContinuousQueryCache class for additional details.

  • Configuration Enhancements

    • Tuned the default cluster protocol settings to increase network throughput. See this forum thread for additional details.
    • Added the ability to perform a graceful cluster shutdown via the Coherence shutdown hook. See the documentation for the <shutdown-listener> configuration element in the Coherence Operational Configuration User Guide for additional details.
    • Added the ability to name a cluster. This name is used to identify and prevent unintentional cluster address collisions.
    • Added logic to identify and prevent unintentional address collision between WKA and non-WKA clusters.
    • Added debug-level log messages that show the location of the various configuration files used by Coherence.
    • Added the ability to implement and configure a custom LocalCache eviction policy. See the documentation for the <eviction-policy> element in the Coherence Cache Configuration User Guide for additional details.
    • Added the ability to implement and configure a custom LocalCache unit calculation algorithm. Two default implementations are included. The FIXED unit calculator assigns an equal weight of 1 to all cached objects. The BINARY unit calculator assigns a Binary object a weight equal to the number of bytes of memory required to cache the object and is useful for limiting the size of a Binary backing map based upon the actual amount of memory consumed by the map. See the documentation for the <unit-calculator> element in the Coherence Cache Configuration User Guide for additional details.

  • Other Enhancements

    • Resolved a synchronization issue with the readUTF() method on the Binary class that could potentially cause an exception to be thrown on a client thread during heavy concurrent cache access (COH-359) . See this forum thread for additional details.
    • Made the partitioned cache service more resilient to CacheStore or custom backing map failures during putAll() or removeAll() operations. See this forum thread for additional details (COH-323).
    • Improved parallel query and keySet() performance for partitioned caches during heavy concurrent use.
    • Increased aggressiveness of the partitioned cache re-distribution algorithm during servers fail-back.
    • Optimized the InvocationService.execute() implementation for "fire and forget" use cases.
    • Added full expiry support to external backing map implementations.
    • Fixed an issue where entry-specific expiry information would be reset to the default expiry during failover (COH-276).
    • Prevented the replicated cache from raising a ConcurrentModificationException under heavy load (COH-384). See this forum thread for additional details.
    • Added unicast test utility for network testing.
    • Improved Javadoc readability.
    • Other performance improvements and bug fixes.