Appendix E. MySQL Enterprise Monitor Change History

Table of Contents

E.1. Changes in MySQL Enterprise Monitor 2.1.2 (26 May 2010)
E.2. Changes in MySQL Enterprise Monitor 2.1.1 (10 February 2010)
E.3. Changes in MySQL Enterprise Monitor 2.1.0 (08 September 2009)

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.

E.1. Changes in MySQL Enterprise Monitor 2.1.2 (26 May 2010)

This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.1.1.

Bugs fixed:

  • Security Fix: A number of cross-site request forging issues have been identified and resolved. (Bug#52888, Bug#52910, Bug#52905, Bug#52897)

  • On Windows platforms, the MySQL Enterprise Monitor Agent could show increasing memory usage over time. (Bug#54313)

  • MySQL Enterprise Service Manager would crash during initial startup on Solaris SPARC 64-bit. (Bug#53751)

  • The dialog box during installation of MySQL Enterprise Service Manager has been updated to make the process of installing MySQL Enterprise Service Manager when using an existing MySQL server. (Bug#52839)

  • Scheduling a rule against an instance, and then deleting that instance, would retain the instance within MySQL Enterprise Dashboard, identified as Unknown. (Bug#51095)

  • Deleting a server within MySQL Enterprise Dashboard could cause a foreign key constraint error. (Bug#50927)

  • Deleting a server that had purged all its monitoring data, but still have query analyzer information, would fail. (Bug#50916)

  • The SSL certificates supplied with MySQL Enterprise Service Manager have been updated.

    The certificate shipped with MySQL Enterprise Service Manager is an example certificate that expires after 1 year and that folks should create their own and back it up between MEM service manager updates. For more information on updating the certificate, see Section F.4, “Creating a new SSL KeyStore”. (Bug#50694)

  • Clicking a link to a support issue within the dashboard is now configured to open the issue within a new window. (Bug#50651)

  • The MySQL Enterprise Monitor Agent could report data using an old timestamp, or report information for a server that the MySQL Enterprise Monitor Agent can no longer connect to due to a permissions change. (Bug#50449)

  • Monitoring of a server that had INFORMATION_SCHEMA, and a large number of schemas or tables could upset the gathering of monitoring data. (Bug#47947)

  • If you specify an invalid backend proxy address to MySQL Enterprise Monitor Agent, the agent would fail silently. (Bug#46927)

  • Installation on certain platforms could fail during the generation of a UUID because of a lack of privileges. A separate UUID generation tool, agent-generate-uuid is now used to create the UUID. (Bug#46370)

  • If a customer was using their own SSL certificate, they entered that information in the server.xml file. However, running the upgrade installer caused server.xml, and any custom certificates, to be replaced. (Bug#44525)

  • Starting the agent could lead to an error regarding the ssh-keygen tool and a missing library (libcrypto). (Bug#43125)

E.2. Changes in MySQL Enterprise Monitor 2.1.1 (10 February 2010)

This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.1.0.

Functionality added or changed:

  • The smallest purge log time interval that could be set in the Dashboard was one week. MySQL Enterprise Monitor was changed to enable setting the smallest purge log time interval to one day. (Bug#46822)

  • Certain heat chart rules cannot be unscheduled or disabled, this is because they are required for correct operation of MySQL Enterprise Monitor. Should an attempt be made to unschedule or disable one of these heat chart rules, a suitable message is now displayed, explaining this requirement. (Bug#46535)

  • If you are monitoring one instance of MySQL server mysqld and then upgrade that MySQL server, the correct version of the MySQL server is not displayed in the Dashboard. The agent will now perform a re-synchronization of the inventory if it identifies that the server has gone away and that the monitored MySQL has been upgraded. (Bug#38409)

Bugs fixed:

  • The MySQL Enterprise Monitor Agent could fail to reconnect to a monitored MySQL instance if the agent was started while the MySQL instance was unavailable. (Bug#50797)

  • When installing MySQL Enterprise Monitor Agent on a Linux operating system using the SELinux security environment, the installation would fail if the allow_execstack option had been enabled. (Bug#50515)

  • When purging old data, the purging process could fail to remove all of the data if the inflow of new information was very high. Purging now removes all outdated information at each execution. (Bug#50422)

  • It was possible to updated an existing email notification list with two email addresses in the destination without a required comma between the addresses. Addresses are now validated during the editing phase to ensure that this does not occur. (Bug#50161)

  • The agent could not be installed on Mac OS X Snow Leopard (10.6) due to an incompatibility in the XML libraries used. (Bug#50126)

  • Deleting users within MySQL Enterprise Service Manager could lead to errors in the repository database that would affect further operations involving the deleted user. (Bug#49896)

  • When creating a new instance by copying an existing agent configuration, it is possible to create an orphaned agent. The recommended advice is to TRUNCATE the mysql.inventory table. However, doing this could lead to additional errors and an exception when the scheduled data updates on the now orphaned agent are executed. (Bug#49882)

  • Monitoring a MySQL 4.0 server would fail because MySQL 4.0 did not support table-level character set support. (Bug#49082)

  • RAM statistics for FreeBSD machines would not be reported correctly by MySQL Enterprise Monitor Agent. (Bug#48493)

  • The agent installer for Solaris on x64 would fail due to a library linker issue duing the post-installation phase of the installer. (Bug#48336)

  • Support has been added for SNMPv2 traps in addition to the existing SNMPv1 traps. You can configure the version to use for SNMP traps, see SNMP Traps.

    In addition, support has also been added to send SNMP notifications to two hosts in place of just one host. Notifications are sent to both hosts simultaneously. (Bug#47686, Bug#48955)

  • Support issues can have a Severity from S1 through S4, but can also have a value of “NS” meaning “No Severity Set”. MySQL Enterprise Monitor was not able to parse this, which resulted in errors such as the following:

    2009-09-23 13:53:51,812 ERROR [em-worker-pool-thread-6:monitor.support.DevSpPoller] error
    consuming successful response
    java.lang.IllegalArgumentException: No enum const class
    com.mysql.etools.monitor.support.SpIssue$Severity.NS
    	at java.lang.Enum.valueOf(Enum.java:196)
    ...
    

    (Bug#47562)

  • The pagination of errors within MySQL Enterprise Dashboard for MySQL Enterprise Service Manager logging made it difficult to identify the true source of the error. (Bug#47464)

  • An additional link has been added to the Configure What's New page to link to the relevant documentation. (Bug#47256)

  • MySQL Enterprise Monitor would fail to install on Miracle Linux4. (Bug#47209)

  • Some strings in the What's New tab of MySQL Enterprise Dashboard had not been translated from English to Japanese. (Bug#47203)

  • The diagnostic report file has been updated so that the filename of the report includes the timestamp when the report was generated. (Bug#47164)

  • When the Configuring and troubleshooting this feed link was clicked it opened the help screen in the current browser window, rather than in a new window.

    The link can be found on the What's New tab, at the bottom of the Important Product-Related Announcements section, in the Welcome to the "What's New?" Live Feed! sub-section. (Bug#47145)

  • The links for further information on the What's New feed were invalid. (Bug#47133)

  • When the Help link was clicked in the Dashboard, the following script error was generated:

       row:   32
       char:  5
       error: object expected
       code:  0
       URL:   http://xxx.yyy.com:38080/Help.action
          

    This only happened when using Internet Explorer. (Bug#47065)

  • The times used for queries in Query Analyzer would not match the time set for the user's timezone and browser setting. (Bug#47040)

  • The date format in the configure what's new pop-up on the What's New? tab did not reflect the locale set in the User Preferences page. (Bug#46901)

  • Two links in the Agent installer were incorrect.

    The link https://enterprise.mysql.com/docs/monitor/2.0/en/mem-install.html#mem-agent-rights should have pointed to https://enterprise.mysql.com/docs/monitor/2.1/en/mem-install.html#mem-agent-rights. Also, the link https://enterprise.mysql.com/docs/monitor/2.1/en/mem-query-analysis.html should have pointed to https://enterprise.mysql.com/docs/monitor/2.1/en/mem-query-analyzer.html. (Bug#46812)

  • The REPLACE and CALL statements did not show a rows graph within the statement pop-up graph tab. (Bug#46796)

  • When updating your scription after the subscription has expired, the ability to update your advisor bundle was not available. (Bug#46700)

  • The task message for a given server within the agent would be logged at the incorrect level. Messages are now logged at the message level. (Bug#46681)

  • Pressing cancel on a pop-up would cause a page reload, instead of just closing the pop-up window. (Bug#46604)

  • The cry for help email included a stack trace, however it was displayed on a single line without any line breaks. (Bug#46458)

  • If the Last link was clicked on the Infrastructure logs page, the following error was generated:

    Error Message
    fromIndex(400) > toIndex(31)
          

    (Bug#46229)

  • When using MySQL Enterprise Monitor Agent, if the current configured time went backward (for example, during time correction), the MySQL Enterprise Monitor Agent would stop reporting data and induce a high load on the machine running MySQL Enterprise Monitor Agent (Bug#46052)

  • The Windows installers for MySQL Enterprise Service Manager did not include 64-bit versions of the various binary tools. (Bug#45682)

  • The agent could get into a state where it loop through the resynchronization of the core data, without reporting information to the service manager, causing gaps in the data. (Bug#45382)

  • The IP address of the agent host on FreeBSD 7 systems would not be reported correctly. (Bug#45079)

E.3. Changes in MySQL Enterprise Monitor 2.1.0 (08 September 2009)

This section documents all changes and bug fixes that have been applied since the release of MySQL Enterprise Monitor, version 2.0.6.

Functionality added or changed:

  • Incompatible Change: The default proxy port used to relay queries when using the Query Analyzer has been changed from port 4040 to 6446.

  • The Agent did not write its version number to the log on startup or shutdown.

    The information is now available by setting log level “MESSAGE” in the Dashboard. It is also available when running the Agent from the command line with the command mysql-monitor-agent --version. The Agent also now logs its version number on startup if the log level is set to “CRITICAL”. (Bug#45884)

  • The Agent did not have a configurable response size.

    The response size was hard coded to 65K. However, with large inventories, the customer might need to use a larger response size.

    The Agent command line option --agent-max-response-size was added which will set the maximum size (in bytes) of the response the agent will send to the Service Manager. The default is 65536. (Bug#45571)

  • If the Service Manager lost connection to the repository server, it would shut down after 50 attempts to reconnect or if it was unable to reconnect within 180 seconds. This behavior has now been made configurable through parameters in the config.properties file. The parameters are:

    • mysql.max_connect_retries - default is 50.

    • mysql.max_connect_timeout_msec - default is 180 seconds.

    (Bug#45471)

  • There was no way to force the Agent to resynch with the Service Manager. A link has now been added. The link can be found on the Settings, Manage Servers page - click the context menu next to a server, the menu now contains a Refresh item. (Bug#45461)

  • When the Agent debug log was examined, it was found to contain XML returned by the Service Manager that did not contain carriage returns. This made the data difficult to read by a human. The Service Manager has been changed to return formatted XML. (Bug#45460)

  • The version of Enterprise Monitor was not logged on startup.

    Enterprise Monitor was changed to log the Monitor and Advisor version number on startup. See also Bug#45884. (Bug#45459)

  • The ability to customize the text of the email sent for an event was added. The URL to the event can now be added to the email, so that the administrator does not have to search for the action that triggered the email. (Bug#44383)

  • In large installations it can be desirable to locate the repository MySQL Server and the Tomcat server on difference computers to reduce load. However, the script mysqlmonitorctl.sh assumed these were running on the same server.

    The script was therefore changed to accommodate the above requirement.

    The mysqlmonitorctl.sh script now checks for a new configuration file called mysqlmonitorctl.conf. This configuration file is located in a new directory, etc/defaults, relative to the install directory. The configuration file contains 2 variables:

    • START_MYSQL=yes

    • START_TOMCAT=yes

    The script will then start/stop the MySQL Server and Tomcat accordingly. Defaults for both variables in the file are set to “yes”. The update installers will not overwrite this file. (Bug#44379)

  • When Replication was configured to use SSL for encrypting the transfer of the binary log, even though replication worked and the dashboard displayed the replication group correctly, the agent still logged the following message (repeatedly):

    2009-04-06 16:12:00: (critical) job_collect_mysql.c:698: [mysql] (master-uuid)
    mysql_real_connect(hostname:port replication:...) to the slave's master
    failed: Access denied for user 'replication'@'hostname' (using password: YES) (1045)

    (Bug#44200)

  • It was not possible to keep logs for a specific period of more than 52 weeks. The value for purging logs could be set in Settings, Global Settings to values ranging from “Never” to “52 Weeks” using the drop down list boxes.

    The interface has now been changed to additionally offer periods of 18 months and 24 months. (Bug#43793)

  • 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)

  • MySQL Enterprise Monitor did not include a graph to show max_used_connections versus max_connections.

    This has now been included with the Silver level advisor bundle. (Bug#43583)

  • A rule has been added named “Server Restarted” to signal a server restart. This has been added as a Heat Chart advisor to the Silver level advisor bundle. The rule has the following options:

    Expression: (%Uptime% < THRESHOLD)
    
    Critical Alert: 600
    Warning Alert: 600
    Info Alert: 600
    
    Variable: %Uptime%
    
    Data Item: mysql.status:Uptime
    
    Instance: local
    
    Default frequency: 5 minutes
    

    (Bug#43243)

  • In the Enterprise Dashboard, it was possible to change the last remaining user with a manager role to having an agent role. This led to a problem whereby when attempting to subsequently login to the Dashboard, this caused redirection to the setup.action page which presents the Create Administrator facility. However, there was no Continue button on this page, so it was not possible to create the administrative account.

    The Dashboard has now been changed so that the currently logged in user is not able to change their role. (Bug#42436)

  • Certain alerts were misleadingly labelled as CRITICAL, and caused people to change settings unnecessarily, thereby adversely affecting their system performace and functionality.

    MySQL Enterprise Monitor was changed as follows:

    Heat Chart Advisor

    • MyISAM Key Cache Has Sub-Optimal Hit Rate. Critical threshold removed, Warning set to 75 and Info set to 85.

    • Query Cache Has Sub-Optimal Hit Rate. Critical threshold removed, Warning set to 40 and Info set to 50.

    • Temporary Tables To Disk Ratio Excessive. Critical threshold removed, others left unchanged.

    Memory Usage Advisor

    • InnoDB Buffer Cache Has Sub-Optimal Hit Rate. Critical threshold removed, others left unchanged.

    • Key Buffer Size May Not Be Optimal For Key Cache. Critical threshold removed, others left unchanged.

    • Key Buffer Size May Not Be Optimal For System RAM. Critical threshold removed, others left unchanged.

    • Table Cache Not Optimal. Critical threshold removed, Warning set to 60 and Info set to 40.

    • Thread Cache Size May Not Be Optimal. Critical threshold removed, Warning set to 75 and Info set to 85.

    Performance Advisor

    • Binary Log Usage Exceeding Disk Cache Memory Limits. Critical threshold removed, Warning set to 50 and Info set to 70.

    • Excessive Disk Temporary Table Usage Detected. Critical threshold removed, others left unchanged.

    • InnoDB Buffer Pool Writes May Be Performance Bottleneck. Critical threshold removed, Warning set to 99 and Info set to 99.5.

    • InnoDB Log Waits May Be Performance Bottleneck. Critical threshold removed, Warning set to 1 and Info set to 0.5.

    (Bug#42089)

  • In the Enterprise Dashboard, the Monitor page did not have detailed server meta information. For example, the hostname, datadir, socket and port information were not displayed.

    The interface has now been changed to include the following. Hostname, datadir, socket, and port information has been added to the server meta information on the monitor page. The port and datadir information has been added to the Settings, Manage Servers page. Socket and datadir information has been added to the edit server pop-up. (Bug#40787)

  • When running multiple instances of the Enterprise Dashboard it could be difficult to determine which instance is currently being logged into.

    This was fixed by adding a name for the server on the login page. The name defaults to the hostname but may be changed in the Settings page. (Bug#40642)

  • The agent should be able to run as a non-root user. However, the startup scripts always started it as root.

    The agent chassis now has a new option --user to drop privileges after being started as root. Note, this does not work when not started as superuser, nor on Windows.

    A new dialog box has also been added to the agent installer. The dialog has the following text: “The agent does not need to run with root user privileges. The agent will switch to the user account provided below when started by the root user.

    The dialog also has a text field to enable the entry of the user account.

    A new parameter was also added to the mysql-monitor-agent.ini file. The parameter has the format user=xxx, where xxx is the user account to be used. (Bug#33778)

  • The Advisor rule “InnoDB Redo Logs Not Sized Correctly” has been renamed to “InnoDB Transaction Logs Not Sized Correctly”. The rule's Problem Description and Advice text have also been updated accordingly. (Bug#33528)

  • You can now configure an individual notification group to be used when sending critical email alerts. You can configure this by selecting the administration checkbox when configuring an individual notification group. For more information, see Section 5.5, “Manage Notification Groups”. (Bug#30974)

  • The Event Log now tracks both the Current and Worst states for individual events.

  • To enable communication by MySQL Enterprise Service Manager with the MySQL Enterprise website, you can now configure an HTTP Proxy to be used when accessing the Internet. For more information, see Section 5.1, “Global Settings”.

  • The MySQL Enterprise Dashboard now includes a What's New page that incorporates information automatically from the MySQL Enterprise and MySQL Support websites. For more information, see Chapter 4, The What's New Page.

Bugs fixed:

  • The installer for MySQL Enterprise Monitor Agent on Linux 64-bit using glibc-2.3 would fail before the installation had completed properly. (Bug#50289)

  • The alert for “Connection Usage Excessive” recommended raising max_connections. However, if the users raised max_connections based only on the advice of the alert, they could potentially exhaust all RAM and SWAP.

    This alert should have made the proviso that max_connections be increased only if sufficient free RAM is available to support the additional connections. The alert should also have recommended checking that all connections are correctly closed, and suggest lowering the wait_timeout or interactive_timeout settings. (Bug#46921)

  • The “Slow Query Log Not Enabled” rule was missing a <value> tag in the <thresholdList> block. This caused a stack trace to be generated when the Service Manager started. (Bug#46899)

  • Table lock contention rules had inconsistent thresholds.

    The rule lock_contention_excessive (part of the Basic subscription) contained the following expression:

    (%Uptime% > 10800) && (((%Table_locks_waited% /
    (%Table_locks_immediate% + %Table_locks_waited%)) * 100) > THRESHOLD)
    
    

    This used thresholds of 1/3/5 (for Info/Warning/Critical).

    However, in the rule table_lock_contention_excessive (part of the Platinum subscription), the same expression existed but with different thresholds:

    (%Uptime% > 10800) && (((%Table_locks_waited% /
    (%Table_locks_immediate% + %Table_locks_waited%)) * 100) > THRESHOLD)
    
    

    In this case the thresholds were 30/60/95. (Bug#46768)

  • MySQL Enterprise Monitor 2.1 advisors for Windows suggested using innodb_flush_method=unbuffered, which is an undocumented value. Only documented values should have been recommended. (Bug#46709)

  • When deleting a server within MySQL Enterprise Dashboard where there was a lot of historical data or a large number of instances being monitored, the deletion process could take some time and affect the loading of all pages within MySQL Enterprise Dashboard The process should no longer affect the performance UI. (Bug#46632)

  • The rule names and other content on the Rules page could be displayed without the necessary formatting and translation. (Bug#46608)

  • You would get a Java NullPointerException message if you omitted to select a server before using Add server to group to add a new server to an existing group. (Bug#46593)

  • Initial setup and registration of MySQL Enterprise Monitor could fail on Mac OS X when communicating with the MySQL Enterprise website. (Bug#46571)

  • The MySQL Enterprise Service Manager would send one email from each agent when agents were no longer able to write information to the repository. You now get one email containing a list of the affected agents. (Bug#46460)

  • The error message shown in the orange dialog when a Rule could not be scheduled showed the Rule's resource key instead of its name. For example:

    U0146 Unable to schedule rule "binary_logging_is_limited.name" due to
    "mysql.MasterStatus.Binlog_Ignore_DB" data not being collected from server
    "net-dev2:13306". It may be an unsupported collection for that server.
    

    (Bug#46442)

  • The length of the MySQL Enterprise Monitor related cookie information caused the web browser to fail with errors such as the following (from Safari 4):

    Bad Request
    
    Your browser sent a request that this server could not understand.
    Size of a request header field exceeds server limit.
    
    Cookie: __utma=183337658.3685800196369993700.1241092024.1248080652.1248188601.199;
    __utmc=183337658; __utmz=183337658.1247859315.194.26.ut......
    

    (Bug#46348)

  • The values reported for the os.mem.swap_page_out and os.mem.swap_page_in could be identified incorrectly as delta, instead of absolute, values. (Bug#46326)

  • When upgrading an agent that uses SSL to connect to MySQL Enterprise Service Manager using a non-standard SSL port (i.e. not 18443), the upgrade would change the SSL port back to the default value. (Bug#46253)

  • When upgrading MySQL Enterprise Service Manager any custom properties set within config.properties would be lost. Changes are now retained during an upgrade. (Bug#46252)

  • When installing MySQL Enterprise Service Manager the disk space requirements could be calcualted incorrectly, which would cause the remainder of the installation to fail. (Bug#46251)

  • Installation of MySQL Enterprise Monitor Agent on Solaris 8 or Solaris 9 using the SPARC platform could fail if the latest patches of the SUNW UTF-8 and iconv libraries were not available. This prevented the installer from operating correctly, although the agent would work correctly. The installer for the agent has now been updated to avoid this issue. (Bug#46235)

  • In the Enterprise Dashboard, the query summary information pop-up on the BrowseQueries page forced a page reload after any hide. This affected both the user pressing the hide button, as well as the links on the Example and Explain tabs that caused the query summary information pop-up to be hidden, and the Query Analyzer config pop-up to be shown instead. (Bug#46230)

  • The Agent had a memory leak. The memory consumption increased by 35MB every five minutes. (Bug#46222)

  • The MySQL server embedded with MySQL Enterprise Service Manager has been updated to MySQL 5.1.37. (Bug#46214)

  • After a Service Manager upgrade, if there were migration errors, the message “Upgrade Status: there were errors in migration (details)” was displayed on the Settings, Manage Servers page. When the details link was clicked the yellow “An Error Occurred” pop-up was briefly displayed before disappearing, making it impossible to determine the details of the error. (Bug#46181)

  • When installing a new Advisor JAR, the contents could overwrite localizations in your current installation. (Bug#46169)

  • The threshold information in email alerts listed the thresholds in a seemingly random order, for example:

    Thresholds
    Warning : 1024
    Info : 512
    Critical : 10240
    
    Thresholds
    Info : 70
    Critical : 5
    Warning : 40
    
    Thresholds
    Critical : 75
    Warning : 85
    Info : 95
    

    (Bug#46143)

  • In the Enterprise Dashboard, the check boxes within the configure what's new panel did not function correctly. When deselecting a check box the accompanying text did not become de-emphasized (“grayed out”) as expected, but only changed when another check box was selected. Further, when the checkbox was subsequently selected, the text did not become emphasized until another check box was selected or deselected. This problem was limited to Internet Explorer 8. (Bug#46104)

  • In the Enterprise Dashboard, selecting all three checkboxes in the Configure Query Analyzer panel generated an error:

    The interval “00:00:00,500” could not be parsed. Intervals must be in hh:mm:ss.msec
    format.

    The error was due to the default value of Auto-Explain Threshold containing a “,” rather than a “.” character. (Bug#46102)

  • The MySQL Enterprise Monitor Agent could return a null value for a valid result set, resulting in incorrect results when using Query Analyzer. (Bug#46095)

  • The Rule “Non-Authorized User Has Server Admin Privileges” in the “Security” Advisor checked for the following:

    Create_user_priv = 'Y'
    File_priv = 'Y'
    Lock_tables_priv = 'Y'
    Reload_priv = 'Y'
    Shutdown_priv = 'Y'
    Super_priv = 'Y
    

    However, it did not include a check for the condition:

    Process_priv = 'Y'
    

    (Bug#46071)

  • The Query Analyzer Statement Pop-up history graphs were inconsistent with the other graphs. In particular:

    • The series colors were not consistent with other graphs.

    • The graph image was right aligned, but the title was left aligned. When the pop-up was expanded, unnecessary space was located on the left.

    • The Y axis did not have a Range Label.

    (Bug#46066)

  • In the Enterprise Dashboard, if a Notification Group was created, and also set to be the “MEM Admin” for cry for help emails, the MEM Admin column showed as "false" in the table overview when the group was saved. However, if the group was then edited and the flag added again, the MEM Admin status was saved. (Bug#46038)

  • Links in emails generated from the Query Analyzer were not linking to the Query Analyzer tab correctly. (Bug#46036)

  • When a query was clicked on the Query Analyzer page, the Explain Query tab displayed a potentially incorrect value for the Auto-Explain Threshold. The Threshold can actually be set to a user configurable value in Configure Query Analyzer, but the pop-up text did not reflect the currently set value, instead displaying a hard-coded default value. (Bug#46035)

  • The Rule “Server Includes A Root User Account” in the “Security” Advisor had a Recommended Action:

    UPDATE user SET user = 'new_name' WHERE user = 'root'; FLUSH PRIVILEGES;

    However, three other rules triggered in the case where “user” was not “root” but had administrative grants. This caused the following alerts to be generated:

    • Non-Authorized User Has DB, Table, Or Index Privileges On All Databases

    • Non-Authorized User Has GRANT Privileges On All Databases

    • Non-Authorized User Has Server Admin Privileges

    (Bug#46023)

  • In the Enterprise Dashboard, on the Settings, Manage Servers page, the menu item Configure Query Analyzer generated an unhandled error message if clicked when using the Silver level subscription. Query Analyzer is not available at this subscription level, and the menu option to configure the analyzer should not be shown on this page. (Bug#46016)

  • If the Agent and monitored server had time settings that were out of sync the Enterprise Dashboard reported the server as “down”. (Bug#45937)

  • On the What's New? page of the Enterprise Dashboard, multiple messages were generated for the same error. This cluttered the user interface. (Bug#45927)

  • In the Enterprise Dashboard, when using the Safari web browser, the graph selection displayed on the Query Analyzer tab was sometimes drawn outside the plot area. (Bug#45926)

  • The Enterprise Monitor log was flooded with ERROR/WARN messages when the Service Manager was retrying for a mysqld connection:

    2009-07-02 16:52:23,440  WARN [http-18080-4:com.mysql.sql] java.lang.Exception: MySQL
    server not running or accepting connections, retrying  30 times or 46 seconds, whichever
    expires first. Exception was: Communications link failure
    Last packet sent to the server was 0 ms ago.
    2009-07-02 16:52:24,455  WARN [Purger:com.mysql.sql] java.lang.Exception: MySQL server not
    running or accepting connections, retrying  46 times or 151 seconds, whichever expires
    first. Exception was: Communications link failure
    Last packet sent to the server was 0 ms ago.
    2009-07-02 16:52:25,471  WARN [http-18080-5:com.mysql.sql] java.lang.Exception: MySQL
    server not running or accepting connections, retrying  28 times or 34 seconds, whichever
    expires first. Exception was: Communications link failure
    Last packet sent to the server was 0 ms ago.
    2009-07-02 16:52:26,377  WARN [http-18080-9:com.mysql.sql] java.lang.Exception: MySQL
    server not running or accepting connections, retrying  33 times or 64 seconds, whichever
    expires first. Exception was: Communications link failure
    Last packet sent to the server was 0 ms ago.

    (Bug#45924)

  • In the Enterprise Dashboard the icon file for event.status.closed was missing. The problem manifested differently in different browsers. In Internet Explorer 8 the UI cell was empty and no text was displayed. In Firefox 3 the text “event.status.closed” was displayed in the cell. (Bug#45872)

  • If the system time zone was different from that set in the Enterprise Dashboard, then there was inconsistency in the way times were displayed on the Query Analyzer page. Some times were displayed in the time zone of the system and some were displayed using the Dashboard time zone setting. (Bug#45858)

  • In Enterprise Dashboard, when a range on the graph in the Graphs tab was selected, the following error message was displayed:

    Error Message
    You do not have permissions to access this resource.
    
    E0211: PermissionDeniedException: []
    com.mysql.merlin.ui.interceptors.AuthenticationInterceptor.intercept(AuthenticationInterce
    ptor.java:109)
    com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
    :224)
    com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
    :1)
    com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
    org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
    org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:507)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.ja
    va:235)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:81)
    net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.ja
    va:235)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    com.mysql.util.RequestCounterFilter.doFilter(RequestCounterFilter.java:117)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.ja
    va:235)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    com.mysql.merlin.ui.filters.AccessLogFilter.doFilter(AccessLogFilter.java:56)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.ja
    va:235)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.jav
    a:584)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    java.lang.Thread.run(Unknown Source)

    (Bug#45836)

  • If both the View Readme and Launch Monitor in browser check boxes were selected on the last screen of the Monitor installer, the Dashboard was not brought up in a browser until after the window displaying the “readme” information was closed. (Bug#45795)

  • The Agent did not report all the rows from an explain plan where the plan had more than one row. The Dashboard would display information for the first row, but subsequent rows would display NULL. (Bug#45791)

  • Custom collections did not override standard collections.

    If a custom collection file was defined, and collections specified which were the same as the defaults but with some extensions, the custom collection did not appear to be processed and so did not override the default collection. (Bug#45755)

  • When the Service Manager was restarted, or if the Service Manager was turned off for a brief period, and then turned back on, some graphs, such as Database Activity, showed an erroneous spike in traffic. (Bug#45688)

  • Cry for help emails were not sent for events such as the monitored server running out of connections or disk space. In the past these had been sent for any error code < 1026. (Bug#45667)

  • If custom collection files were created for the Agent, and references added to the agent-item-files variable within the mysql-monitor-agent.ini file, on upgrade the following problems occurred:

    1. The agent-item-files variable was overwritten, thereby removing the custom entry.

    2. The custom files were deleted, if they were contained in the share/ directory.

    (Bug#45655)

  • In the Enterprise Dashboard, when closing single or multiple Events the following exception was generated:

    Could not execute JDBC batch update
    org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
    

    (Bug#45627)

  • In the Enterprise Dashboard, the icon displayed for each server on the Settings, Manage Servers page was incorrectly located. This resulted in fewer servers being displayed per page. (Bug#45564)

  • In Enterprise Dashboard, when clicking configure what's new in the What's New? tab, an error occurred. This only happened when using Internet Explorer 8. (Bug#45478)

  • After the initial server installation a user may select OpenSSL native integration with Tomcat. This will modify the apache-tomcat/lib directory. However, subsequently running an upgrade installer overwrote the apache-tomcat/lib directory which had been modified during the OpenSSL native integration. (Bug#45432)

  • The query SELECT * FROM 23lk4kj234; was reported incorrectly in the Query Analyzer. (Bug#45431)

  • When an event was closed a “SUCCESS” SNMP trap was sent, rather than a “CLOSED” SNMP trap. (Bug#45376)

  • When MySQL Enterprise Monitor 1.3 was upgraded directly to 2.1, and having requested SSL in the upgrade dialog, SSL did not work in the upgraded Monitor. (Bug#45339)

  • When an event was closed, the row in the event table where the event entry was located had its checkbox disabled, even though the event now in that row was open. This happened regardless of whether the Close button, or the close link were used to close the event. (Bug#45250)

  • The Notifications list in the Schedules or Edit Schedules pop-ups listed the Notification Groups targets in the order in which they were created, not alphabetic order. (Bug#45169)

  • A small memory leak occurred in the agent when a connection attempt to the dashboard failed. This represented a problem if the agent was unable to connect to the dashboard for a long period of time, as each failure to connect would leak some more memory. (Bug#45164)

  • When disabling Query Analyzer while the two sub-options remain enabled for an individual agent, the analyzer, explain and other options would be logged by the agent as critical errors. Now, only the disabling of Query Analyzer is logged as a critical error. The Example Query and Example Explain options are reported as info errors. (Bug#45041)

  • The Agent attempted to obtain the Query Analyzer configuration before the Monitor server has created it. This resulted in the Agent generating the following critical error in the log:

    2009-05-21 15:59:42: (critical) network-io.c:255: successfully reconnected to dashboard at
    http://agent:merlin@127.0.0.1:18080/heartbeat
    2009-05-21 15:59:47: (critical) agent_mysqld.c:641: successfully connected to database at
    127.0.0.1:13306 as user marcos (with password: YES)
    2009-05-21 15:59:52: (critical) network-io.c:807: starting task 2 for
    mysql::server[8b1294a5-b40b-457c-b8d3-a834848dc1df]
    
    2009-05-21 15:59:52: (critical) job_collect_lua.c:323:
    ...ql/enterprise/agent/share/mysql-proxy/items/quan.lua:505: GETing quan-config from
    http://agent:merlin@127.0.0.1:18080/v2/rest/instance/mysql/StatementAnalysisSupport/8b1294
    a5-b40b-457c-b8d3-a834848dc1df failed with: 404
    8b1294a5-b40b-457c-b8d3-a834848dc1df of type mysql.StatementAnalysisSupport not found
    
    2009-05-21 16:00:00: (critical) (share/mysql-proxy/items/quan.lua:528) setting
    .analyze_queries for 8b1294a5-b40b-457c-b8d3-a834848dc1df to true
    2009-05-21 16:00:00: (critical) (share/mysql-proxy/items/quan.lua:532) setting
    .auto_explain for 8b1294a5-b40b-457c-b8d3-a834848dc1df to true
    2009-05-21 16:00:00: (critical) (share/mysql-proxy/items/quan.lua:536) setting
    .analyze_worst_queries for 8b1294a5-b40b-457c-b8d3-a834848dc1df to true
    2009-05-21 16:00:00: (critical) (share/mysql-proxy/items/quan.lua:540) setting
    .auto_explain_min_exec_time_us for 8b1294a5-b40b-457c-b8d3-a834848dc1df to 500000
    

    (Bug#45016)

  • 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)

  • If you have the environment variable http_proxy set within your environment, when connections from MySQL Enterprise Monitor Agent could be redirected to an external site, instead of sending them to the configured MySQL Enterprise Service Manager. You can disable this behavior by adding the contents of the agent-mgmt-hostname configuration option for MySQL Enterprise Monitor Agent to the no_proxy variable. (Bug#44893)

  • The regular expression used to parse the adaptive hash index section of SHOW INNODB STATUS for the cell size/used and node size did not function correctly for versions of monitored server greater than 5.1.28. This was because the section of the expression dealing with “cells used” was removed as part of Bug#36941. (Bug#44853)

  • 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)

  • Any JAVA_OPTS configuration changes made in the catalina.sh file, such as -Xmx, -Xms, were overwritten when the upgrade installer was run. These values were used for customizing larger installations. (Bug#44740)

  • 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)))
    

    (Bug#44734)

  • If the Service Manager was set up to use an HTTP proxy, all traffic attempted to go through the proxy, including the connection to the mysqld server running the repository. (Bug#44729)

  • 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)

    (Bug#44602)

  • In Enterprise Dashboard, clicking a query listed on the Query Analyzer page resulted in a delay of around 28 seconds before the pop-up was displayed. (Bug#44601)

  • The frequency shown on the Advanced tab of an Event pop-up was the default frequency for a rule and not the frequency actually scheduled. (Bug#44591)

  • Any changes made to the config.properties file, were overwritten by the upgrade installer. (Bug#44526)

  • If a customer was using their own SSL certificate, they entered that information in the server.xml file. However, running the upgrade installer caused server.xml, and any custom certificates, to be replaced. (Bug#44525)

  • If you edited the server.xml file inside the tomcat/conf/ folder, and changed the Tomcat port, running the upgrade installer did not show you the new port number, but the one you used at the installation time.

    It also did not remember that you had enabled SSL. (Bug#44444)

  • Editing an Advisor and selecting the Use SNMP Traps checkbox led to confusing behavior. Advisors appeared to be incorrectly enabled or disabled. (Bug#44387)

  • The Agent failed to correctly determine the state of the monitored server if the thread-id, extracted from the client/server protocol, is greater than 2^32. In the case with a thread-id greater than 2^32, the agent incorrectly determined that it was monitoring a remote server. High values of thread-id occur when the monitored server has many connections, or if it has been running for an extended period of time. (Bug#44168)

  • The Mac OS X version of the Service Manager uses the system JRE. The system JRE loads the libraries located in /Library/Java/Extensions. As libraries in the extensions directory take precedence over other libraries, this caused conflicts when user extension libraries were installed there, as these would be used by the JRE when running Service Manager, instead of the shipped libraries. This happened when Java-related products were installed such as Connector/J, Spring, and Hibernate.

    This fix stops user-installed extension libraries from being used when the JRE runs the Service Manager, thus giving a “pristine” environment with no library collisions. (Bug#44157)

  • The What's New tab can no longer be hidden, as it now provides important information and updates about MySQL and MySQL Enterprise Monitor. (Bug#44107)

  • In the Enterprise Dashboard, when the frequency for a rule was changed in Advisors, Manage Rules, edit, incorrect thresholds were saved, leading to erroneous alerts. (Bug#44102)

  • MySQL Enterprise Monitor installation sometimes failed, generating the following error:

    Installing
    
    Innitializing User accounts. (4/6)
    
    Error running /opt/mysql/enterprise/monitor/mysql/bin/mysql
    --defaults-file=/opt/mysql/enterprise/monitor/mysql/my.cnf -S
    /opt/mysql/enterprise/monitor/mysql/tmp/mysql.sock -u root -D mysql -e "update user set
    Password = PASSWORD('service_manager') where User = 'root'; update user set User =
    'service_manager' where User = 'root';delete from user where User = '';flush privileges;"
    : ERROR 2002 (HY000): Can't connect to local MySQL server through socket
    '/opt/mysql/enterprise/monitor/mysql/tmp/mysql.sock' (2)

    After displaying this error, the MySQL Enterprise Monitor installer reported that it had “completed”, but the message displayed contained an error message string:

    Report2.SetInstallerVariable.errorsOnSQLStatementsText

    (Bug#44038)

  • In the Enterprise Dashboard, in the Query Analyzer tab, the monitored parameter was not handled correctly during collapse and expansion of the graph. For example, if the graph was monitoring CPU Utilization, and then collapsed and the parameter changed to Database Activity, the monitored parameter reverted to CPU Utilization when the graph was expanded again. (Bug#44029)

  • 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)

  • Accessing the Query Analyzer tab caused a full table scan to take place on the MySQL Enterprise Monitor database. (Bug#43989)

  • Some SNMP managers could not detect “Application Error” SNMP notifications.

    This happened because some SNMP managers do not follow the protocol correctly. Some use the DisplayString length of 255 as the maximum OctetString, but this is in fact unlimited in SMIv1 and 64k in SMIv2.

    To work around this issue it is possible to override the correct behavior to enable non-comformant SNMP Managers to detect all messages. This is achieved by overriding the OctetString maximum size by setting a MySQL Enterprise Monitor server property. This is done by entering SQL such as the following:

    INSERT INTO map_entries VALUES (1,'2048','snmp.octetstring');
    

    In this example the value 2048 will be the maximum SNMP OctetString size that would sent in any SNMP traps. After setting this property the server will need to be restarted. Note that the value used may need adjusting depending on the behavior of the SNMP manager. (Bug#43970)

  • 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)

  • The Enterprise Dashboard was running abnormally slowly. Clicking on a tab in the Dashboard, or selecting a server from the server tree resulted in a delay of approximately one minute before the results were displayed. (Bug#43866)

  • The Agent failed on Linux 32-bit systems with the following error:

    2009-03-24 16:01:09: (debug) chassis.c:1091: current RLIMIT_NOFILE = 4398046512128 (hard:
    577792033385921489)
    2009-03-24 16:01:09: (debug) chassis.c:1095: trying to set new RLIMIT_NOFILE =
    4398046519296 (hard: 577792033385921489)
    2009-03-24 16:01:09: (critical) chassis.c:1097: could not raise RLIMIT_NOFILE to 8192,
    Invalid argument (22). Current limit still 13811918798715880448.
    2009-03-24 16:01:09: (message) MySQL Monitor Agent 2.0.5.7153 started.
    

    This happened with the following environment:

    $ ./mysql-monitor-agent -V
     mysql-proxy 0.7.0
     glib2: 2.16.3
     libevent: 1.4.6-stable
     proxy: 0.7.0
     monitor: 0.7.0
     MySQL Monitor Agent(agent): 2.0.5.7153
     admin: 0.7.0
    
    $ cat /etc/redhat-release
     Red Hat Enterprise Linux ES release 3 (Taroon Update 5)
    
    $ uname -a
     Linux xxxx 2.4.21-32.0.1.ELsmp #1 SMP Tue May 17 17:52:23 EDT 2005 i686 i686 i386
    GNU/Linux
    

    The same error also occurred on CentOS 5.2 32-bit systems. (Bug#43821)

  • The Replication Group was renamed back to its default name after a new topology was discovered. (Bug#43816)

  • 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
    

    (Bug#43803)

  • 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 SNMP trap source IP was always set to 127.0.0.1. (Bug#43738)

  • The advisor “Replication - Slave Has Login Accounts With Inappropriate Privileges” contained inappropriate advice information.

    The advice message generated was:

    Server: slave-01
    Time: 2009-03-17 12:00:04 GMT
    Advisor: Replication - Slave Has Login Accounts With Inappropriate Privileges
    
    Problem Description
    Altering and dropping tables on a slave can break replication. Unless the slave also hosts
    non-replicated tables, there is no need for accounts with these privileges.
    
    Advice
    Revoke the global ALTER and DROP privileges from the following accounts on server slave-01
    unless they are absolutely necessary:
    
    user_1@localhost,
    user_2@localhost
    
    Recommended Action
    REVOKE ALTER, DROP ON *.* FROM user_name@host_name;
    FLUSH PRIVILEGES;

    However, the problems with this advice were:

    1. The server was configured read_only so it would not be possible to DROP or ALTER tables unless the user had SUPER privilege.

    2. MySQL grants were replicated from the master and therefore appeared on the slave. Also, read_only ensured the slave could not be changed.

    (Bug#43701)

  • In Enterprise Dashboard, if on the Monitor page the Configure Graphs link was clicked, no changes made, and then the Save button clicked, then the following error was generated:

    U0023 You must provide a non-zero interval

    (Bug#43682)

  • The installer exited with a return code 0, even if an error was detected and reported to the user during the installation.

    .../mysqlmonitor-2.1.0.1015-linux-x86-64bit-installer.bin --mode unattended --installdir
    /data0/merlin/monitoring/2.1.0.1015/host/38080 --tomcatport 38080 --tomcatshutdownport
    38503 --tomcatsslport 38443 --dbport 33300 --usessl 1 --adminuser **user** --adminpassword **pwd**
    Error running /data0/merlin/monitoring/2.1.0.1015/host/38080/mysql/bin/mysql
    --defaults-file=/data0/merlin/monitoring/2.1.0.1015/host/38080/mysql/my.cnf -S
    /data0/merlin/monitoring/2.1.0.1015/qa-merlin/38080/mysql/tmp/mysql.sock -u root -D mysql
    -e "update user set Password = PASSWORD('**pwd**') where User = 'root'; update user set
    User = '**user**' where User = 'root';delete from user where User = '';flush privileges;"
    : ERROR 2002 (HY000): Can't connect to local MySQL server through socket
    '/data0/merlin/monitoring/2.1.0.1015/host/38080/mysql/tmp/mysql.sock' (2)

    (Bug#43676)

  • The Connections graph did not include information from the Thread Cache graph. Connections and Thread Cache were available as separate graphs but it was difficult to compare them. (Bug#43584)

  • If it was desired to look at MySQL Enterprise Monitor graphs for time spans of over 24 hours, you had to change from Interval to From/To mode, and specify a fixed From and To period. This was inconvenient compared to simply specifying a greater interval. (Bug#43564)

  • 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)

  • When a trailing space, or tab character, was added at the end of a parameter in the config.properties file, MySQL Enterprise Monitor failed to start and generated the following errors in log:

    ERROR [Thread-1:org.springframework.web.context.ContextLoader] Context initialization
    failed
    ...
    Caused by: java.sql.SQLException: Illegal connection port value '13306'
    ...

    Resolving the problem required detailed log analysis because the configuration file did not show any apparent problems. (Bug#43540)

  • 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)

  • In the Enterprise Dashboard it is only possible to delete monitored servers if they are stopped. Monitored servers can be deleted in Settings, Manage Servers. However, if after stopping the Agent, the Dashboard was not refreshed and the agent was started again, an error was generated saying that the agent was running and could therefore not be deleted. Although correct, this was confusing as the Dashboard showed the Agent as stopped but the delete operation error message showed the Agent as running. (Bug#42983)

  • Heat Chart rules could not be disabled or unscheduled. (Bug#42932)

  • There were four columns added to the SHOW SLAVE STATUS query in MySQL Server 5.1: Last_IO_Errno, Last_IO_Error, Last_SQL_Errno, and Last_SQL_Error.

    However, these were not displayed within the Replication tab. (Bug#42811)

  • Agent IP address was not included in SNMP traps. It was also not possible to set these Agent IP addresses through a configuration, which would have been useful for situations where the Agent could not determine the monitored server IP address, such as when virtual IP addresses were used. (Bug#42703)

  • The Agent would not reconnect to a monitored database if it was started when the monitored server was down. The agent log contained the following error:

    Can't connect to MySQL server on '127.0.0.1' (0) (mysql-errno = 2003)

    The agent only sent OS data to the Dashboard. Further, when the monitored server was later started, no attempts to reconnect were logged.

    The problem could be worked around by restarting the agent when the monitored server was running again. (Bug#42581)

  • The installer used to upgrade from version 1.3 corrupted passwords containing the “?” character. (Bug#42452)

  • 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)

  • The username field for new users was populated by the last username used.

    When creating a new user for the second time in Dashboard, the previously created username appeared in the dialog. (Bug#42314)

  • The Agent shut down if the wrong username/password was given in the Service Manager. This happened on a fresh installation, when running the Service Manager through the Proxy. When Complete was clicked to finish the installation the error “Cannot open conection” was displayed. The Agent log also contained the following errors:

    2009-01-20 15:54:16: (critical) <-- received HTTP-status: 401 (failed) for
    'http://agent:mysql@127.0.0.1:8080/Monitor2/heartbeat': password are wrong
    2009-01-20 15:54:16: (critical) shutting down normally
    
    2009-01-20 15:54:19: (critical) <-- received HTTP-status: 401 (failed) for
    'http://agent:mysql@127.0.0.1:8080/Monitor2/heartbeat': password are wrong
    2009-01-20 15:54:19: (critical) shutting down normally
    

    (Bug#42228)

  • 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
    

    (Bug#42096)

  • 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)

  • Using a long interval for the long data collection purging (such as 6 weeks), and a short interval for the query analysis purging (such as 1 week) caused the Query Analyzer purge EXPLAIN for the INSERT ... SELECT into the temp_dc_ng_*_now table to perform a full scan on the dc_ng_*_now.end_time index. For example:

    explain SELECT instance_attribute_id, end_time, end_time  FROM dc_ng_long_now JOIN
    inventory_instance_attributes USING  (instance_attribute_id) JOIN inventory_instances
    USING (instance_id) WHERE  dc_ng_long_now.end_time <= 1230814870074 AND
    dc_ng_long_now.instance_attribute_id AND type_id in (8, 9, 7, 6) ORDER BY
    dc_ng_long_now.end_time ASC LIMIT 10000\G
    *************************** 1. row ***************************
               id: 1
      select_type: SIMPLE
            table: dc_ng_long_now
             type: range
    possible_keys: PRIMARY,end_time
              key: end_time
          key_len: 8
              ref: NULL
             rows: 8205369
            Extra: Using where; Using index
    *************************** 2. row ***************************
               id: 1
      select_type: SIMPLE
            table: inventory_instance_attributes
             type: eq_ref
    possible_keys: PRIMARY,instance_id
              key: PRIMARY
          key_len: 4
              ref: mem.dc_ng_long_now.instance_attribute_id
             rows: 1
            Extra:
    *************************** 3. row ***************************
               id: 1
      select_type: SIMPLE
            table: inventory_instances
             type: eq_ref
    possible_keys: PRIMARY,FKD4320F5BBDD9C29B
              key: PRIMARY
          key_len: 4
              ref: mem.inventory_instance_attributes.instance_id
             rows: 1
            Extra: Using where
    3 rows in set (0.55 sec)

    (Bug#42061)

  • OM_REFRESH was not supported by MySQL Proxy, it caused an abort().

    shell>  ./mysql-proxy --proxy-backend-addresses=192.168.250.3:3306
    network-mysqld-proxy.c.3524: COM_(0x07) is not handled
    Aborted (core dumped)
    
    (gdb) bt
    0x00b1b402 in ?? ()
    0x00cbaf30 in raise () from /lib/i686/nosegneg/libc.so.6
    0x00cbc811 in abort () from /lib/i686/nosegneg/libc.so.6
    0x08061efc in IA__g_logv at gmessages.c:497
    0x08061f66 in IA__g_log  at gmessages.c:517
    0x08054645 in proxy_read_query_result  at network-mysqld-proxy.c:3522
    0x0804c5f4 in plugin_call  at network-mysqld.c:977
    0x0804d45a in network_mysqld_con_handle at network-mysqld.c:1520
    0x08057cb9 in event_process_active (base=0x978b260) at event.c:331
    0x08057e64 in event_base_loop (base=0x978b260, flags=0) at event.c:449
    0x08057d1c in event_base_dispatch (event_base=0x978b260) at event.c:351
    0x0804d9d0 in network_mysqld_thread (_srv=0x9789008) at network-mysqld.c:1768
    0x0804b84a in main (argc=1, argv=0xbfc4fe84) at mysql-proxy.c:615

    (Bug#41991)

  • The MySQL Enterprise Monitor file my.cnf specified an initial size of 500M for the central tablespace. However, innodb_file_per_table was used as well, resulting in approximately 500M of space being potentially wasted. (Bug#41967)

  • It was not possible to change any settings related to Query Analyzer unless at least one MySQL server was already being monitored. (Bug#41875)

  • 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

    (Bug#41717)

  • In the Enterprise Dashboard, when a new server group was clicked in the main tab an error message was generated. On checking the Monitor log there were many error messages related to lock timeouts and having to retry transactions. This problem occurred after enabling purging of the Repository. (Bug#41461)

  • Running the Service Manager on Mac OS X and monitoring two servers with two agents for at least 16 hours caused the Java process to use 2.08 GB of memory. (Bug#41438)

  • 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

    (Bug#41384)

  • 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)

  • Allowing the heat chart rules to be set to unscheduled caused the user interface to appear broken. (Bug#41312)

  • Data in the agent resource usage graphs (CPU, RAM) stopped after a full install of a new agent monitoring the same database was carried out. Usage history was available across agent versions for all graphs except the agent resource usage graphs. (Bug#41249)

  • Graphs were incorrect for data that did not change. The graphs appeared as if no data had been gathered.

    The Hit Ratios graph had gaps in it where there had not been any activity on the parameters being monitored. For instance, if MyISAM tables were not used, then no Key Cache hit ratio series was plotted, even though the variables were still being collected. (Bug#41232)

  • The generic Linux IA64 glibc2.3 Agent installer was missing from the build. (Bug#41224)

  • When creating a new Database Administrator user in FireFox 2 the following error message was generated:

    U0002 You must log in to access the requested resource.

    This occurred in a new installation using the default administrator account. No Query Analysis permissions were given. However, the operation worked correctly using the Safari web browser. (Bug#41032)

  • 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 configuration for Query Analyzer that sets the default for all servers (using the Make this the default for all new servers checkbox) could still applied even when the dialog box was canceled. (Bug#40828)

  • The Manage Servers page did not refresh in a manner consistent with other pages. This meant that changes to configuration made by others would not be reflected on the page. Also, changes in the status of the servers were not displayed automatically. (Bug#40792)

  • The agent installer for HP-UX 11.11 would fail to execute correctly. (Bug#40568, Bug#40566, Bug#37508)

  • 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)

  • If the MySQL Enterprise Monitor Agent was unable to execute an EXPLAIN on a query, it would report an empty SQL query. The agent will now report the query hash value, which can be used to identify the original query by examining the repository. (Bug#40353)

  • The agent installer for Solaris 8 x86 32-bit was missing. (Bug#40248)

  • Even though Query Analysis was disabled through the user interface, the queries that go through the agent were still being collected.

    When Query Analysis was turned back on in the user interface, those queries were then displayed. (Bug#40032)

  • The Enterprise Dashboard did not display OS data if the Agent was changed from remote to local monitoring. (Bug#39954)

  • The agent crashed if ssh-keygen was not present and if a wireless card was being used instead of an Ethernet card.

    This only affected Unix based systems, it did not affect Microsoft Windows. (Bug#39938)

  • On Mac OS X when a server had more than 4GB RAM available the memory advisor was still triggered. This appeared to be due to an overflowing value. (Bug#39757)

  • The Agent received a critical error but did not terminate as expected. The critical error generated was:

    2008-09-23 09:35:02: (critical) agent_mysqld.c:139: mysql_real_query() failed: Can't find
    file: './mysql/inventory.frm' (errno: 13) (errno=1017)
    

    (Bug#39603)

  • Alerts sent from MySQL Enterprise Monitor used the GMT timezone, for example:

    Time: 2008-09-17 19:41:08 GMT

    That was not convenient for users, as their timezones may not have been GMT. (Bug#39504)

  • The Agent running on AIX 5.3 did not report CPU data or RAM size, causing the Enterprise Dashboard to crash with a Null Pointer Exception. (Bug#38001)

  • The MySQL Enterprise Monitor upgrade installer replaced the my.cnf file. This resulted in the loss of any changes that had been made to the configuration file. (Bug#36528)

  • In the Enterprise Dashboard, on the Graphs page, the interface for selecting time intervals was not convenient, and it required multiple clicks to select the desired interval.

    This was fixed by adding a selection of pre-determined time intervals. (Bug#34556)

  • Auto-generated replication group names were not translated into Japanese. (Bug#32155)

  • If the “On Save send test trap” checkbox was checked when the Save 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)

  • The Enterprise Dashboard could communicate with https://enterprise.mysql.com using the customer username and password to download the license key and advisor bundle. However, it could not make use of a proxy to do so. This was a problem as many corporate firewalls required the use of a proxy for all HTTP and HTTPS traffic.

    The work around of having to manually download license keys and advisor bundles by hand was inconvenient. (Bug#31507)

  • The agent log does not include a specific note of when the monitoring by the agent was started. An entry AgentMonitoringService started is now added to the log. (Bug#30609)

  • 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)

  • When configuring a graph, setting a to date to a value prior to the from date, or the from date to a value after the to date will not automatically switch the dates when Update is pressed. (Bug#28473)

  • In the Enterprise Dashboard, the user interface permitted you to close an already closed event. This happened if multiple instances of the Events tab were created. It was possible to close an event with resolution notes in one instance, and then close the same event again with a different set of resolution notes in the other instance. However, on review, the resolution notes and event closure time stamp recorded, were those of the first closure. (Bug#24107)

  • When upgrading a monitored server, the information and configuration of the server would not be updated, leading to rules not being executed or applied correctly. Server's are now re-inventoried according to the specified schedule. For more information, see Remote Server Inventory Schedule. (Bug#24068)

  • The Dynamic Link Library (DLL) libxml2.dll did not contain version resources. This meant version information was not available to be displayed when the file was examined in Windows Explorer. (Bug#23948)

  • It was not possible to rename a notification group. (Bug#22962)

  • Failures by MySQL Enterprise Service Manager to send warning emails are now reported both in the logs and in the MySQL Enterprise Dashboard within the Product Info section of the Settings page. For more information, see Section 5.7, “The Product Information Screen”. (Bug#20478)