Lock、Unlock機能について

40 views
Skip to first unread message

中村

unread,
Oct 29, 2025, 6:07:57 AM10/29/25
to GS2 ユーザグループ
お世話になっております。

10月25日(土)に下記GS2様のLock、Unlock機能につきまして、 プレイ終了時に解除するLockが見つからない、というエラーがでてUnlockに失敗するという事象が頻発しておりました。
何か問題が発生していなかったかご確認いただけますでしょうか?
ーーーーーーー
通常、ログイン時にGS2のLockを取得し、プレイ終了時にUnlockしてLockを解除しています。
ですが、 10月25日(土) に 複数のプレイで、プレイ終了時に解除するLockが見つからない、というエラーがでておりUnlockに失敗しておりました。
{"component": "mutex", "message": "lock.mutex.mutex.error.notFound"}

Lock取得の呼び出しは問題なく行われておりますが、サーバから返ってきたエラーの内容によると、サーバ側のデータベースにLock情報が作れなかった、というものでした。
{"component": "database.create", "message": "lock.mutex.database.create.error.failed"}
  ーーーーーーー

丹羽一智

unread,
Oct 29, 2025, 7:24:42 AM10/29/25
to 中村, GS2 ユーザグループ
GS2-Lock が利用している外部の短期データベースが
2025年10月24日 16:36(PST)~ 2025年10月25日 10:13(PST)
の期間でおよそ75%の確率でエラー応答していたとレポートをもらっています。

https://docs.gs2.io/ja/articles/tech/error/#%e4%be%8b%e5%a4%96%e3%81%ae%e7%a8%ae%e9%a1%9e
こちらのガイドに従ってリトライしていれば問題をある程度軽減できたと思いますので、リトライの実装状況をご確認ください。

2025年10月29日(水) 19:07 中村 <local...@gmail.com>:

中村

unread,
Oct 30, 2025, 4:24:44 AM10/30/25
to GS2 ユーザグループ, [GS2] 丹羽一智, GS2 ユーザグループ, 中村
お世話になっております。
外部の短期データベースがエラー応答していた旨の情報をありがとうございます。
リトライの実装状況をお送りしますので、何かお気づきの点がございましたらご教示いただけますと幸いです。
■ロック時
結果が「lock.mutex.database.create.error.failed」(処理に失敗しました)の場合は、
ロック中であるため生成に失敗したと判定し、ログインできなかった旨のメッセージを表示しております。自動リトライは行っておりません。
お客様による操作(再ログイン)が行わればリトライとなります。
■アンロック時
結果に応じてリトライの有無を判断しております。
結果が「lock.mutex.mutex.error.notFound」(見つかりませんでした)の場合は、制限時間経過によりアンロック済みであると判定しリトライはしておりません。
結果が上記以外の場合はゲーム終了後のタイトル画面に戻った際にリトライしております。
また今回のケースではログを調査した限りですが、例外は発生していないようでした。
GS2からは短期データベースがエラー応答していた際に「lock.mutex.mutex.error.notFound」が返ることがある認識でよろしいでしょうか。
その他に判断できる情報がございましたらご教示いただけますと幸いです。
どうぞよろしくお願いいたします。

2025年10月29日水曜日 20:24:42 UTC+9 [GS2] 丹羽一智:

丹羽一智

unread,
Oct 30, 2025, 4:52:31 AM10/30/25
to 中村, GS2 ユーザグループ
ドキュメントの通り、リトライをすることを推奨しており、即座にエラー処理に落とさないようにすることをお勧めします。

https://github.com/gs2io/gs2-csharp-sdk/blob/master/Core/Exception/Gs2Exception.cs#L72
Unity をご利用でしたら、RecommendRetry が true
の場合はリトライ推奨であることをステータスコードを見なくても判断できるようになっています。
更に、RecommendAutoRetry が true
の場合はユーザーインタラクションなしで自動的にリトライするべきであることが判断できるようになっています。
報告いただいているエラーの場合は RecommendRetry = true, RecommendAutoRetry = true になっていたはずです。

記載いただいた書き込み失敗エラーは一定時間内に応答が得られなかった場合にも発生し、その場合は実際は書き込まれていることもあり得ます。
つまり、lock がエラー応答していたとしても unlock が成功することもあれば、notFound が返ることもあったと思われます。

2025年10月30日(木) 17:24 中村 <local...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages