Fork me on GitHub

History

The following sections outline Oracle Coherence Incubator changes in reverse chronological order.

Version 12.3.2 built on 2016-06-29 10:05

Source and Documentation Contributors

  • Brian Oliver
  • Jonathan Knight
  • Jan Vissers

Global and Cross-Module Changes

  • COHINC-125: Replaced use of deprecated DeferredAssert.assertThat(...) methods with Eventually.assertThat(...)

  • COHINC-146: Corrected use of <connect-timeout> configuration elements for Coherence 12.1.2+.

coherence-eventdistributionpattern

  • COHINC-140: Optimized (by avoiding) Event Distribution when all Event Channels are disabled.

  • COHINC-144: Introduced the ability to universally control all EventChannels for a single EventDistributor though the new EventDistributor JMX MBeans.

coherence-processingnpattern

  • COHINC-143: Resolved issue where the processing pattern cluster-config configuration elements aren't correctly included when using introduce-cache-config namespace.

coherence-eventdistributionpattern

  • COHINC-149: Resolved issue where an Event Channel (controller) may remain in WAITING or DELAYING state when there are pending Events to send.

coherence-pushreplicationpattern

  • COHINC-36: Fixed an issue where keys of replicated entries were being deserialized on the receiving cluster during replication.

  • COHINC-149: Resolved issue where an Push Replication Event Channels may remain in WAITING or DELAYING state when there are pending Events to send.

Version 12.3.1 built on 2015-08-06 17:28

Source and Documentation Contributors

  • Brian Oliver

Global and Cross-Module Changes

  • COHINC-125: Upgraded to use Oracle Tools 2.0.0-RC9

  • COHINC-142: Upgraded to use Coherence 12.1.2-0-4 (and certified with Coherence 12.1.3-0-2)

coherence-processingpattern

  • COHINC-132: Removed use of Coherence internal calls (Base.checkNotNull(...)) to ensure that the pattern works across different versions of Coherence.

  • COHINC-137: Repair processing-pattern configuration files (fails validation when enforced)

coherence-pushreplicationpattern

  • COHINC-136: Removed duplicate definition of Coherence*Web dependency.

  • COHINC-141: Resolved ClassCastException experienced with Coherence 12.1.2-0-3.

Version: 12.3.0 built on 2014-12-10 11:21

Source and Documentation Contributors

  • Brian Oliver, Tim Middleton

Global and Cross-Module Changes

coherence-common

  • COHINC-124: Introduced the ability to determine if a FiniteStateMachine is still accepting Events to process while performing an StateEntry/StateExit/Transaction Acton through the use of the new ExecutionContext.isAcceptingEvents() method.

  • COHINC-126: Added support for merging <defaults> elements in a Coherence Cache Configuration when using the XmlPreprocessingNamespaceHandler (aka: introduce-cache-config)

  • COHINC-128: Removed the dependency on CGLib from the pom.xml file as the code does not actually have a dependency on CGLib.

  • COHINC-129: Removed unnecessary Coherence ConfigurableCacheFactory functional test. These have been part of core Coherence functional tests since 3.7.1.

