DBAtlas · データベース運用アトラス

BUSYGROUP Consumer Group name already exists: Consumer group already exists(コンシューマグループが既に存在する)

Redis

意味

XGROUP CREATE でストリームにコンシューマグループを作成しようとしたが、そのストリームに同名のグループが既に存在する。Redis は既存のグループを上書きしない。

原因

アプリケーションが起動時に無条件でグループを作成しようとし、前回の実行のグループが残っている、または複数のインスタンスが同じグループを並行して作成しようとしている。冪等でない起動ロジックの典型例。

対処方法

グループの作成を冪等にする: エラーを捕捉して無視する (既存のグループで問題ない)。ストリームがまだ存在しない場合に自動作成するには XGROUP CREATE stream group $ MKSTREAM を使用する。既存のグループは XINFO GROUPS stream で確認する。本当にリセットしたい場合は、先に XGROUP DESTROY stream group で削除する。

DBAtlas で開く →

同じデータベースの他の項目