Bug #33150 Agent needs option to skip reporting of schema inventory
Submitted: 11 Dec 2007 19:26 Modified: 15 Jan 2009 11:16
Reporter: Todd Farmer (OCA) Email Updates:
Status: Closed Impact on me:
Category:MySQL Enterprise Monitor: Agent Severity:S3 (Non-critical)
Version:1.2,1.3,2.0 OS:Any
Assigned to: Kay Roepke CPU Architecture:Any

[11 Dec 2007 19:26] Todd Farmer
The Agent currently returns an inventory list of all database and tables.  As far as I know, this information is not currently used within MEM, other than used to populate the inv_databases and inv_tables tables.  For large-scale deployments, where there are many databases and/or tables, this can result in exceptionally large XML messages from the Agent to the SM, for essentially no value.

How to repeat:
Create many databases and tables.  Start monitoring server.  Note XML message sent from Agent to SM.

Suggested fix:
Assuming the inv_databases and inv_tables tables are not used, add an option to agent start up to disable sending of inventory information (--skip-inventory).
[9 Jul 2008 13:23] Kai Voigt
I confirm this scenario.

A possible customer of MySQL Enterprise (at least Silver) can't use the Monitoring, as the Agent collects inventory information right after startup. It's a production system with 250.000 tables. The SHOW TABLES statement locks up the mysql server.

I vote for raising the severity of this bug to something more urgent. Thanks.
[9 Jul 2008 16:44] Sloan Childers
We have another customer with 250,000 tables and when "SHOW TABLES" is run it kills  mysqld.  Now that may seem like a bug in mysqld but we should figure out how to play nice and handle this on the agent side if we can.

In the 1.3.2 code base "SHOW TABLES" has been disabled for the list_inventory agent command.  From a brief glance at the code it looks like we are issuing "SHOW TABLES" to build a cache which is accessed by code building a list of known data collection items.  (I looked at the agent_mysqld_get_tables references in the code.)

I'm assigning this to Kay and making it a bug instead of a feature request.
[14 Jan 2009 23:49] Bill Weber
verified fixed in build
[15 Jan 2009 11:16] Tony Bedford
An entry has been added to the 2.0 changelog:

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.