As of version 4.5, Jive includes a new framework for in-memory caching. The new framework replaces the in-memory cache provided in releases prior to 4.5.0 by Oracle Coherence. Coherence is no longer in the application. The new caching subsystem operates as an external service with simpler administration and increased stability and flexibility compared to previous releases.
As part of this change, the clustering and caching features were separated into two distinct frameworks. Previously, Coherence had handled both features. This topic describes changes to both features.
The changes described here involve design and behavior concepts that are described more deeply in In-Memory Caching Overview.
This FAQ answers questions about the changes in both design and practical terms.
What happened?
In versions prior to 4.5, the application's in-memory caching and clustering features were based on Oracle Coherence. As of version 4.5, the two features no longer share an implementation framework; both were reimplemented from scratch and Coherence was removed. Generally speaking, these changes were made to help ensure that the application continues to perform well under heavy load.
What was wrong with the previous model?
While the previous model for clustering and caching worked reasonably well for many releases, the application had begun to outgrow the model in many of its deployments. Here are the main reasons:
What changed?
See Changes in Clustered Installations below for a detailed list of design characteristics and changes.
Will clustering and caching be changed in previous versions?
There are no plans to change the clustering and caching features in versions prior to 4.5.
How are caching and clustering related now?t
The features aren't two aspects of the same framework (as they were prior to version 4.5) -- they're separate now, but interoperate. Although the parts of the caching system are not aware of their presence in a cluster, the clustering system is aware of the caches. For example, when changes occur to data in one node's near cache, the clustering system is responsible for ensuring that the other nodes are aware of the change.
The items listed here describe aspects of the new caching model in a clustered context. Many of these characteristics directly differ from the previous model.
In the new model, long-running cache operations such as this will time out and return null after 500 ms. In this way an unresponsive cache node won't cause the application to hang. A cluster node's failure affects only the load balancer and clustering technology; if the failing node is the current cluster master, the application will elect a new master node.