ERR WAIT cannot be used with replica instances: WAIT cannot be used with replica instances (replica 인스턴스에서는 WAIT 사용 불가)
Redis의미
replica(replica/slave) 인스턴스에서 WAIT를 실행했다. 쓰기가 지정한 수의 replica에 도달할 때까지 기다리는 WAIT는 primary(master)에서만 의미가 있으며 replica에서는 사용할 수 없다.
원인
애플리케이션이 실수로 replica 연결로 WAIT를 보냈다. 보통 연결이 읽기 replica로 라우팅되었거나, 역할 변경(페일오버) 후에도 클라이언트가 여전히 replica에 연결되어 있기 때문이다.
해결 방법
WAIT는 primary 노드로만 보낸다. 클라이언트/프록시 구성이 쓰기와 WAIT 호출을 master로 라우팅하는지 확인한다. 페일오버 후 역할 변경을 감지하고 연결을 새 primary로 재지정한다(ROLE 명령으로 역할을 확인할 수 있다).
같은 데이터베이스의 다른 항목
- ERR Protocol error: invalid multibulk lengthProtocol error: invalid multibulk length (프로토콜 오류: 유효하지 않은 multibulk 길이)
- ERR Number of keys can't be greater than number of argsEVAL/EVALSHA: numkeys exceeds argument count (numkeys가 인수 개수를 초과)
- ERR WATCH inside MULTI is not allowedWATCH inside MULTI is not allowed
- ERR Background append only file rewriting already in progressAOF rewrite already in progress
- IOERR error or timeout reading from target instanceMIGRATE: I/O error or timeout to target
- ERR Error compiling script (new function)Error compiling Lua script
- ERR FAILOVER requires connected replicas.FAILOVER requires connected replicas