RUM Engine 9.40 Database Disk Space Fix

  • KM03067799R
  • 08-Jan-2018
  • 02-Feb-2018

This document is under revision.

Summary

This document provides a workaround for RUM Engine 9.40 Database Disk Space issue observed in Engine installations on other than “C:\” drives.

Error

Error in RUM Engine:
2017-09-01 13:08:21,304 [Timer-51] (DiskSpaceWatch.java:329) ERROR - Could not retrieve disk space data from DB
java.sql.SQLException: Unknown error 1126
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1749)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1666)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:249)
at com.mercury.rum.repository.maintenance.DiskSpaceWatch.defineFunction(DiskSpaceWatch.java:362)
at com.mercury.rum.repository.maintenance.DiskSpaceWatch.verifyFunctionDefinition(DiskSpaceWatch.java:350)
at com.mercury.rum.repository.maintenance.DiskSpaceWatch.verifyFunctionDefinitions(DiskSpaceWatch.java:338)
at com.mercury.rum.repository.maintenance.DiskSpaceWatch.getDiskSpaceDataForDBPartitions(DiskSpaceWatch.java:295)
at com.mercury.rum.repository.maintenance.DiskSpaceWatch.handleNotification(DiskSpaceWatch.java:442)
at com.mercury.rum.engine.common.jmx.timer.NotificationAdapter.handleNotification(JMXTimer.java:433)
at sun.reflect.GeneratedMethodAccessor230.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:154)
at com.sun.proxy.$Proxy94.handleNotification(Unknown Source)
at javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:275)
at javax.management.NotificationBroadcasterSupport$SendNotifJob.run(NotificationBroadcasterSupport.java:352)
at javax.management.NotificationBroadcasterSupport$1.execute(NotificationBroadcasterSupport.java:337)
at javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:248)
at javax.management.timer.Timer.sendNotification(Timer.java:1236)
at javax.management.timer.Timer.notifyAlarmClock(Timer.java:1198)
at javax.management.timer.TimerAlarmClock.run(TimerAlarmClock.java:74)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)

Error in RUM Probe:
[139862049138592] ERROR collector <collector/main.cpp:388> - HPRUMProbe: Exception caught during startup: Database engine initialization failure; 

check MySQL configuration

Cause

1. In RUM Engine’s System Health, the “Database Free Space” metric is showing “Unknown Status”
See "Database Free Space Issue.png"

2. This issue is observed in Engine installations on other than “C:\” drives.

3. Issue is due to wrong path mentioned in the “rum_options.ini” file.

Fix

Follow the below steps for the fix:

1. Stop RUM Engine MySQL DB
2. Make sure the mysqld.exe and mysql.exe processes have exited
3. Edit the path of basedir with correct path in file <InstallDir>/HPRUM/MySQL/rum_options

[mysqld]
datadir         = E:/HPRUM_DATA
basedir        = C:/HPRUM/MySQL (Change this to point to correct directory)

4. Start RUM Engine MySQL DB
5. Execute:

D:\HPRUM\MySQL\bin>mysql.exe -u admin rum_schema -p
Enter password: *****

6. Run the following mysql queries:

a. show variables like 'basedir';
b. show variables like 'plugin_dir';
c. INSTALL plugin example SONAME 'ha_example.dll';
d. CREATE FUNCTION freeDiskSpace RETURNS INTEGER SONAME 'HPFuncs.dll';

7. Launch System Health tab from the RUM Engine Web Console and make sure that the “Database Free Space” metric is showing the correct value.
See screenshot "Database Free Space Fixed.png"