Issue #4694 has been updated by Markus Roberts. Status changed from Unreviewed to Accepted
We aren't sure. There are a nest of issues here, and three of us have been taking turns beating our heads against them for the last two weeks. At the most abstract, the problem can be expressed as "various libraries have slightly conflicting ideas about who is responsible for thread/process safety and related concurrency issues" but that isn't enough to fix it. ---------------------------------------- Bug #4694: Storeconfig issue with AR/MySQL http://projects.puppetlabs.com/issues/4694 Author: Andrew Forgue Status: Accepted Priority: Normal Assignee: Category: stored configuration Target version: 0.25.6 Affected version: 0.25.5 Keywords: stored configs Branch: We're having an issue with storeconfigs generating random MySQL disconnect errors. This is not related to #2880 or #2816. Though I suspect that the underlying cause may be the same. First: err: Mysql::Error: MySQL server has gone away: INSERT INTO `fact_values` (...) Second: err: Puppet::Parser::Compiler failed with error ActiveRecord::StatementInvalid: Mysql::Error: Lost connection to MySQL server during query: SELECT * FROM `param_values` WHERE (`param_values`.resource_id = 1136908 AND (param_name_id = 133)) on node xxx. Third: err: Mysql::Error: Lost connection to MySQL server during query: SELECT t.id, t.resource_id, p.name FROM resource_tags as t INNER JOIN resources r ON t.resource_id=r.id INNER JOIN puppet_tags as p ON t.puppet_tag_id=p.id WHERE r.host_id=531 So they're coming from all over the place. I've verified that in the code we're using, reconnect is set to true but it's not reconnecting. Here's the versions: * Puppet 0.25.5 * Rails 2.3.8 * Mongrel 1.1.5 * OS X Leopard (server) * MySQL gem 2.8.1 * MySQL client library 5.0.82 * MySQL server 5.1.48 * Ruby 1.8.7-p22 Here's a summary of a single incident -- puppet server (puppet) to SQL server conversation: Puppet -> SQL: SYN Puppet <- SQL: SYN+ACK Puppet -> SQL: ACK So the TCP connection is open, 1. MySQL Login successful 1. SET NAMES 1. SELECT * FROM HOSTS where hosts.name='hostname' 1. SELECT Facts for host 1. executes a bunch of queries for facts 1. Runs SELECT `param_names`.* FROM `param_names` INNER JOIN `param_values` ON `param_names`.id = `param_values`.param_name_id WHERE ((`param_values`.resource_id = 943831)) 1. Server returns results and then the client issues a quit (!)? 1. Socket is shutdown, client sends FIN+ACK, server responds with FIN+ACK 1. Server sends RST to client twice. I've been working on this for a day or 2 and I have no idea what could be causing this. I don't see any pattern. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
