From: Maitrayi Sabaratnam Date: November 2 2010 4:05pm Subject: bzr commit into mysql-5.1-telco-7.0 branch (maitrayi.sabaratnam:3915) List-Archive: http://lists.mysql.com/commits/122567 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1747843060==" --===============1747843060== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///export/tmp/maitrayi/mysql-src/repo-7.0/mysql-5.1-telco-7.0-bug54199/ based on revid:magnus.blaudd@stripped 3915 Maitrayi Sabaratnam 2010-11-02 BUG54199 Cluster+DiskData, Querying INFORMATION_SCHEMA.FILES slow when data node is down modified: sql/ha_ndbcluster.cc storage/ndb/include/ndbapi/ndb_cluster_connection.hpp storage/ndb/src/ndbapi/ndb_cluster_connection.cpp storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp === modified file 'sql/ha_ndbcluster.cc' === modified file 'sql/ha_ndbcluster.cc' --- a/sql/ha_ndbcluster.cc 2010-10-22 14:25:43 +0000 +++ b/sql/ha_ndbcluster.cc 2010-11-02 16:05:06 +0000 @@ -14069,7 +14069,7 @@ g_ndb_cluster_connection->init_get_next_node(iter); - while ((id= g_ndb_cluster_connection->get_next_node(iter))) + while ((id= g_ndb_cluster_connection->get_next_alive_node(iter))) { init_fill_schema_files_row(table); NdbDictionary::Datafile df= dict->getDatafile(id, elt.name); @@ -14201,7 +14201,7 @@ g_ndb_cluster_connection->init_get_next_node(iter); - while ((id= g_ndb_cluster_connection->get_next_node(iter))) + while ((id= g_ndb_cluster_connection->get_next_alive_node(iter))) { NdbDictionary::Undofile uf= dict->getUndofile(id, elt.name); ndberr= dict->getNdbError(); === modified file 'storage/ndb/include/ndbapi/ndb_cluster_connection.hpp' --- a/storage/ndb/include/ndbapi/ndb_cluster_connection.hpp 2010-05-04 14:34:54 +0000 +++ b/storage/ndb/include/ndbapi/ndb_cluster_connection.hpp 2010-11-02 16:05:06 +0000 @@ -182,6 +182,7 @@ void init_get_next_node(Ndb_cluster_connection_node_iter &iter); unsigned int get_next_node(Ndb_cluster_connection_node_iter &iter); + unsigned int get_next_alive_node(Ndb_cluster_connection_node_iter &iter); unsigned get_active_ndb_objects() const; Uint64 *get_latest_trans_gci(); === modified file 'storage/ndb/src/ndbapi/ndb_cluster_connection.cpp' --- a/storage/ndb/src/ndbapi/ndb_cluster_connection.cpp 2010-10-07 05:39:39 +0000 +++ b/storage/ndb/src/ndbapi/ndb_cluster_connection.cpp 2010-11-02 16:05:06 +0000 @@ -195,6 +195,28 @@ return node.id; } +Uint32 +Ndb_cluster_connection_impl::get_next_alive_node(Ndb_cluster_connection_node_iter &iter) +{ + Uint32 id; + + TransporterFacade *tp = m_impl.m_transporter_facade; + if (tp == 0 || tp->ownId() == 0) + return 0; + + while (id = get_next_node(iter)) + { + tp->lock_mutex(); + if (tp->get_node_alive(id) != 0) + { + tp->unlock_mutex(); + return id; + } + tp->unlock_mutex(); + } + return 0; +} + unsigned Ndb_cluster_connection::no_db_nodes() { @@ -816,6 +838,12 @@ return m_impl.get_next_node(iter); } +unsigned int +Ndb_cluster_connection::get_next_alive_node(Ndb_cluster_connection_node_iter &iter) +{ + return m_impl.get_next_alive_node(iter); +} + unsigned Ndb_cluster_connection::get_active_ndb_objects() const { === modified file 'storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp' --- a/storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp 2010-09-30 11:52:49 +0000 +++ b/storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp 2010-11-02 16:05:06 +0000 @@ -63,6 +63,7 @@ void init_get_next_node(Ndb_cluster_connection_node_iter &iter); Uint32 get_next_node(Ndb_cluster_connection_node_iter &iter); + Uint32 get_next_alive_node(Ndb_cluster_connection_node_iter &iter); inline unsigned get_connect_count() const; public: --===============1747843060== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/maitrayi.sabaratnam@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: maitrayi.sabaratnam@stripped\ # 03888cho9uqx2j3w # target_branch: file:///export/tmp/maitrayi/mysql-src/repo-7.0/mysql-\ # 5.1-telco-7.0-bug54199/ # testament_sha1: d607e14873b10872102ef8612bd1171a5634c81b # timestamp: 2010-11-02 17:05:14 +0100 # base_revision_id: magnus.blaudd@stripped\ # xwz19k75hanrqonp # # Begin bundle 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 --===============1747843060==--