IL-0397 Zerodha · 2018-04-12networking
거래소 NSE 로 가는 CTCL 하나의 주 전용 회선이 끊기고 예비 회선도 끊겼다 붙기를 되풀이해, 그 CTCL 을 지난 주문이 거래소에 들어가지 못하고 대기 상태에 머물렀다
Zerodha 는 여러 CTCL 로 거래소에 연결하고, CTCL 마다 주 전용 회선과 예비 전용 회선을 하나씩 둔다. 거래 플랫폼으로 들어온 주문은 라운드 로빈으로 이 CTCL 들에 나뉘어 거래소에 들어간다. 2018년 4월 12일 12:12 무렵 CTCL 하나의 NSE 주 전용 회선이 끊겼고, 예비 회선이 자동으로 이어받았지만 이 회선도 다음 60분 동안 여러 번 끊겼다 붙기를 되풀이했다. 그동안 이 CTCL 로 간 주문은 거래소에 들어가지 못하고 대기 상태로 남았다.
Zerodha 는 결국 이 CTCL 을 완전히 꺼서 새 주문이 더 걸리지 않게 했고, 대기 상태로 보이던 주문을 lapse 처리해 거래소와 대사했다. 그날 주문의 0.3% 미만, 그날 거래한 고객의 약 1.5%가 영향을 받았다. bracket order 와 cover order 는 주 주문이 lapse 되면 반대편 청산 주문이 들어가지 않는다. 그래서 평소 방법으로는 빠져나올 수 없는 포지션이 남았다. Zerodha 는 이런 포지션을 정리하려면 MIS/NRML 로 반대 포지션을 잡으라고 고객에게 권했다. Zerodha 는 CTCL 하나에 예비 회선을 하나만 둘 수 있으므로 회선 쪽에서는 더 할 수 있는 일이 없다고 했다.
- 심각도
- –
- 영향 범위
- Orders through one CTCL to NSE were not placed and hung in pending states; bracket and cover order positions were left without exit orders
- 영향 사용자
- less than 0.3% of orders that day and around 1.5% of clients who traded that day
- 지역
- India
- 감지까지
- –
- 복구까지
- –
증상
2018년 4월 12일 12:12 무렵부터 일부 고객의 주문이 거래소에 들어가지 않고 open pending, validation pending, modify pending 상태에 머물렀다. 영향을 받은 것은 NSE 로 연결하는 CTCL 하나를 지난 주문이었다.
그 CTCL 의 주 전용 회선이 끊기자 예비 회선이 자동으로 이어받았지만, 예비 회선도 이후 60분 동안 여러 번 끊겼다 붙기를 되풀이했다. Zerodha 는 이때 NSE 가 승인한 전용 회선 업체에게서 알림 메일을 받았다.
대기 상태 주문이 lapse 처리되자 bracket order 와 cover order 에서는 주 주문에 딸린 반대편 청산 주문이 끝내 들어가지 않았다. 그래서 평소 방법으로는 청산할 수 없는 BO/CO 포지션이 남았다.
증상 링크 플래핑
원인
원인 의존성 장애
- 촉발
- 12:12 무렵 CTCL 하나의 NSE 주 전용 회선이 끊겼고, 자동으로 넘어간 예비 회선도 60분 동안 여러 번 끊겼다 붙기를 되풀이했다.
감지
회선이 끊겼다 붙기를 되풀이하는 동안 Zerodha 는 NSE 가 승인한 전용 회선 업체에게서 알림 메일을 받았다.
조치
- 문제의 CTCL 을 완전히 꺼서 새 주문이 더 영향을 받지 않게 했다.
- CTCL 을 끈 뒤 대기 상태로 보이던 주문을 lapse 처리하고 거래소와 대사했다.
후속 조치
- 이달 말 배포에서 bracket order 와 cover order 를 열린 포지션에서 바로 청산하는 선택지를 넣는다. 지금은 청산 선택지가 반대편 미체결 주문에만 보인다. 반대편 주문이 보이지 않을 때도 포지션 화면에서 BO/CO 포지션을 바로 청산할 수 있게 한다.
교훈
–
출처
관련 사례
IL-0412InfiniBand 링크 오류와 링크 flapping 으로 Meta RSC-1 의 bring-up 단계에서 백엔드 패브릭 대역폭이 최대 50~75% 줄었다Meta · 2024같은 원인 · 공통 NIC·케이블·스위치 포트 링크
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0397
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0397/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.