coherence-messagingpattern

  • COHINC-118: Introduced JMX-based diagnostics for Susbcriptions. This includes the ability to display the internal state of a Subscription.

  • COHINC-121: Resolved potential message leaks when publishing to disabled subscriptions (subscriptions won't recieve messages, but messages may be left unacknowledged)

coherence-eventdistributionpattern

  • COHINC-106: Added missing @OnArrived and @OnDeparting annotations to the CoherenceEventChannelSubscription and JMSEventChannelControllerConfiguration LiveObjects to ensure correct event distribution and push replication recovery during fail-over/fail-back/scale-out/scale-down.

  • COHINC-108: Resolved ability to distribute and replicate Cache Entry expiry timeouts between clusters.

    This includes introducing the ability to customize expiry when during conflict resolution.

  • COHINC-110: Introduced the ability to control batch-size, inter batch-distribution-delay and restart-delay using JMX at runtime.

  • COHINC-112: Replaced the "message out of order" log when using Coherence-based event distribution implementations with something more apppropriate. This log only indicates that a recovery is occuring (nothing bad!), because it's redistributing messages to an event channel that previously failed for some reason.

  • COHINC-115: Refactored the "drain" functionality for Coherence-based event distribution implementations so that they use the configured batches and delays.

  • COHINC-120: Introduced the ability to "propagate" a copy of a NamedCache over an associated EventChannel using a JMX operation. This allows remote clusters to be "rebuilt" from another cluster or alternatively allows an EventChannel implementation to receive a entire copy of a NamedCache.

  • COHINC-128: Correct the scope of the dependency on oracle-tools-core to make it test scope.

  • COHINC-133: Corrected the choice of class loader when realizing Event Distribution Channels to prevent ClassNotFound exceptions when running in certain containers.

coherence-pushreplicationpattern

  • COHINC-64: Changed the coherence-web dependency to be "provided".

  • COHINC-120: Introduced the ability to "propagate" a copy of a NamedCache over an associated EventChannel using a JMX operation. This allows remote clusters to be "rebuilt" from another cluster or alternatively allows an EventChannel implementation to receive a entire copy of a NamedCache.

coherence-jvisualvm

  • COHINC-107: Memory Based Charts Should use bytes method.

  • Minor UI tweaks for Windows platforms.

coherence-incubator-site

  • COHINC-119: Modifed pom.xml to produce and deploy the documentation to github in the "deploy" phase.

Version 12.2.0 built on 2014-04-12 08:57

Source and Documentation Contributors

  • Jonathan Knight, Brian Oliver, Tim Middleton

Global and Cross-Module Changes

coherence-incubator-all

  • COHINC-90: (re)Introduced coherence-incubator-all distribution that contains all of the Incubator projects, as a single artifact.

coherence-common

  • COHINC-85: Improved Annotation-based FiniteStateMachine Models to allow for @Transitions defined by super-classes.

  • COHINC-87: Introduced the ability to control whether a NonBlockingFiniteStateMachine autostarts (aka: transitions) to its initial state.

  • COHINC-89: Refactored to use new Coherence 12.1.2-0-1 serializable configuration classes and removed internally defined classes.

  • COHINC-101: Improved LiveObject test isolation.

coherence-commandpattern

  • COHINC-80: Fixed methods in CommandExecutor annotated for use with the AnnotationDrivenModel so that they have the correct signature.

  • COHINC-100: Resolved issue where Commands may not be executed after adding/removing cluster members.

coherence-commandpattern-tests

  • Introduced new functional tests module for the coherence-commandpattern.

coherence-messagingpattern-tests

  • COHINC-81: Upgraded for Oracle Tools improvements.

  • COHINC-98: Removed unnecessary code to clean up MessageEngine instances for Destinations upon successful Message delivery. This could cause unnecessary creation of MessageEngines for the next Message on the Destination, including the allocation of a new Finite State Machine and associated Thread.

coherence-eventdistributionpattern

  • COHINC-83: Refactored AbstractEventChannelController internals to use a Non-Blocking Finite State Machine, instead of Java Synchronization and an ExecutorService.

    Apart from simplifying the implementation, this enhancement permits the use of "coalescing events", which can help reduce CPU when message subscriptions are updated, causing numerous events triggering extraneous distribution requests.

  • COHINC-93: Introduced new DELAYED state for the AbstractEventChannelController, together with a new "polling-delay" configuration for Event Channels. This allows separate control of polling and inter-batch delays.

  • COHINC-102: Corrected <cachestore-scheme> documentation (and implementation). Such schemes must use the namespace. Standard Coherence cachestore-scheme xml elements are not supported directly.

  • COHINC-103: Corrected the resolution of target/destinations caches when using a LocalCacheEventChannel.

  • COHINC-127: Corrected expiry-time calculation to ensure that "loaded" BinaryEntries can be sent over an EventChannel without loss of fidelity. This allows LocalCacheEventChannels to correctly update Entries with the required expiry time.

coherence-pushreplicationpattern-tests

  • COHINC-11: Refactored Push Replication Functional Tests into their own module.

coherence-jvisualvm

  • COHINC-79: JVisualVM Plugin Does not Report Cache Storage Details when connected to 3.6 and earlier cluster.

  • COHINC-84: VisualVMModel generalDataArea should not be editable.

  • COHINC-91: Jvisualvm Plugin Incorrectly Reports Session Counts for Multiple Coh*web Apps.

  • COHINC-96: Corrected labels on the Packet Publisher and Receiver Graphs.

  • COHINC-97: Corrected Cache Size metrics that failed to take the configured unit-calculator into account.

  • COHINC-105: Add Cluster Name and Version to "Cluster Information" Header

Version: 12.1.0 built on 2013-12-05 15:16

Source and Documentation Contributors

  • Tim Middleton, Brian Oliver

Global and Cross-Module Changes

  • COHINC-74: Upgraded projects to use Oracle Tools 1.1.0

  • COHINC-75: Upgraded projects to use Oracle Coherence 12.1.2-0-1

coherence-incubator-site (Documentation)

  • No Changes

coherence-common

  • No Changes

coherence-commandpattern-examples

  • No Changes

coherence-functorpattern

  • No Changes

coherence-functorpattern-examples

  • No Changes

coherence-processingpattern-examples

  • No Changes

coherence-processingpattern-examples

  • COHINC-82: Resolved an issue in the Processing Pattern Web Examples Tests where the FunctionalTest could fail due to the storage nodes and web server failing to form a cluster.

coherence-messagingpattern

  • No Changes

coherence-eventdistributionpattern

  • COHINC-71: Introduce the ability to filter events prior to queuing them for distribution. This resolves unnecessary queuing of events to be published when we know they will never be published. eg: when using certain HUB and SPOKE or CENTRALIZED topologies.

  • COHINC-73: Resolves an issue where the Event Optimizing Transformer may cause NPE with certain topologies.

coherence-pushreplicationpattern

  • COHINC-71: Introduce the ability to filter events prior to queuing them for distribution. This resolves unnecessary queuing of events to be published when we know they will never be published. eg: when using certain HUB and SPOKE or CENTRALIZED topologies.

  • COHINC-73: Resolves an issue where the Event Optimizing Transformer may cause NPE with certain topologies.

coherence-pushreplicationpattern-examples

  • No Changes

coherence-pushreplicationpattern-web-example

  • No Changes

coherence-jvisualvm

  • Introduced the Coherence JVisualVm Plug-in.

Version 12.0.0 built on 2013-09-09 08:54

Source and Documentation Contributors

  • Noah Arliss, Brian Oliver, Paul Mackin, David Rowlands

Global and Cross-Module Changes

  • Upgraded projects to use Oracle Coherence 12.1.2-0-0

  • Updated all configuration files to use the latest configuration namespaces. Importantly previous namespace handler implementations remain and are fully operational. They are simply deprecated in favor of the new implementations.

coherence-incubator-site (Documentation)

  • Updated the documentation to reflect support for Oracle Coherence 12.1.2-0-0

coherence-common

  • Removed the following packages, classes and interfaces:

    com.oracle.coherence.common.applications - now available in Oracle Tools. com.oracle.coherence.common.backingmaplisteners - use Coherence 12.1.2 Live Events instead. com.oracle.coherence.common.builders - use Coherence 12.1.2 configuration model instead. com.oracle.coherence.common.configuration - use Coherence 12.1.2 configuration model instead. com.oracle.coherence.common.events - all but interfaces for Event Distribution removed. com.oracle.coherence.common.logging - all but CoherenceLogHandler removed. com.oracle.coherence.common.network - now available in Oracle Tools. com.oracle.coherence.common.runtime - now available in Oracle Tools. com.oracle.coherence.common.serialization - use Coherence 12.1.2 serialization annotations instead. com.oracle.coherence.configuration - use Coherence 12.1.2 configuration model instead. com.oracle.coherence.environment - use Coherence 12.1.2 configuration model instead.

  • Introduced the com.oracle.coherence.common.liveobjects package to encapsulate the new implementation of Live Objects (this will soon become an independent pattern)

  • Introduced the com.oracle.coherence.common.namespace package to encapsulate the new custom namespace handler implementations for Coherence 12.1.2

  • Removed the InstanceNamespaceContentHandler (instance) and ValueNamespaceContentHandler (value) namespace handlers. These are no longer required as regular Coherence 12.1.2 elements can be used. These we deprecated in Incubator 11.

coherence-commandpattern

  • Refactored to use Live Events instead of Backing Map Listeners. This included changing the internal cache configuration used for the pattern.

  • Refactored to use internally use Non-Blocking-Finite-State Machines instead of hand-crafted states and thread synchronization.

coherence-commandpattern-examples

  • No Changes

coherence-functorpattern

  • Refactored to use Live Events instead of Backing Map Listeners. This included changing the internal cache configuration used for the pattern.

coherence-functorpattern-examples

  • No Changes

coherence-processingpattern

  • Refactored to use Live Events instead of Backing Map Listeners. This included changing the internal cache configuration used for the pattern.

  • Refactored to the configuration to use the extensible namespace feature of Oracle Coherence 12.1.2.

coherence-processingpattern-examples

  • No Changes

coherence-messagingpattern

  • Refactored to use Live Events instead of Backing Map Listeners. This included changing the internal cache configuration used for the pattern.

  • Refactored to use java.util.Logging.

  • Refactored to use internally use Non-Blocking-Finite-State Machines instead of hand-crafted states and thread synchronization.

coherence-eventdistributionpattern

  • Refactored to use Live Events instead of Backing Map Listeners. This included changing the internal cache configuration used for the pattern.

  • Refactored to the configuration to use the extensible namespace feature of Oracle Coherence 12.1.2.

coherence-pushreplicationpattern

  • COHINC-65: Resolved issue where attempting to remove non-existing or expired entries would not be replicated.

coherence-pushreplicationpattern-examples

  • No Changes

coherence-pushreplicationpattern-web-example

  • No Changes