DBAtlas · 데이터베이스 운영 아틀라스

BUSYGROUP Consumer Group name already exists: Consumer group already exists

Redis

의미

XGROUP CREATE로 stream에 consumer group을 생성하려 했지만 같은 이름의 그룹이 해당 stream에 이미 존재한다. Redis는 기존 그룹을 덮어쓰지 않는다.

원인

애플리케이션이 시작 시 무조건 그룹을 생성하려 하는데 그룹이 이전 실행에서 남아 있거나, 여러 인스턴스가 같은 그룹을 병렬로 생성하려 하는 경우다. 멱등하지 않은 시작 로직의 전형이다.

해결 방법

그룹 생성을 멱등하게 만든다: 오류를 잡아 무시한다(그룹이 이미 있어도 괜찮다). XGROUP CREATE stream group $ MKSTREAM을 사용하면 stream이 아직 없을 때 자동으로 생성된다. XINFO GROUPS stream으로 기존 그룹을 확인한다. 정말 초기화하려면 먼저 XGROUP DESTROY stream group으로 삭제한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목