ERR DISCARD without MULTI: DISCARD without MULTI
RedisO que significa?
DISCARD foi enviado sem nenhum bloco MULTI aberto. DISCARD é usado apenas para cancelar uma transação em andamento; ele retorna este erro quando não há nada a cancelar.
Por que acontece?
Chamar DISCARD sem MULTI, ou novamente depois que a transação já foi fechada com EXEC/DISCARD; uma chamada incondicional de DISCARD no código de tratamento de erros; ou o estado da conexão diferente do esperado (MULTI não está aberto na conexão obtida do pool).
Como resolver
Chame DISCARD somente quando um MULTI estiver de fato aberto; acompanhe o estado da transação no código. Nos tratadores de erro, verifique se há uma transação aberta antes de chamar DISCARD. Use o wrapper de transação da sua biblioteca para que ele gerencie o estado automaticamente. Garanta um estado limpo no pool de conexões.
Mais entradas deste banco
- ERR Lua script attempted to access nonexistent global variableLua script attempted to access a nonexistent global variable (o script Lua tentou acessar uma variável global inexistente)
- ERR unknown commandUnknown command
- TRYAGAIN Multiple keys request during rehashing of slotMultiple keys request during rehashing of slot (cluster) (requisição com várias chaves durante o rehashing do slot)
- BUSYGROUP Consumer Group name already existsConsumer group already exists
- NOGROUP No such key or consumer groupNo such key or consumer group in stream
- NOTBUSY No scripts in execution right nowNo scripts in execution right now
- DENIED Redis is running in protected modeRedis is running in protected mode