Along with Coherence 12.2.1, we introduced a new version of the JVisualVM Plug-in supporting major new Coherence functionality such as Persistence and Federation, as well as including small incremental improvements.
As per our release notes: “Coherence persistence is a set of tools and technologies that manage the persistence and recovery of Coherence distributed caches. Cached data is persisted so that it can be quickly recovered after a catastrophic failure or after a cluster restart due to planned maintenance.”
I’ll be doing an in-depth post on Persistence soon, but take a look at the Coherence Documentation for more information.
When you connect to a cluster that has either on-demand (the default), or active persistence enabled, you will see a new persistence tab displayed.
We can see we have one service, PartitionedCache, which has active Persistence. The majority of the columns in the table are used for active persistence and show usage and latency information as well as the number of snapshots saved as well as status information
As is shown in the menu option to the right, you can right-click on a service and issue the Persistence operations listed. These operations call JMX operations via the PersistenceCoordinator MBean.
Note: A Snapshot is a consistent copy of an entire service and can be used to recover a service to a known state. Snapshots can be archived to central locations as an entire set and can be validated for consistency.
We can also see graphs of active space used and information on additional latency that may have been incurred using active mode. All these statistics are available in raw form under the Service MBean.
Persistence operations generate standard JMX notifications and we have added support to easily display these in the plug-in on the “Notifications” tab. If I create and then recover a snapshot you can see the notifications being generated.
Again, from the release notes: “Federated caching replicates and synchronizes cache data across multiple geographically dispersed clusters. Cached data is replicated across clusters to provide redundancy, off-site backup, and multiple points of access for application users in different geographical locations.”
Its a really exciting new feature that simplifies cross-cluster replication greatly. I’ve run the Federation demo, which is part of the OOTB Examples explained in this post, and connected to ClusterA via JVisualVM.
For more information on Federation see the Coherence Documentation.
You can see that Federation details such as bandwidth utilization other statistics are displayed for the participants (clusters) in the topology. Various operations can also be carried out against the participants such as starting, pausing and resuming replication as well as forcing a replication of all data.
See the MBean reference for more details on the underlying Federation MBeans.
Other Updates to the Plug-in
Minor UI Update
In the upcoming 22.214.171.124.1 patch, you will see a minor update to the plugin UI to more correctly align it with the general JVisualVM plugins.
Display Near Cache Details
When selecting a cache which is a near-cache, then information on the “near” portion will be displayed in the plug-in.
Hope you enjoy using the plugin and feel free to provide feedback and suggestions on how you use it and we can improve it.
Just as a reminder, when you install Coherence via the installer, the plug-in is available at $COHERENCE_HOME/coherence/plugins/jvisualvm/coherence-jvisualvm.nbm.
For details on how to install the plugin-in see the Documentation.