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

TRYAGAIN Multiple keys request during rehashing of slot: Multiple keys request during rehashing of slot (cluster) (slot rehashing 중 다중 키 요청)

Redis

의미

Redis Cluster에서 hash slot이 노드 간 이동 중(rehashing/resharding)일 때 같은 slot에 속한 여러 키를 포함하는 요청이 들어왔고, 일부 키는 이미 이동되었고 일부는 이동되지 않았다. 서버는 잠시 후 작업을 재시도하도록 요청한다.

원인

slot 마이그레이션 진행 중에 다중 키 명령(MGET, MSET, 다중 키 Lua, 트랜잭션)을 실행한 경우다. 마이그레이션 중인 slot에서는 일부 키가 소스 노드에, 일부가 대상 노드에 있어 명령을 원자적으로 실행할 수 없다.

해결 방법

클라이언트에서 이 오류를 잡아 잠시 기다린 후 재시도한다(TRYAGAIN은 일시적이며 resharding이 끝나면 해소된다). 다중 키 작업에서는 hash tag로 모든 키가 같은 slot에 있도록 보장한다(예: {app_user123}.profile, {app_user123}.settings). 클러스터 리밸런싱(resharding)은 트래픽이 적은 시간에 수행한다.

DBAtlas에서 열기 →

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