EXECABORT: EXECABORT Transaction discarded because of previous errors
Redis의미
큐잉 단계에서 발생한 오류로 인해 MULTI/EXEC 블록의 트랜잭션이 중단되었다. EXEC는 어떤 명령도 실행하지 않고 트랜잭션을 거부한다.
원인
MULTI와 EXEC 사이의 명령에 구문 오류가 있거나, 존재하지 않는 명령 이름 또는 잘못된 인수 개수 같은 큐잉 중 검출된 오류. 이러한 오류는 트랜잭션 전체를 무효화한다.
해결 방법
MULTI 블록 내 명령의 구문과 인수를 수정한다. 명령을 큐잉할 때 응답을 확인한다. 어떤 명령이 QUEUED 대신 오류를 반환하면 EXEC 시 트랜잭션이 중단된다. 유효한 명령으로 트랜잭션을 다시 구성한다. 참고: Redis 트랜잭션은 롤백하지 않는다. 큐잉 오류만 EXECABORT로 이어지며, 실행 시 오류는 다른 명령을 멈추지 않는다.
같은 데이터베이스의 다른 항목
- MOVEDMOVED slot ip:port (클러스터 리다이렉트)
- ASKASK slot ip:port (클러스터 리다이렉트)
- NOSCRIPTNOSCRIPT No matching script. Please use EVAL
- NOPERMNOPERM this user has no permissions to run the command or access one of the keys (명령 실행 또는 키 접근 권한 없음)
- ERR value is not an integer or out of rangeERR value is not an integer or out of range (값이 정수가 아니거나 범위를 벗어남)
- ERR value is not a valid floatERR value is not a valid float (값이 유효한 부동소수점 수가 아님)
- ERR increment or decrement would overflowERR increment or decrement would overflow (증가 또는 감소 시 오버플로 발생)