Issue
After the 2021-10-11 stack image update you are receiving Ruby exceptions from the queue_classic Ruby gem, like:
Traceback (most recent call last):
16: from .../activejob-5.2.6/lib/active_job/logging.rb:46:in `block in tag_logger'
15: from .../activejob-5.2.6/lib/active_job/logging.rb:17:in `block (3 levels) in <module:Logging>'
14: from .../activesupport-5.2.6/lib/active_support/callbacks.rb:109:in `block in run_callbacks'
13: from .../activejob-5.2.6/lib/active_job/enqueuing.rb:51:in `block in enqueue'
12: from .../activejob-5.2.6/lib/active_job/queue_adapters/queue_classic_adapter.rb:35:in `enqueue_at'
11: from .../queue_classic-3.2.0.RC1/lib/queue_classic/queue.rb:53:in `enqueue_at'
10: from .../queue_classic-3.2.0.RC1/lib/queue_classic/queue.rb:63:in `enqueue_in'
9: from .../queue_classic-3.2.0.RC1/lib/queue_classic.rb:70:in `log_yield'
8: from .../queue_classic-3.2.0.RC1/lib/queue_classic/queue.rb:67:in `block in enqueue_in'
7: from .../queue_classic-3.2.0.RC1/lib/queue_classic/queue.rb:20:in `conn_adapter'
6: from .../queue_classic-3.2.0.RC1/lib/queue_classic.rb:57:in `default_conn_adapter'
5: from .../queue_classic-3.2.0.RC1/lib/queue_classic.rb:57:in `new'
4: from .../queue_classic-3.2.0.RC1/lib/queue_classic/conn_adapter.rb:9:in `initialize'
3: from .../queue_classic-3.2.0.RC1/lib/queue_classic/conn_adapter.rb:80:in `establish_new'
2: from .../queue_classic-3.2.0.RC1/lib/queue_classic/conn_adapter.rb:80:in `new'
1: from .../queue_classic-3.2.0.RC1/lib/queue_classic/conn_adapter.rb:80:in `initialize'
PG::ConnectionBad (invalid connection option "tty")
This is caused by the queue_classic
gem using the legacy "tty"
PostgresSQL option - which was deprecated in 2003, and finally removed from the libpq
client library in PostgresSQL 14 (which was included in the libpq5
update in the recent stack image update).
For more details, see:
https://github.com/QueueClassic/queue_classic/issues/333
Resolution
Update to queue_classic
v4.0.0-beta1 or newer, since it includes this fix:
https://github.com/QueueClassic/queue_classic/pull/334
Or if you are not able to use the v4 release, we recommend asking the queue_classic
maintainers to backport the fix to previous major versions (example), and in the meantime fork the queue_classic
respository and backport this commit.