На Heroku, Cedar, с Unicorn: Получение ActiveRecord::StatementInvalid: PGError: SSL SYSCALL error: EOF detected

Служба поддержки Heroku говорит, что это связано с их версией libssl на общих базах данных, но мы тоже столкнулись с этим на проекте, который работает на выделенной базе данных.

В основном, эта ошибка возникает время от времени (ближе к моменту развертывания) на каждом проекте, который мы перевели на новый стек Cedar с Unicorn, настроенным на 3 рабочих:

Сообщение об ошибке:

ActiveRecord::StatementInvalid: PGError: SSL SYSCALL error: EOF detected : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.at

Where:
some_controller#index
[PROJECT_ROOT]/vendor/bundle/ruby/1.9.1/gems/activerecord-3.0.11/lib/active_record/connection_adapters/postgresql_adapter.rb, line 505

Пока нет ответов от heroku, кроме как ждать, кто знает сколько времени, пока мы обновим наши серверы общих баз данных*, и я не нашел ничего в google.

Они также предположили, что это связано с перекрытием рабочих Unicorn и что мы должны перейти на Thin, но прирост производительности стоит случайных ошибок (я думаю!). Я надеюсь, что есть способ настроить Unicorn так, чтобы предотвратить перекрытие.

Кто-нибудь сталкивался с этим, и если да, то что вы сделали, чтобы решить эту проблему? Спасибо!

*не их слова, просто то, что я почувствовал после их ответа.

10
задан Joe Sak 14 December 2011 в 15:37
поделиться