How to see the status of the cache using JMX

Applies to: Denodo 8.0 , Denodo 7.0 , Denodo 6.0
Last modified on: 03 Jun 2020
Tags: Cache Optimization Performance

Download document

You can translate the document:


This document describes how to monitor the status of the cache load processes using JMX. In this example we are going to use JConsole to subscribe to notifications  that provide details on cache load processes.


  1. Open JConsole (JConsole is distributed as part of any JDK)
  2. Connect to the VDP JMX server.  Note that prior to Denodo 8.0, the installation default for the JMX server is port 9999, not 9997.

  1. From the MBeans tab, navigate to the mbean.    For versions of Denodo prior to 8.0, the cache load details are in Virtual Database specific mbeans, so navigate to the,databaseName={vdbName},subtype=DatabaseCache mbean for the database you need to monitor.

  1. Select Notification.  This will open an empty Notification buffer.

(The Notifications buffer in pre-8.0 VDB Management mBeans, shown within an
example Virtual Database)

  1. At the bottom of the Notification buffer window, select Subscribe to start listening for Cache Load JMX notifications.

  1. Each time the VDP server loads any view cache, it will trigger a startRefreshCacheProcess event.  When that event is complete, it will trigger a endRefreshCacheProcess event.  Each process is correlated by the SeqNum value, so administrators can see at a glance if a process has started but has not yet ended.  JConsole always shows the newest notifications at the top of the buffer.
  2. The UserData attribute contains CompositeData objects, and can be expanded to show additional details about each notification.  Many values will be null on the start notification, and some are only applicable to PARTIAL or FULL cache processes and such will be null for the other.  Some attributes of typical interest are;
  • CacheStatus - whether the process is PARTIAL or FULL cache.
  • DatabaseName - the Virtual Database the cached view is in.
  • ViewName - the name of the cached view.
  • ProjectedFields - a String array of the column names included in the cache process.
  • NumOfReceivedRows and NumOfInsertedRows - the volume of data received and inserted, respectively.  A discrepancy may indicate a problem with the cache database source system.
  • QueryPatternState - an indicator of the state of the load process.  This should always be PROCESSING on the start notification, and either VALID (for a successful load process) or INVALID (if something went wrong) on the end notification.


Virtual DataPort Administration Guide: Monitoring with a Java Management Extensions (JMX) agent.

Virtual DataPort Administration guide: Information on the Cache.


Ask a question
You must sign in to ask a question. If you do not have an account, you can register here

Featured content


Ready for more? Great! We offer a comprehensive set of training courses, taught by our technical instructors in small, private groups for getting a full, in-depth guided training in the usage of the Denodo Platform. Check out our training courses.