Repository navigation
test(redis): 클러스터 모드에서 전 스크립트 실행 (CY-235) - #20
Conversation
슬롯 교차는 단독 모드에서 조용히 통과하고 Phase 10 에서 터진다. 사각지대(미선언 키)도 시험으로 못 박아 정적 검사를 못 버리게 했다. Refs: CY-235
Refs: CY-235
정적 초기화 블록에서 기다리면 조건 평가 스레드가 클래스 초기화 락에 걸려 멈춘다. 겉으로는 시간 초과로만 보인다. Refs: CY-235
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. WalkthroughChangesRedis 클러스터 스크립트 검증
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to This change adds Redis cluster-mode test coverage and supporting documentation without introducing a production behavior change; no actionable merge-blocking risk remains beyond normal checks. Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
형식을 확인하지 않고 앞 글의 본문만 베껴 프론트매터를 빠뜨렸다. Refs: CY-235
무엇을
전 스크립트(
enqueue·queue_status·sweep·leader_acquire·leader_release)를cluster-enabled yes인 레디스에 실제로 태운다 (G3.4).실측 — 무엇을 잡고 무엇을 못 잡나
KEYS둘이 서로 다른 슬롯CROSSSLOT으로 거부KEYS에 없는 리터럴 키두 번째가 이 시험의 사각지대다. 한 노드가 전 슬롯을 가지면 미선언 키도
로컬이라 클러스터가 물지 않는다. 그래서 정적 검사(
LuaKeysDeclarationTest)를버릴 수 없고, 그 경계를 시험으로 못 박았다.
왜 단독 노드인가
여러 노드를 띄우면 클러스터가 컨테이너 내부 주소를 돌려줘 밖에서 못 붙는다.
그 배선에 시간을 다 쓰면 정작 검증 대상인 스크립트를 못 태운다.
함정 하나
컨테이너 준비를 정적 초기화 블록에 두면 Awaitility 의 조건 평가 스레드가
JVM 클래스 초기화 락에 걸려 멈춘다 — 겉으로는 그냥 시간 초과로 보인다.
@BeforeAll로 옮겼다.Refs: CY-235
Summary by CodeRabbit