2012-07-24 12 views
5

Sto riscontrando problemi con il mio backend MySQL per la mia app Rails.Eccezioni casuali di MySQL nella mia applicazione Rails

In pratica ogni volta che mi schiero, ho iniziare a ricevere strane eccezioni come

ActiveRecord::StatementInvalid: Mysql2::Error: 
NoMethodError: undefined method `fields' for nil:NilClass 
ActiveModel::MissingAttributeError: missing attribute: created_at 
ActiveRecord::StatementInvalid: Mysql2::Error: Lost connection to MySQL server during query 
ActiveRecord::UnknownPrimaryKey: Unknown primary key for table users in model User. 
RuntimeError: Session collision on '"017fab6b21d2ef20d30e6119f7bf...."' 

io non sono sicuro se questo sta accadendo a causa del carico improvviso, che il mio esempio MySQL non è in grado di prendere, ma accade il 99% quando riavvio l'app dopo una distribuzione.

Cosa potrebbe causare questo? Ho Rails 3.2.6, Ubuntu 12.04, MySQL 5.1.63

+0

Ho esattamente lo stesso problema qui, hai qualche idea ora? – ZelluX

risposta

0

L'errore sembra indicare che manca un 'attributo'. Sia il tuo schema db che la tua struttura di classe gestiscono una variabile o una colonna 'created_at'? Vorrei esaminare in modo specifico la classe/tabella User.

+0

L'errore si verifica solo per un breve periodo di tempo dopo la distribuzione. Come afferma la domanda, le eccezioni non hanno senso, il che significa che l'app funziona bene pochi minuti dopo. –

1

Avevo un problema simile nelle ultime settimane e non avevo idea da dove provenisse. Ieri ho ottimizzato la configurazione di unicorno (il nostro server è in esecuzione su Debian + unicorn + MySQL), ha cambiato il numero di worker a 4 e limitato il numero di connessioni simultanee per worker a 2 (in config/database.yml). Stamattina ho trovato il problema risolto, non ci sono più eccezioni casuali come questa. Quindi immagino fosse perché troppe connessioni simultanee hanno reso instabile MySQL.

Ho appena pubblicato su my blog su di esso. Spero che questo possa aiutarti anche tu.

Problemi correlati