Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix session in production #632

Merged
merged 1 commit into from
Oct 29, 2024
Merged

fix session in production #632

merged 1 commit into from
Oct 29, 2024

Conversation

takahashim
Copy link
Collaborator

🎩 What? Why?

#630 をマージされているのが前提です。

productionのセッションも #630 に合わせて修正するものです。

📌 Related Issues

📋 Subtasks

  • Add CHANGELOG upgrade notes, if required
  • If there's a new public field, add it to GraphQL API
  • Add documentation regarding the feature
  • Add/modify seeds
  • Add tests
  • Another subtask

@takahashim takahashim marked this pull request as ready for review August 19, 2024 09:35
@sion908
Copy link
Contributor

sion908 commented Oct 9, 2024

@takahashim
すみません
こちら動かしてみているのですが、
そのままの状態で実行して、アカウント作成、ページ遷移をした状態で
redisのシェルに入って

root@fa837da006a0:/data# redis-cli
127.0.0.1:6379> keys *
(empty array)

となりました。

プログラムを見た感じ

root@fa837da006a0:/data# redis-cli
127.0.0.1:6379> keys *
(1) decidim_session...

のようになっていると予想しているのですが、間違いないでしょうか?
また、ならないのですが、なにがあれば動かない理由はわかりますか?

@takahashim
Copy link
Collaborator Author

@sion908 Production環境でrails consoleは実行できるでしょうか?
実行できるのでしたら、consoleでRails.cache.class ですとか Rails.cache.redis.pingなどを試してみていただけるでしょうか。

@sion908
Copy link
Contributor

sion908 commented Oct 9, 2024

@takahashim
ありがとうございます
localのdockerで動かしているのですが、
そのままで動かしているので環境はdevelopです
Rails.cache.classは以下のようになっています

irb(main):001:0> Rails.cache.class
=> ActiveSupport::Cache::NullStore

Rails.cache.redis.pingは

...<ActiveSupport::CachingKeyGenerator:0x000055a74228c5c8 @key_generator=#<ActiveSupport::KeyGenerator:0x000055a74228c5f0 @secret="03fa9d9f31520718799a9b5e4178068ccd26dd69425d37d2daecad74d02c552ccb102e7c8e2832f32fe7d287a562fc096a02527f916792eb0b29f4930c48e4f6", @iterations=1000>, @cache_keys=#<Concurrent::Map:0x000055a74228c578 entries=2 default_proc=nil>>, @ran=true, @sandbox=false>, @response_format=:default, @interceptors=[WebConsole::Interceptor]>>, @exceptions_app=#<ActionDispatch::Routing::RouteSet:0x000055a73bd99dc8>>, @taggers=[]>, @check_ip=true, @proxies=[#<IPAddr: IPv4:127.0.0.0/255.0.0.0>, #<IPAddr: IPv6:0000:0000:0000:0000:0000:0000:0000:0001/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>, #<IPAddr: IPv6:fc00:0000:0000:0000:0000:0000:0000:0000/fe00:0000:0000:0000:0000:0000:0000:0000>, #<IPAddr: IPv4:10.0.0.0/255.0.0.0>, #<IPAddr: IPv4:172.16.0.0/255.240.0.0>, #<IPAddr: IPv4:192.168.0.0/255.255.0.0>]>>, @header="X-Request-Id">>>>

のような感じで色々帰ってきます

irb(main):002:0> Rails.application.config.session_store
=> ActionDispatch::Session::CacheStore

セッションはこのようになっていました

@takahashim
Copy link
Collaborator Author

