Table of Contents
This appendix lists the changes to the MySQL Enterprise Monitor, beginning with the most recent release. Each release section covers added or changed functionality, bug fixes, and known issues, if applicable. All bug fixes are referenced by bug number and include a link to the bug database. Bugs are listed in order of resolution. To find a bug quickly, search by bug number.
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.6.
Bugs fixed:
The agent did not start because the file
share/mysql-proxy/items/custom.xml
was
missing from the build, but referred to in the configuration
file. The log recorded the following error:
Default log: ------------ 2009-09-18 16:25:12: (critical) chassis.c:1097: could not raise RLIMIT_NOFILE to 8192, Invalid argument (22). Current limit still 1024. 2009-09-18 16:25:13: (critical) job_collect_mysql.c.1894: opening '/data0/merlin/agent/2.0.7.7163/openSUSE10.3-x86-64bit/qa-merlin/share/mysql-proxy/items/c ustom.xml' failed with: Failed to open file '/data0/merlin/agent/2.0.7.7163/openSUSE10.3-x86-64bit/qa-merlin/share/mysql-proxy/items/c ustom.xml': No such file or directory 2009-09-18 16:25:13: ((error)) scheduler.c:318: register_classes() for plugin collect_mysql failed
If the reference to
share/mysql-proxy/items/custom.xml
was
removed from the “agent-item-files = ...” entry in
the configuration file, then the agent started as expected.
(Bug#47443)
After upgrading to Mac OS X Snow Leopard, the following error was generated when starting an agent:
Macintosh-6:replication ligaya$ ./Master.5.1.34sp1/MEM_agent/etc/init.d/mysql-monitor-agent start Starting MySQL Enterprise agent service... ./Master.5.1.34sp1/MEM_agent/etc/init.d/mysql-monitor-agent: line 175: 861 Trace/BPT trap nohup $MERLIN_AGENT_ROOTDIR/bin/mysql-monitor-agent $MERLIN_AGENT_OPTIONS > /dev/null ERROR! MySQL Enterprise agent failed to start.
Further, when attempting to display the agent version the following error was generated:
Macintosh-6:replication ligaya$ ./Master.5.1.34sp1/MEM_agent/bin/mysql-monitor-agent -v dyld: Library not loaded: /usr/lib/libxml2.2.dylib Referenced from: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices .framework/Versions/A/DictionaryServices Reason: Incompatible library version: DictionaryServices requires version 10.0.0 or later, but libxml2.2.dylib provides version 9.0.0 Trace/BPT trap
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.5.
Functionality added or changed:
Events used a GMT timestamp for the event time within email notifications, rather than the local time for the server generating the event.
MySQL Enterprise Monitor has been changed so that it displays the time using the server's locale and GMT. (Bug#43739)
Bugs fixed:
Initial setup and registration of MySQL Enterprise Monitor could fail on Mac OS X when communicating with the MySQL Enterprise website. (Bug#46571)
If a migration from 1.3 to 2.0 was initiated and a new server created during the migration, but then deleted before migration was finished, the new server delete operation failed with an Null Pointer Exception (NPE). (Bug#44991)
The Rule “InnoDB Buffer Cache Hit Rate Not Optimal” in the “Memory Usage” Advisor did not contain an uptime check. This resulted in premature firing of an info event. (Bug#44770)
In the Advisor “Administration” the Rule “InnoDB Redo Logs Not Sized Correctly” did not fire correctly. The rule contained the expression:
(%have_innodb% == "YES") && ((%innodb_log_file_size% * %innodb_log_files_in_group%) < LEAST(1073741824, (%innodb_buffer_pool_size% / 2)))
This was incorrect and needed to be changed to:
(%have_innodb% == "YES") && ((%innodb_log_file_size% * %innodb_log_files_in_group%) <= LEAST(1073741824, (%innodb_buffer_pool_size% / 2)))
The recommendation for the rule Table Cache Not
Optimal
says:
Recommended Action SET GLOBAL table_cache = (64 + 16);
But an error was generated on executing that query:
mysql> SET GLOBAL table_cache = (64 + 16); ERROR 1193 (HY000): Unknown system variable 'table_cache' mysql> select version(); +------------+ | version() | +------------+ | 5.1.31-log | +------------+ 1 row in set (0.01 sec)
When running the shutdown script for Enterprise Dashboard, it
took an unacceptably long time for Tomcat to terminate
completely, the java
process eventually had
to be killed manually.
(Bug#44327)
The upgrade installer overwrote any custom settings stored in
WEB-INF/config.properties
. For example it
set the database host back to localhost
.
(Bug#44003)
When updating an Agent from 2.0 to 2.1 the
mysql-monitor-agent.ini
was incorrectly
updated.
This happened if the Agent was configured to use SSL to connect to the Enterprise Dashboard, on a port other than 18443. The update installer caused any value specified for the port to be changed to 18443. This did not happen if the Agent was not using SSL. (Bug#43900)
An error was generated when an attempt was made to rename a Replication Group to one that had previously been deleted. (Bug#43846)
A new topology was not discovered after the previous replication group was renamed. (Bug#43815)
On Unix systems, executing the command:
./mysqlmonitorctl.sh stop
did not make sure that mysqld
was shutdown
before finishing.
This resulted in a situation such as the following:
# /opt/mysql/enterprise/monitor-2.0.0.7092/mysqlmonitorctl.sh stop Using CATALINA_BASE: /opt/mysql/enterprise/monitor/apache-tomcat Using CATALINA_HOME: /opt/mysql/enterprise/monitor/apache-tomcat Using CATALINA_TMPDIR: /opt/mysql/enterprise/monitor/apache-tomcat/temp Using JRE_HOME: /opt/mysql/enterprise/monitor-2.0.0.7092/java Stopping tomcat service ... [ OK ] /opt/mysql/enterprise/monitor-2.0.0.7092/mysqlmonitorctl.sh : mysql stopped
However, running the following command a few minutes later showed that the MySQL server was still running:
# /opt/mysql/enterprise/monitor-2.0.0.7092/mysqlmonitorctl.sh status MySQL Network MySQL is running MySQL Network Tomcat is not running
The MySQL Enterprise Monitor upgrade installer incorrectly
replaced the AdvisorScript.jar
in
<instDir>/apache-tomcat/webapps/ROOT/WEB-INF/lib/
with the default Advisor JAR.
(Bug#43773)
The agent created the mysql.inventory
table
with an engine type of InnoDB, instead of MyISAM, when InnoDB
was specified as the default engine type in
my.cnf
. This happened because the agent did
not explicitly specify the table engine type to be of MyISAM.
(Bug#43551)
The MySQL Enterprise Monitor installer failed to install correctly due to insufficient disk space, even though the installer calculated there was suffcient disk space for the installation. This was due to the installer having out of date information regarding disk space requirements. (Bug#43538)
After removing enough servers to bring the host count back down to the number covered in the subscription, the Subscription Warnings reflected the new number. However, the warning message displayed:
You are currently monitoring 1 host, however your subscription covers only 1. Your subscription needs to be updated to cover at least 0 additional hosts.
Instead of displaying:
Your subscription is up-to-date You have no warnings at this time.
The former message resulted in confusion. (Bug#43163)
If a host was not a slave during the initial discovery phase, then it would not be displayed in the Replication tab if it subsequently became a slave.
This was because after the initial discovery phase, if a host
did not have slavestatus
present, no
subsequent checks were made to check for the host being a slave.
It was therefore missed for the purposes of replication
discovery and never showed in the Replication tab.
(Bug#42997)
The advisor “User Has Rights To Database That Does Not Exist” generated erroneous alerts.
If a database was created with an “_” character in the name, and then user privileges granted to this database using the escaped character sequence “\_” to prevent wildcards, then the advisor generates an error stating there is no database for the privilege.
For example, if the following is carried out on the monitored server:
CREATE DATABASE test_foo; GRANT SELECT ON `test\_foo`.* to testuser@'localhost' identified by 'test';
then the advisor warns that these users have rights to a database that does not exist:
''@'%' on DB test_%, 'test'@'localhost' on DB test_foo, 'testuser'@'localhost' on DB test_foo
The generic Linux IA64 glibc2.3 Agent installer was missing from the build. (Bug#41224)
The Enterprise Dashboard displayed a blank entry for Disk Space in the Meta Info area. This happened on Open Solaris 2008.05. This problem only occurred when using the ZFS file system. (Bug#40907)
The graphs for Thread Cache, Connections and Temporary Tables contained incorrect Japanese translations on their Y axis. The Japanese displayed “total connection time (min)” when it should have displayed something else. For example, the Thread Cache graph should have displayed “total/min”. (Bug#40413)
When the Agent was started as a service on Windows for the first
time, the name in the Task Manager window was
MYSQL-~1.EXE
. This occurred whether the
Agent was started from within the installer or from the Start
Menu.
If the service was restarted, the Agent's name changed to the
correct value, mysql-service-agent.exe
.
(Bug#30166)
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.4.
Bugs fixed:
The FreeBSD 7 Agent was inadvertently a Linux binary.
shell> file mysqlmonitoragent-2.0.5.7153-freebsd7-x86-32bit-installer.bin mysqlmonitoragent-2.0.5.7153-freebsd7-x86-32bit-installer.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
Calling the Agent with the option
--agent-run-os-tests
resulted in a crash. This
happened on Linux x86-64 systems. The resultant stack trace was:
(qa-merlin) 2009-03-04 16:39:42: (critical) chassis.c:1097: could not raise RLIMIT_NOFILE to 8192, Invalid argument (22). Current limit still 1024. sigar-test-all.c.124 (test_sigar_pid_get): pid = 5188 sigar-test-all.c.106 (test_sigar_mem_get): ...cut... sigar-test-all.c.427 (test_sigar_file_system_list_get): (items = 13) [0] fs.dirname = / fs.devname = /dev/mapper/vg00-root fs.typename = local fs.sys-type-name = ext3 fs.type = 2 fsusage.total = 15481840 fsusage.free = 14116140 fsusage.used = 1365700 fsusage.avail = 13329708 fsusage.files = 1966080 fsusage.use_percent = 0.100000 [0] diskusage.reads = 315302 diskusage.writes = 6318240 diskusage.write_bytes = 25879511040 diskusage.read_bytes = 6561092608 diskusage.queue = 47457530080206 Segmentation fault
On some systems no output was shown, other than the message “Segmentation fault”. (Bug#43381)
Following a change in the replication configuration, MySQL Enterprise Monitor did not display the new topology correctly. (Bug#43240)
When a data collection became invalid, the agent sent NULLs for those collection values. However, the timestamps that it sent with the values were the timestamps from the last valid value that was collected.
Due to key constraints on the Service Manager side, MySQL Enterprise Monitor disregarded anything sent with duplicate timestamps, thus the NULLs received from the agent were never processed. Some mechanisms, such as replication discovery, depend on the NULLs to identify a situation where data has become invalid. (Bug#43239)
MySQL Enterprise Monitor did not add a log entry each time data was purged. The log entry should have noted how many rows of each type of data were purged (historical data, logs, quan data). (Bug#43159)
MySQL Enterprise Monitor generated a stack overflow. This was as a result of a bug in Hibernate, which caused Hibernate to enter infinite recursion while trying to load a relationship. (Bug#43107)
The “Table Cache Set Too Low For Startup” and
“Table Cache Not Optimal” rules were not supported
on MySQL 5.1 because the table_cache
system
variable was deprecated and replaced with
table_open_cache
.
(Bug#42663)
Migrated server was not completely deleted.
In a Monitor that had been updated from 1.3.2 to 2.0.4, with 2 database servers queued for migration, if a server being migrated was deleted, or a migrated server was deleted, this would not be reflected in the user interface or in the license count, until Tomcat was restarted. (Bug#42604)
The installer used to upgrade from version 1.3 corrupted passwords containing the “?” character. (Bug#42452)
The replication status of a server was displayed as “unknown”. However, the agent logged no errors and the server showed no other event problems. The server status was displayed as “up” and the database connection was also displayed as “up”. (Bug#42407)
Sun multi-core processors caused all cores to be reported on the meta information page.
The larger T-series SPARC processors have 32+ cores. This caused the meta information page in the Dashboard to scroll as it reported each one. (Bug#42355)
If an attempt was made to disable a rule using the link next to the rule, the following error message was generated:
U0002 You must log in to access the requested resource. Go to login page.
However, clicking the link did not prompt the user to login again. (Bug#42313)
Changing ssh-agent
from OpenSSH or specifying
a malevolent value of agent-host-id
, could
inject data into the monitored MySQL Server.
For example, setting agent-host-id
to the
value “I'm a test” would result in the
following message in the error log:
2009-01-23 15:45:11: ((error)) agent_mysqld.c:281: mysql_real_query('INSERT INTO mysql.inventory (name, value) VALUES ( 'hostid', 'I'm a test' )') on 'mysql' failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'm a test' )' at line 1 (mysql-errno = 1064)
When SHOW GLOBAL STATUS
returned a value
greater than 214748364, it was sent to the Service Manager as
214748364.
(Bug#42245)
The Agent failed to identify local sockets as local on Mac OS X 10.4.
If the Agent was configured to use a Unix domain socket on Mac OS X 10.4, it did not treat the connection as local and failed to provide CPU and memory information to MySQL Enterprise Monitor. This is shown in the log file:
2009-01-20 18:15:02: (message) network-socket.c:752: is-local family 0 != 1 2009-01-20 18:15:02: (message) agent_mysqld.c:322: [mysql] mysqld is not local or not directly connected
However, this problem did not happen on Mac OS X 10.5. (Bug#42220)
Some graphs on the Graph tab were not updated after the page was refreshed, or was clicked.
The only way to get an updated graph was to change the graph size (in pixels) and then click Bug#42162)
. (
The my.cnf
file for the Enterprise Monitor
internal database had the following configuration item:
innodb_autoextend_increment = 50M
This generated the error:
16:36:23 [Warning] option 'innodb_autoextend_increment': unsigned value 52428800 adjusted to 1000
This variable is interpreted as being specified in MB, so 50M would be 50 TB. Such a high value results in the variable being adjusted to 1000 MB.
The value in the configuration file should be:
innodb_autoextend_increment = 50
A number of Advisor rules had advice text that had not been translated into Japanese. The Advisors that contained untranslated rules included Performance, Schema and Security. (Bug#42067)
The Service Manager did not handle the case where the agent
failed to supply a valid master_ip
. The
Service Manager would then not restart. The logs contained the
following:
2009-01-09 14:39:50,472 ERROR [main:org.springframework.web.context.ContextLoader] Context initialization failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'serverConnectionMonitor' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Unsatisfied dependency expressed through constructor argument with index 2 of type [com.mysql.etools.monitor.bo.Manager]: Error creating bean with name 'manager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is com.mysql.etools.monitor.pom.UnsupportedAttributeException: 101c6b5b-15eb-49aa-916c-843c51b28d38: mysql.slavestatus.Master_ip
Having too many users with strong privileges generated Service Manager errors and events failed to be triggered.
If there were approximately 1000 users with full privileges and
the value of group_concat_max_len
was set to
100001, the size of the data that the agent sent to the Service
Manager was too large and caused Service Manager errors. Also,
the Security event “Account has Strong MySQL
privileges” did not trigger.
(Bug#41987)
Query Analyzer's Query Type filter for SELECT
ignored statements starting with parenthesis.
If you sent a statement through Query Analyzer starting with parenthesis, such as:
(SELECT 1 FROM dual);
and then attempted to filter for SELECT
queries only, queries starting with parenthesis were not
displayed.
(Bug#41968)
The agent angel process was spawning too soon, which caused a duplicate UUID error.
g_error()
logged a fatal error, and called
abort()
. This terminated the program. Then
the angel respawned with the same UUID, but with a -1 session
resync request, which the MEM server denied because the old
session was still active. This resulted in a permissions denied
error (1142) on the mysql.inventory table
.
2008-12-17 18:58:58: (message) agent_mysqld.c:313: [mysql] mysqld is local and directly connected 2008-12-17 18:58:58: ((error)) agent_mysqld.c:444: [mysql] mysql_real_query("SELECT value FROM mysql.inventory WHERE name = 'uuid'") failed: SELECT command denied to user 'ent_agent'@'127.0.0.1' for table 'inventory' (errno=1142) 2008-12-17 18:58:58: (debug) chassis.c:282: 15134 returned: 15134 2008-12-17 18:58:58: (message) chassis.c:304: [angel] PID=15134 died on signal=6 (it used 0 kBytes max) ... waiting 3min before restart 2008-12-17 18:59:00: (debug) chassis.c:244: we are the child: 15149 2008-12-17 18:59:00: (message) chassis.c:259: [angel] we try to keep PID=15149 alive 2008-12-17 18:59:00: (debug) chassis.c:277: waiting for 15149 2008-12-17 18:59:00: (message) mysql-proxy 0.7.0 started 2008-12-17 18:59:00: (message) MySQL Monitor Agent 2.0.0.7111 started.
master_uuid
discovery did not work with MySQL Server versions prior to 5.1.
master_uuid
did not show in any Agent to Monitor communications, and no log
or error messages were generated.
However, now the bug has been fixed, an Agent monitoring a 5.0 MySQL Server would register the following in its logs:
... <classname>slavestatus</classname> <instance>12515cdc-8c00-4223-9d2a-2666a403512c</instance> <attribute>Master_uuid</attribute> </target> <utc>2009-03-03T19:58:05.700Z</utc> <value>b2fd9f86-6e42-49f2-b930-e8fb3e728179</value>
Note the presence of
master_uuid
.
(Bug#41525)
The
master_uuid
was not used for replication topology discovery.
The agent collected
master_uuid
by reading the master.info
file, and then
running a SELECT
directly against its master.
This was to try and read the mysql.inventory
table on the master to obtain the instance
master_uuid
.
However, this was not being used correctly by the replication topology discovery within the server. (Bug#41519)
Queries such as SELECT
against the master
mysql.inventory
was not logged on slave-based
agents. This made diagnosing topology discovery issues
difficult.
(Bug#41518)
After an error was generated due to an incorrect password while trying to create a new user, the following error was obtained when subsequently attempting to create a valid new user:
U0002 You must log in to access the requested resource
Agent startup failed on Solaris 10. The error generated was:
# ./mysql-monitor-agent start Bad string ERROR! /opt/mysql/enterprise/agent/etc/mysql-monitor-agent.ini has to have a [mysql-proxy].pid-file setting
This was caused by unexpected behavior of the tr command. (Bug#41260)
On the Query Analysis page, if a query was clicked the minimum displayed was greater than the average. (Bug#41259)
In some circumstances the agent/proxy ran out of file descriptors, causing secondary failures. It could not recover from that state. The relevant part of the log file is shown here:
2008-11-27 11:11:00: (critical) last message repeated 2 times 2008-11-27 11:11:00: (critical) job_collect_os.c:411: sigar_cpu_info_list_get() failed 2008-11-27 11:11:00: (critical) job_collect_os.c:445: sigar_cpu_list_get() failed 2008-11-27 11:11:00: (critical) job_collect_os.c:411: sigar_cpu_info_list_get() failed 2008-11-27 11:11:00: (critical) job_collect_os.c:445: sigar_cpu_list_get() failed 2008-11-27 11:11:00: (critical) job_collect_os.c:411: sigar_cpu_info_list_get() failed 2008-11-27 11:11:00: (critical) job_collect_os.c:445: sigar_cpu_list_get() failed 2008-11-27 11:11:00: (critical) job_collect_os.c:411: sigar_cpu_info_list_get() failed 2008-11-27 11:11:00: (critical) job_collect_os.c:445: sigar_cpu_list_get() failed 2008-11-27 11:11:30: (critical) network-socket.c.292: socket(127.0.0.1:3306) failed: Too many open files (24) 2008-11-27 11:11:30: (critical) proxy-plugin.c.1532: Cannot connect, all backends are down. 2008-11-27 11:20:22: (critical) last message repeated 4 times 2008-11-27 11:20:22: (critical) network-io.c:215: curl_easy_perform('https://user:password@merlin-dashboard:443/heartbeat') failed: SSL connection timeout (curl-error = 'Timeout was reached' (28), os-error = 'Connection refused' (111))
If an installation of Service Manager 2.0.0.7102 included a
backup
directory, due to a previous
upgrade, and was upgraded using at least Service Manager
2.0.0.7103, then the installer displayed an error message and
exited.
The error message displayed was:
There has been an error. Error renaming /Applications/mysql/enterprise/monitor/apache-tomcat to /Applications/mysql/enterprise/monitor/backup/apache-tomcat The application will exit now
The Agent started without problems and connected to the master.
But it was unable to perform a SELECT
from
the table mysql.inventory
to obtain server
information.
(Bug#40933)
Canonical Query Text for Select -1
was
displayed as SELECT -?
instead of
SELECT ?
on the Query Analyzer tab.
(Bug#40435)
The agent installer for Solaris 8 x86 32-bit was missing. (Bug#40248)
The MySQL Enterprise Monitor Dashboard did not display the subscribed notification group(s) on the Advisor Current Scheduled and Add to Schedule pages. (Bug#36007)
The startup scripts supplied with MySQL Network Monitoring and
Advisory tool did not supply all of the LSB
init.d
script options required. A list of
the required options can be found at the following website
http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
The required options missing include status
and force-reload
. The option
status
is used by monitoring tools and
cluster software such as Red Hat Cluster, to ensure that the
service is still running. The force-reload
option is an alias for restart.
(Bug#29848)
Multiple errors showed in the agent log after issuing a
SHOW INNODB STATUS
statement. The
InnoDB Buffer Pool
graph also went blank.
(Bug#27372)
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.3.
Bugs fixed:
The Monitor Agent did not log connections to, and disconnects from, the monitored database.
This meant it was not possible to check if the Agent was connected to the database by simply looking at the log file. (Bug#42403)
The Monitor Agent failed to create the
mysql.inventory
table. The logs displayed the
following error message:
(critical) (share/mysql-proxy/quan.lua:711) [proxy] please add SELECT permissions for this user on mysql.inventory to enable the QUAN feature, got Table 'mysql.inventory' doesn't exist
This happened even though the Monitor Agent used the
root
account.
(Bug#42389)
After installing Monitor Agent 2.0.4.7138 and then starting it
with --version
, the incorrect version was
displayed. Although 2.0.4.7138 was installed, the Monitor Agent
displayed the version number as 2.0.2.7138.
(Bug#42263)
An invalid path was shown in the error message if the upgrade installer failed to find the previous install location.
The error message is shown below, note that the error message displays a different path to that provided by the user:
Please specify the directory that contains the previous installation of the MySQL Enterprise Monitor Agent Installation directory [/home/mysql/mysql/enterprise/agent]: /var/lib/mysql/agent Warning: The directory /home/mysql/mysql/enterprise/agent does not contain a previous installation. Please select the right installation directory. Press [Enter] to continue : ---------------------------------------------------------------------------- Please specify the directory that contains the previous installation of the MySQL Enterprise Monitor Agent
The agent password error in the Service Manager did not log the originating host, making it impossible to determine the agent that failed to log in:
ErrorJan 5, 2009 4:56:08 PM<?xml version='1.0'?><exceptions><error><![CDATA[E1702: IncorrectPasswordException: [agent]]]></error></exceptions>
The Service Manager's JDBC connections did not have
sql_mode
set to include
NO_ENGINE_SUBSTITUTION
. This resulted in the
failure of Data Definition Language (DDL) if the Service Manager
was inadvertently pointed to an incorrect
mysqld
instance.
(Bug#42137)
A number of Advisor rules had advice text that had not been translated into Japanese. The Advisors that contained untranslated rules included Performance, Schema and Security. (Bug#42067)
Monitor Agent configuration files had global read privileges on the filesystem. (Bug#41794)
When the log files rotated to the maximum permitted by the
log4j
configuration, the metadata contained
in the FileAppender
became out of
synchronization due to a logic bug. This caused an assertion
error on any subsequent request for the logs tab or data.
(Bug#41593)
SNMP trap messages were sending 127.0.0.1 as the IP address, and there was no feature to enable the user to configure the IP address contained in the SNMP message, which would have been useful for troubleshooting. (Bug#41361)
On all available test systems, including SUSE Linux Enterprise Server (SLES) 9 and 10 x86-32, x86-64, IA64, and Ubuntu 6.10 x86-64, the agent memory grew incrementally within ~3 hours to ~25M.
The agents then switched to the 'red' condition on the dashboard and no more data was reported. The agent processes were still active.
This was also present in MySQL Enterprise Monitor version 2.0.0.7111 on Suse 7.3, with the glibc2.2 x86 agent.
There was no load on the monitored servers, and the problem also occurred when the “self-quan” was not configured. (Bug#41244)
Although the Monitor tab loaded initially, after a 64-bit MySQL server running a 32-bit MySQL Monitor Agent was clicked, a Null Pointer Exception was generated. (Bug#41164)
The Monitor Agent startup configuration did not seem to work and did not generate a log file. (Bug#40583)
An error generated by a rule failed to clear.
When a rule was created with the
os:disk:fs_used
data item, if the instance
was not a valid mount point then the Monitor Agent reported the
error:
2008-08-11 17:57:00: (critical) disk-get failed for all: 2
Note the above instance was for “all”, and similar results occurred for instance “disk”.
The issue was that upon editing the rule, or even deleting the rule, the agent still showed the above error type. Restarting the agent and the monitoring service failed to remove the error. (Bug#38709)
If the “On Save send test trap” checkbox was checked when the button was clicked and the locale was set to Japanese, an error occurred. The orange error banner was displayed at the top of the page with the error message in Japanese. (Bug#32069)
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.2.
Bugs fixed:
The Monitor Agent failed to connect to the server, and no error message was displayed in the log file.
However, when the log verbosity level was set to
message
, the following message was recorded:
2009-01-12 13:34:43: (warning) agent_mysqld.c:600: agent connecting to mysql-server failed: mysql_real_connect(host = '127.0.0.1', port = 3306, socket = ''): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 (mysql-errno = 2013)
There was a mismatch between the contents of an SNMP Trap from
MySQL Enterprise Monitor and the definition given in the file
MONITOR.MIB
.
(Bug#41912)
If a copy was made of a standard rule, the resulting Wiki markup was incorrect, resulting in the display of user-interface text containing HTML markup. (Bug#41375)
Allowing the heat chart rules to be set to unscheduled caused the user interface to appear broken. (Bug#41312)
When a custom rule requiring disk information was created, for example:
[Expression] %disk_reads%> THRESHOLD [Thresholds] Critical Alert: 9000 Warning Alert: 3000 Info Alert: 1000 [Variable Assignment] variables: %disk_reads% Data Item: os:disk:disk_reads Instance: /
The following error was written to the file
mysql-service-agent.log
:
2007-09-05 17:11:00: (critical) disk-get failed for c0d0p1: 2
It therefore appeared that the Monitor Agent was not able to obtain the required information. (Bug#30820)
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.1.
Bugs fixed:
The Setup page you were taken to after the current subscription expired. (Bug#41685)
button was missing from the
If the host-id
of the monitored instance and
the host-id
of the current agent did not
match, the agent generated the following error message:
Please TRUNCATE TABLE mysql.inventory on this mysql-instance and restart the agent.
However, it did not suggest using sql_log_bin =
0
. This is used for all other actions against this
table so that they are not replicated to slaves, each of which
has their own copy of this table.
(Bug#41673)
The Agent did not start up when the monitored server had many
databases and tables, and was under heavy load. This was because
the trigger_schema
query was taking too long
on agent start up.
(Bug#41555)
The Monitor Agent failed to install on Solaris 10 x86. The following error was generated:
Installing 0% ______________ 50% ______________ 100% ######################################## Warning: Problem running post-install step. Installation may not complete correctly Error running /usr/local/mysqlagent/bin/mysql-monitor-agent --defaults-file=/usr/local/mysqlagent/etc/mysql-monitor-agent.ini --plugins=agent --agent-generate-uuid=true : 2008-12-12 13:06:02: (critical) Conversion from character set '646' to 'UTF-8' is not supported 2008-12-12 13:06:02: (message) shutting down normally
The console/stdout appender remained in the log4j configuration,
which meant that all the MySQL Enterprise Monitor server logs
were duplicated to Catalina's stdout, and thus
catalina.out
, which was wasteful,
especially as that file was not rotated or managed.
(Bug#41439)
When creating new multiple user accounts, the first attempt worked fine. However, following attempts to create new users did not show the Query Analyzer Options in the Create User pop-up until the role field was changed. (Bug#41430)
When login privileges were required the Service Manager did not redirect the user to the login page. This resulted in error messages being displayed rather than simply redirecting the user to the login page. This problem typically occurred if it was necessary to restart Tomcat. (Bug#41320)
The monitor 2.0.0.7105 and 2.0.0.7122 Solaris Intel update installer quits unexpectedly. The installer exits from the GUI in the Backup of Previous Installation screen, when OpenSolaris is running on top of Sun xVM.
The console output for both installer versions is given below:
shell> ./mysqlmonitor-2.0.0.7105-solaris-intel-update-installer.bin X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 73 (X_GetImage) Serial number of failed request: 21161 Current serial number in output stream: 21161
shell> ./mysqlmonitor-2.0.0.7122-solaris-intel-update-installer.bin X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 73 (X_GetImage) Serial number of failed request: 21148 Current serial number in output stream: 21148
The Rename Group function failed if the new group name was different to the current one only in the case used; for example, if “Merlin” was changed to “MERLIN”.
The error generated was:
U0105 This group name is already in use. Enter a different name.
The Agent returned an inventory list of all databases and
tables. This information was not used by MySQL Enterprise
Monitor, other than to populate the
inv_databases
and
inv_tables
tables. For large-scale
deployments, where there were many databases and tables, this
resulted in redundant XML messages being sent from the Agent to
the Service Manager.
(Bug#33150)
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.0.
Bugs fixed:
This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 1.3.3.
Functionality added or changed:
Important Change:
The server-name
configuration parameter is
deprecated. For compatibility, during an upgrade, the
information will be migrated to a displayname
configuration parameter within the individual instance
configuration files. This configuration parameter is provided
only for compatibility, as display name information is now
stored within the main repository. Support for
displayname
is also deprecated and will be
removed in a future release.
Important Note: The rules “32-Bit Binary Running on 64-Bit AMD Or Intel System” and “Key Buffer Size Greater Than 4 GB” occasionally do not evaluate correctly due to timing issues. This causes them to be displayed with the Severity level of “Unknown”. This is a known issue and will be resolved in future versions of MySQL Enterprise Monitor.
Important Note: When you start the Merlin 2.0 agent from the command line on Windows, you get the following error dialog:
"mysql-proxy.exe - Entry Point Not Found" "The procedure entry point libiconv_set_relocation_prefix could not be located in the dynamic link library iconv.dll"
If you click
the agent works fine after that.
This only occurs when starting the agent from the command line,
and only when there is another version of one of the DLLs that
the agent uses somewhere on the current path. This error can be
avoided by opening a command prompt, typing SET
PATH=
to clear the path, and then starting the agent.
The following has been added to the Tomcat
config.properties
properties file:
# max connections in the pool for the repository default.maxActive=70
The dashboard could be used to change the agent password to one
containing the @
character, or other special
characters, which subsequently caused errors. To fix this
problem, special characters in passwords are now prevented by
the dashboard. The list of special characters not permitted can
be found at the following location:
http://en.wikipedia.org/wiki/Percent-encoding#Types_of_URI_characters
(Bug#37172)
The Query Analysis page was missing the Refresh dropdown control that the Monitor, Events, and Graphs pages had at the top. (Bug#36831)
The User Interface only returned error strings, without any associated error codes. This meant that if the error string was in a language that the user did not understand, it would be very difficult to determine which error actually occurred.
The User Interface now supports error codes, as well as error strings. This change enables easier testing of multiple locales. (Bug#32131)
The wording was changed on the fading pop-up subscription alert. The text “account” was changed to “subscription”. (Bug#31492)
The alert thresholds for the Query Cache Advisor were changed:
Information | Warning | Critical | |
---|---|---|---|
From | 95 | 85 | 75 |
To | 60 | 50 | 40 |
The agent log file name has changed from
mysql-service-agent.log
to
mysql-monitor-agent.log
. The old log file
will be retained during a upgrade install.
Bugs fixed:
Starting a new agent against an instance that contained many databases broke up the initial discovery packet, causing collections such as CPU usage and their graphs to fail. See also Bug#33150 and Bug#41314. (Bug#41933)
When altering an existing rule you had to add an empty string,
""
, to any threshold level that was empty.
Otherwise, the rule failed to run and the resulting exceptions
caused the Events page to be unusable due
to duplicate key exceptions.
(Bug#41310)
After installing the 2.0.0.7119 Dashboard the following error was generated in the logs:
com.opensymphony.xwork2.util.OgnlValueStack Warning Dec 5, 2008 10:41:26 AM Caught an Ognl exception while getting property titleAddition
The dc_ng_long_now
table became very large
partly due to an unused column begin_time
.
(Bug#41093)
Although there was a unique constraint on the user name, it was
not enforced during first-time setup. This resulted in a stack
trace being produced, rather than a more user-friendly error
message, if the same name was used for the
admin
and agent
accounts.
(Bug#40870)
MySQL Enterprise Monitor server had stopped sending up/down SNMP traps. (Bug#40861)
The Query Analyzer's Explain Query tab did
not have pop up text or a link to the documentation regarding
SELECT
queries.
(Bug#40841)
When you tried to import a Trial-level advisor JAR using a Trial user account, one of the following error messages was generated:
U0009 The uploaded Advisor jar was invalid
U0161 Please import a Platinum level Advisor .jar to use with this Platinum level product key
Meta Info on the Dashboard did not display information for the
metadata os_description
.
(Bug#40830)
Attempting to create an alias of statements such as
COMMIT
, ROLLBACK
,
BEGIN
, resulted in the error:
Can't find template commitTnx.st; group hierarchy is [HTMLFormatting] org.antlr.stringtemplate.StringTemplateGroup.lookupTemplate(StringTemplateGroup.java:507)
Trying to upgrade from 2.0.0.7088 to 2.0.0.7092 failed as there
was a missing file. When the update program
mysqlmonitor-2.0.0.7092-solaris-intel-update-installer.bin
was run, the file
/tmp/com/mysql/merlin/server/version.props
could not be found.
(Bug#40692)
On OS X with Java 1.5, Tomcat crashed on launch with the error:
Invalid memory access of location 00000007 eip=013df179
When the agent was installed using the command line installer
and --enableproxy 0
was specified, the
installer should have removed quan.lua
from
the agent-item-files
option in the INI file.
(Bug#40551)
The Agent could not connect to a database with the
hostname
set to localhost
.
Doing so resulted in the error:
(critical) the MySQL server could not be reached at socket '(null)', we will check in 10 seconds
The update installer for the 2.0 Monitor did not have an
Is SSL support required? checkbox.
Therefore, the appropriate SSL connector definition was
commented out in the conf/server.xml
file.
(Bug#40414)
The Service Manager installer did not uninstall or wipe out the previous installation if you answered “Yes” to the question:
“The directory you selected already contains a MySQL installation. If you continue installation all data will be lost. Do you wish to continue?” (Bug#40410)
If you unchecked the Enable Proxy checkbox on the Query Analysis Configuration screen, the agent's INI file still contained proxy configuration data and was not commented out. (Bug#40272)
As different queries were sent through the agent it used increasing amounts of memory. (Bug#40260)
The Service Manager installer set the Java Virtual Machine
option HeapDumpPath
to
<install_root>\temp
on Windows and
/tmp
on other platforms. For consistency
the HeapDumpPath
directory should have been
set to <install_root>\tmp
on Windows.
(Bug#40215)
When using the command line agent setup program, a socket file was not accepted for the monitored instance. (Bug#40085)
The language option when installing the MySQL Enterprise Monitor in Japanese
using the command-line instllaer has been changed from
jp
to ja
.
(Bug#40082)
When monitoring MySQL 5.1.24 and above, the user used by the
agent to connect to the MySQL server for monitoring must have
the PROCESS
privilege.
(Bug#40050)
The check box option string “Is SSL support required?”, on the Tomcat Server Option dialog of the Monitor installation, was not correctly translated into Japanese. (Bug#39814)
The base application directory for the MySQL Enterprise Dashboard has been
updated from http://localhost:18080/merlin
to
http://localhost:18080/
.
(Bug#39403)
If the Service Manager or the MySQL Server running the Repository crashed, they did not restart automatically. (Bug#39377)
If the agent crashed, there was no watchdog, angel or keep-alive mechanism to restart the agent and keep it running. (Bug#39374)
If the MySQL client libraries were located in a nonstandard location, the agent 2.0.0.7042 installer failed with a “library not found” error. (Bug#39317)
For the rule “Server-Enforced Data Integrity Checking Not
Strict”, the Recommended Action did not display
correctly. It displayed as SET
sql_mode=modes
, rather than SET
[GLOBAL|SESSION] sql_mode=modes
.
(Bug#39261)
A query that was issued through the proxy, and that had an
auto-explain performed on that query, did not give the correct
response to a subsequent query of SELECT
FOUND_ROWS()
.
(Bug#39223)
It was not possible to establish a connection with the Dashboard using the SSL protocol (https://). (Bug#39198)
When a 1.3 MySQL Enterprise Monitor installation with many rules scheduled was upgraded to 2.0, the upgraded installation was then found to have only the heat chart rules scheduled. (Bug#39043)
The agent installer did not permit a second agent to be installed on Windows. (Bug#38976)
The default display name for a host supplied by the agent has
been changed. If networking has been disabled in the server, the
default display name shown is either
host:socket
for scoket connections, or
host:uuid
for everything else. If networking
is enabled, the host:port
combination is
used. If the agent has been configured to use the
displayname
option, this overrides all other
default settings.
(Bug#38897)
The Dashboard incorrectly diplayed that insufficient licenses were available, even though sufficient licenses had been purchased. (Bug#38514)
After running the MySQL Service Agent uninstall program, the
file /etc/init.d/mysql-service-agent
remained present on the server.
(Bug#38490)
The notice fader continued to display English text after you changed the locale to Japanese. (Bug#38460)
The Subscription Expired pop-up window referred to the “Global Preferences” page, instead of the “Global Settings” page. (Bug#38358)
An inappropriate time zone was used to parse user-entered date and time strings. (Bug#38323)
A sigar network stats error was generated on the Solaris platform:
# /opt/mysql/enterprise/agent/bin/mysql-service-agent --version MySQL Service Agent - 1.2.0.7879, (glib lib=2.8.5, headers=2.8.5) SunOS mysqlprd01 5.10 Generic_127127-11 sun4v sparc SUNW,T5240 2008-07-21 10:07:24: (critical) sigar_net_interface_config_primary_get() failed: 6 2008-07-21 10:08:00: (critical) sigar_net_interface_config_primary_get() failed: 6 # /opt/mysql/enterprise/agent/bin/sigar-test-all >/tmp/test.txt sigar_net_interface_stat_get(e1000g0:2) failed#
After deleting a server from the Settings, Manage Servers tab, at the very bottom of the page the Monitoring x instances on x host values did not reflect the deletion. (Bug#38225)
The MySQL Enterprise Monitor alert “INFO Alert - Users Can View All Databases On MySQL Server (v 1.5 *)” from the Security advisor was incorrect. This is because the default server behavior permits users to see databases for which they have privileges, not “all databases on server” as suggested by the alert. (Bug#38052)
The “Maximum Connection Limit Nearing Or Reached” advisor did not generate a new Critical Alert event when there was an open info success event. (Bug#37816)
The Linux IA64 installer appeared to crash. The installer appeared to crash on RH4_IA64 if called with option "--version":
------------------------------------------------------------------------------- <INSTALLER> --version mysqlmonitorage(30704): unaligned access to 0x6000000000a8413c, ip=0x2000000003ddd5f0 mysqlmonitorage(30704): unaligned access to 0x6000000000a84144, ip=0x2000000003ddd5f1 mysqlmonitorage(30704): unaligned access to 0x6000000000a8414c, ip=0x2000000003ddd600 mysqlmonitorage(30704): unaligned access to 0x6000000000a84154, ip=0x2000000003ddd601 MySQL Enterprise Monitor Agent 0.7.0.1737 --- Built on 2008-06-25 19:31:53 -------------------------------------------------------------------------------
However, this warning is harmless and will not impact the operation of the agent. (Bug#37496)
If the log-level option in the agent configuration file was set
to an unknown level by mistake, the init.d
script appeared to enter an infinite loop.
(Bug#37108)
Malformatted server meta information appeared on the Dashboard; RAM and Disk Space appeared under the CPU category. (Bug#36740)
A “rename” link incorrectly appeared next to the Upgrade category on the Manage Rules page. (Bug#36584)
In the case where exceptions were passed through to the User Interface, the substituted arguments in the message contained developer-only information. (Bug#36580)
Agent Version, Last MySQL Contact, OS Info, CPU Info, and IP Addresses were all blank on the dashboard when the agent for the selected server was not functioning. (Bug#36301)
mysql-monitor-agent became confused by the
.DS_Store
files that are created on Mac OS
X.
(Bug#36216)
The rule “Key Buffer Size Greater Than 4 GB” incorrectly triggered the following alert:
CRITICAL Alert - Key Buffer Size Greater Than 4 GB
However, on non-Windows systems, a key buffer size greater than 4 GB is supported. (Bug#36143)
Since the repository database for MySQL Enterprise Monitor uses InnoDB there was no way to reduce the size of the data files after an old log/event data purge operation. Further, the purge data operation executed once per day, and had no option to trigger the purge operation manually. (Bug#35971)
On the Graphs page, if all graphs were expanded, then the Time Display interval updated, the page was refreshed with the Bug#35917, Bug#35133)
button displayed, even though all the graphs were already expanded. (The Meta Info area of the Monitor page incorrectly reported the operating system version number for the MySQL version. (Bug#35836)
The rule “XA Distributed Transaction Support Enabled For InnoDB” incorrectly sent a warning when the binary log was on. (Bug#35786)
On the Monitor page, the time displayed for Last MySQL
Contact
lagged behind that for Last Agent
Contact
by a large amount.
(Bug#35774)
MySQL Enterprise Monitor did not update replication settings correctly. After a slave became the master, the Adviser still referred to it as a slave. (Bug#35771)
The Adviser email suggested using the
--log-queries-not-using-indexes
option.
However, this option is not available in MySQL Server versions
prior to 4.1.
(Bug#35770)
Thumbnail graphs did not update properly after a time zone change. (Bug#35756)
If a system had a global wait_timeout
lower
than the general activity of the agent, the agent was
disconnected. The monitored server then logged an error and
incremented Aborted_clients
.
(Bug#35648)
Alerts fired after a blackout period based on data collections that happened during the blackout. (Bug#35617)
The translation of the Bug#35495)
button on the Rule Definition window was incorrect. (An uninstallation message asked about removing Apache files, even though Apache is no longer used. (Bug#35154)
After updating from a previous version to the latest 1.3 version, the Query Cache Has Sub-Optimal Hit Rate was still displayed in English after setting the locale to Japanese. Note, the rule was translated correctly if the full installer was used. (Bug#35134)
The MySQL Enterprise Monitor uninstall dialog box had missing text when using the Japanese locale. (Bug#34982)
Running the installer with the --help
option
caused an incorrect message to be displayed.
(Bug#34200)
When using the unattended unInstall
script
on Linux together with the option --env
deleteUserData=yes
the correct warning text was
displayed. However, this text should not be displayed in
unattended mode. Further, the option --env
deleteUserData=yes
was not displayed by the
--help
output.
(Bug#34071)
Platinum Unlimited customers sometimes received a warning stating incorrectly that their subscription supported zero hosts. (Bug#34010)
Clicking the resolution notes link for a closed event on the events tab showed incorrect behavior. The pop-up initially showed the resolution notes, but when the resolution tab was clicked the notes disappeared and were replaced by an edit box. (Bug#33935)
The status on the product information page was not translated when the user locale was set to Japanese. (Bug#32785)
When the locale was set to Japanese, the date picker still had English month titles. (Bug#32741)
Flashing display of a pop-up used while saving outgoing email settings was caused by problematic initial placement calculations. (Bug#32579)
AIX 5.2 Agent did not work on AIX 5.3. (Bug#32414)
When the First Time Setup program was run it did not prompt the user to enable importing an Advisor bundle. (Bug#32199)
Agent on MacOSX did not read IP addresses for network interfaces correctly, so the monitor displayed empty host IP addresses. (Bug#32188)
HTML code in queries was not escaped when reporting replication errors, causing the code to be rendered into the page. (Bug#32186)
The First Run pop-up defaulted to English rather than to the locale set in the browser. (Bug#32129)
The error dialog box flashed in the upper left corner before being positioned in the center of the screen. This error dialog box now opens in the center of the screen. (Bug#32068)
The Events list did not take into account Daylight Time and Standard Time when listing events that happened during 1:00am-1:59am. An event that occurred at 1:10am Standard Time was listed before an event that occurred 50 minutes before it at 1:20am Daylight Time. (Bug#32016)
The pop-up for editing log levels failed to load due to bad instantiation data. (Bug#32013)
During the repeated hour of Daylight Savings Time (when 2am turns back into 1am), the graphs were not drawing data. Instead, there was a straight line from the point at 1:00 to the second 1:00, which is what happens if there is no data. The repository did, however, have data for this hour. (Bug#31997)
Only US English was supported for a locale setting. Other
English variants are now available for the
locale
setting on the General
Settings
or the User Preferences
pages.
(Bug#31801)
If the user locale was changed the graph cache would continue to display the graph in the last locale until it timed out. (Bug#31680)
No init script was installed for the MySQL Network Monitoring Service Manager, and so it did not restart automatically on reboot. (Bug#31676)
The graph's displayed time was not the local time of the Dashboard corresponding to the requested time on the monitored server. (Bug#31656)
Saving a rule with a name that already existed resulted in a stack trace in the window, instead of a more user-friendly error message. (Bug#30925)
The network.mysql.com
error messages were
remapped thereby causing confusion. For example, the following
error message:
E9000: MySQL Enterprise Customer Center is having difficulties fetching your contract information. Please contact enterprise-feedback@mysql.com for assistance.
Was remapped to:
Unable to connect to verify credentials (Bug#30873)
A newly added server showed as “down” in the user interface, and could potentially have sent a false alarm notification. (Bug#30735)
The information on the Bug#29623)
, page did not accurately reflect how many rules and graphs were actually in the database and available to the user. (
The agent did not process SIGHUP
.
(Bug#29380)
Monitor did not have a facility to stop or downgrade an agent collection frequency. (Bug#28589)
After an agent installation was updated from 1.0.1.4391 to
1.1.0.4899, the version in the agent.exe
was correctly displayed as
1.1.0.4899.
(Bug#27447)
When viewing the Results of an Event in the Events tab of the Dashboard, the Notifications section did not reflect the Notifications settings at the time the Event was triggered, but rather the Notifications settings at the time the Event Results were viewed. (Bug#26349)
When the Monitor Agent was remotely monitoring a MySQL server it incorrectly reported that it could collect operating system information. (Bug#22497)
The Account Without Password advisor did not report all users who were without a password, it only reported one. (Bug#15165)