はじめに
でっかいSQLを発行したらgone awayされた
問題
あえてメモリをゴリゴリに使ってでっかいSQL投げて動かそうとしたらgone awayされた…
/usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in `_query': Mysql2::Error::ConnectionError: Server has gone away (ActiveRecord::StatementInvalid)
from /usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in `block in query'
from /usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in `handle_interrupt'
from /usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in `query'
from /usr/local/bundle/gems/activerecord-7.0.8/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:638:in `block (2 levels) in raw_execute'
...(略)...
/usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in `_query': Server has gone away (Mysql2::Error::ConnectionError)
from /usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:151:in `block in query'
from /usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in `handle_interrupt'
from /usr/local/bundle/gems/mysql2-0.5.5/lib/mysql2/client.rb:150:in `query'
...(略)...
解決方法
max_allowed_packet を越えちゃったのが原因っぽい
docker-composeでmysqlコンテナを動かしているので、
起動時にオプション指定してあげることで解決
mysql:
image: mysql
...(略)...
command: --max_allowed_packet=100M
おわりに
だろうなと思ってたけど、やっぱりなの結果。
コメント