Unexpected exception on redis disconnect Redis - NoMethodError(undefined method `destroy' for nil:NilClass)
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
調査の方向性
ruby/hyper-operation/transport/connection_adapter/redis.rb の 66 行目から始め、connection.rb と action_cable.rb を通る disconnect の呼び出しチェーンを読んでください。Redis の切断パスがなぜ nil に対する destroy に到達するのかを追跡してください。channel を切断しても、報告されている NoMethodError が発生しなくなれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I switched recently to the new Redis message functionality and I get the following exception in production.log
I, [2021-02-25T14:13:45.826641 #1289] INFO -- : Finished "/cable/" [WebSocket] for 127.0.0.1 at 2021-02-25 14:13:45 +0200
I, [2021-02-25T14:13:45.830986 #1289] INFO -- : Hyperstack::ActionCableChannel stopped streaming from hyperstack-AnnouncementCategory
I, [2021-02-25T14:13:45.926758 #1266] INFO -- : Finished "/cable/" [WebSocket] for 127.0.0.1 at 2021-02-25 14:13:45 +0200
I, [2021-02-25T14:13:45.933053 #1266] INFO -- : Hyperstack::ActionCableChannel stopped streaming from hyperstack-AnnouncementCategory
I, [2021-02-25T14:13:46.010028 #1266] INFO -- : Hyperstack::ActionCableChannel stopped streaming from hyperstack-Epos::Applicant-423783
I, [2021-02-25T14:13:46.028519 #1266] INFO -- : Hyperstack::ActionCableChannel stopped streaming from hyperstack-Hyperstack::Session-e570d5777171d6ae432a94fef3735d11
E, [2021-02-25T14:13:46.159163 #1289] ERROR -- : There was an exception - NoMethodError(undefined method `destroy' for nil:NilClass)
E, [2021-02-25T14:13:46.162694 #1289] ERROR -- : /home/app/shared/bundle/ruby/2.7.0/bundler/gems/hyperstack-f07d016b626a/ruby/hyper-operation/lib/hyper-operation/transport/connection_adapter/redis.rb:66:in `disconnect'
/home/app/shared/bundle/ruby/2.7.0/bundler/gems/hyperstack-f07d016b626a/ruby/hyper-operation/lib/hyper-operation/transport/connection.rb:68:in `disconnect'
/home/app/shared/bundle/ruby/2.7.0/bundler/gems/hyperstack-f07d016b626a/ruby/hyper-operation/lib/hyper-operation/transport/action_cable.rb:36:in `unsubscribed'
I had the same problem when using the db message store and back then i had to patch hyperstack.rb initializer with the following patch from @catmando :
module Hyperstack
class Connection < ActiveRecord::Base
def self.disconnect(channel)
puts "\ndisconnecting from #{channel}\n" if Rails.env.development?
c = find_by(channel: channel, session: nil)
if c
c.destroy
else
puts "\n********************** WARNING #{channel} has not been opened. Why are we disconnecting ?????????? \n"
end
end
end
end
Why is this happeing?
- 主要言語
- JavaScript
- スター
- 538
- フォーク
- 41
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
hyperstack-org/hyperstack のほかの issue
-
enhancement needs doc
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
hyperstack-org/hyperstack#359 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
hyperstack-org/hyperstack#267 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
hyperstack-org/hyperstack#457 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
hyperstack-org/hyperstack#456 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
hyperstack-org/hyperstack#455 · コメント 2 件 ·
hyperstack-org/hyperstack の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
palladius/rails8-app-on-gcp#145 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
dotenvx/dotenv-vscode#139 ·
-
test-change-proposal
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
web-platform-tests/interop#1455 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
corsairdev/corsair#1764 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100