NOGROUP No such key or consumer group: No such key or consumer group in stream
Redis의미
stream 소비 명령(XREADGROUP, XACK, XCLAIM 등)을 실행했지만 지정한 키(stream) 또는 consumer group이 존재하지 않는다. 작업할 그룹/stream을 찾을 수 없었다.
원인
그룹이 생성된 적이 없거나(XGROUP CREATE 생략), stream 키가 삭제되었거나 쓰인 적이 없거나, 그룹 이름/키의 철자가 틀렸거나, XGROUP DESTROY로 그룹이 제거된 경우다. 그룹이 생성되기 전에 consumer가 시작될 때 흔하다.
해결 방법
먼저 stream과 그룹이 존재하는지 확인한다: XINFO STREAM stream 및 XINFO GROUPS stream. 그룹이 없으면 생성한다: XGROUP CREATE stream group $ MKSTREAM (필요하면 stream도 생성). 애플리케이션 시작 시 그룹을 생성하는 단계를 추가한다(BUSYGROUP은 무시). 키와 그룹 이름의 철자가 올바른지 확인한다.
같은 데이터베이스의 다른 항목
- TRYAGAIN Multiple keys request during rehashing of slotMultiple keys request during rehashing of slot (cluster) (slot rehashing 중 다중 키 요청)
- ERR DISCARD without MULTIDISCARD without MULTI
- BUSYGROUP Consumer Group name already existsConsumer group already exists
- NOTBUSY No scripts in execution right nowNo scripts in execution right now
- DENIED Redis is running in protected modeRedis is running in protected mode
- ERR Can't execute '<cmd>': only (P|S)SUBSCRIBE / (P|S)UNSUBSCRIBE / PING / QUIT / RESET are allowed in this contextCommand not allowed in subscribe context (subscribe 컨텍스트에서 허용되지 않는 명령)
- ERR SELECT is not allowed in cluster modeSELECT is not allowed in cluster mode