Action Cable fails when using Google Memorystore
From https://gitlab.slack.com/archives/C3UCHUA76/p1637687426091600:
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/actioncable-6.1.4.1/lib/action_cable/subscription_adapter/redis.rb:150 run> terminated with exception (report_on_exception is true):
gitlab-webservice-default-766fb76867-cvjcv webservice /srv/gitlab/vendor/bundle/ruby/2.7.0/gems/redis-4.4.0/lib/redis/client.rb:149:in `call': ERR unknown command `client`, with args beginning with: `setname`, `ActionCable-PID-22721`, (Redis::CommandError)
This happens because Action Cable sets a name if id
is nil. Related issue: https://github.com/rails/rails/issues/38244
Another problem is that in Omnibus, we don't add the nil id to cable.yml when redis_enable_client=false
Action Cable was enabled by default in 14.5 so this affects all instances using GCP Memorystore that upgrade to 14.5
Edited by Heinrich Lee Yu