お、development環境なんですね(ちなみにdevelopmentでしたら #630 だけでも動作するはずです)
NullStoreということは tmp/caching-dev.txt が存在しないのではないかと思います。どこかでbin/rails dev:cacheを実行してみていただけるでしょうか (参考: https://guides.rubyonrails.org/caching_with_rails.html#caching-in-development )

@sion908
Copy link
Contributor

sion908 commented Oct 9, 2024

@takahashim
ありがとうございます

bin/rails dev:cache

を実行したところ確かに、redisには値が入っているようでした
ありがとうございます
ただ、

127.0.0.1:6379> KEYS *
 1) "cells/decidim/meetings/meeting_list_item/show/ja/decidim/meetings/meetings/17-20241009053033567153/decidim/components/29-20241009053036492201"
 2) "cells/decidim/meetings/meeting_list_item/show/ja/decidim/meetings/meetings/19-20241009053033784083/decidim/components/29-20241009053036492201"
 3) "cells/decidim/proposals/highlighted_proposals_for_component/show/decidim/proposals/highlighted_proposals_for_component/decidim/proposals/proposals/query-8186a5a2cf7c17528c4e0eef9b107615-7-20241009053046032265/ja"
 4) "decidim_term_customizer/organization_1"
 5) "cells/decidim/author/show/ja/decidim/user_groups/6-20241009052849603357/decidim/proposals/proposals/17-20241009053039766006//false/true/true/false///true"
 6) "cells/decidim/proposals/proposal_m/show/ja/decidim/proposals/proposals/19-20241009053041925814/2/4/2/b866b8b7c53f0d446ddb880e5f1b5d1a//0/c5f95ec3bc1c24854d86b872dda9b52c/0/true/false"
 7) "cells/decidim/proposals/proposal_m/show/ja/decidim/proposals/proposals/17-20241009053039766006/1/2/2/b866b8b7c53f0d446ddb880e5f1b5d1a//0/895788e693f69dff4e7d203708a7724e/0/true/false"
 8) "cells/decidim/meetings/highlighted_meetings_for_component/show/decidim/meetings/highlighted_meetings_for_component/decidim/meetings/meetings/query-793a3d07f47a5f137ed337439bfd085f-6-20241009053035338452//ja"
 9) "_session_id:2::4df55f91b5df71b09efba4ac5493288d8899d3805146aafb28aef494f370f4b5"
10) "cells/decidim/author/show/ja/decidim/users/16-20241009052854649226/decidim/proposals/proposals/15-20241009053037682993//false/true/true/false///true"
11) "cells/decidim/accountability/highlighted_results_for_component/show/decidim/accountability/highlighted_results_for_component/decidim/accountability/results/query-507133bb740e87c078f7193ce743e14c-36-20241009053025985802/ja"
12) "cells/decidim/proposals/proposal_m/show/ja/decidim/proposals/proposals/18-20241009053038718186/1/0/0/b866b8b7c53f0d446ddb880e5f1b5d1a//1/3c99bf2d6bef084f41cc6dece0163c77/0/false/false"
13) "cells/decidim/meetings/meeting_list_item/show/ja/decidim/meetings/meetings/18-20241009053033685530/decidim/components/29-20241009053036492201"
14) "views/decidim/shared/_login_modal:08b9ca6c6cb406bac02e9c230fff7039/decidim/organizations/1/ja"
15) "cells/decidim/proposals/proposal_m/show/ja/decidim/proposals/proposals/15-20241009053037682993/0/0/2/b866b8b7c53f0d446ddb880e5f1b5d1a//1/c1211053216b057abac61100b0e19547/0/true/false"
16) "cells/decidim/author/show/ja/decidim/user_groups/98-20241009053038630276/decidim/proposals/proposals/18-20241009053038718186//false/true/true/false///true"
17) "cells/decidim/author/show/ja/decidim/meetings/meetings/21-20241009053035138525/decidim/proposals/proposals/19-20241009053041925814//false/true/true/false///true"
18) "decidim_term_customizer/organization_1/space_1"
19) "_session_id:2::4ddedfbb34933450d7b45e7ec28661f59776cf27406bc4676e40d91692226eca"
20) "_session_id:2::248ee154c679ac57c31d7429635f48e9d7f038745d8677c3394aff109b6037a8"
127.0.0.1:6379>

redisを確認したところ上のような実行結果で、セッションのログは見当たらないようでした

127.0.0.1:6379> get "_session_id:2::4ddedfbb34933450d7b45e7ec28661f59776cf27406bc4676e40d91692226eca"
"\x04\bo: ActiveSupport::Cache::Entry\t:\x0b@value{\bI\"\x10user_locale\x06:\x06EFI\"\aja\x06;\aTI\"\x13user_return_to\x06;\aTI\"\x1a/assemblies?locale=ja\x06;\aTI\"\x10_csrf_token\x06;\aFI\"1ooKlAHvaKPRdqwDa1I2e3oixUrMDyZNGjQv9IamqqiA=\x06;\aF:\r@version0:\x10@created_atf\x161728456226.980167:\x10@expires_in0"
127.0.0.1:6379> 

一応これは中身を確認したのですが、

config.session_store(:cache_store, key: "decidim_session")

の一文からkeyはdecidim_sessionから始まる認識でして

@takahashim
Copy link
Collaborator Author

こちらのkeyはcookieのキーだったかと思います。

session debug console

@sion908
Copy link
Contributor

sion908 commented Oct 9, 2024

@takahashim
なるほどです
ありがとうございます

とりあえずうごきました
またわからないことがあればお聞きするかもしれないです

@ayuki-joto ayuki-joto merged commit a5e46cc into fix-session Oct 29, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants