fix(crawler): realtime_table id bigint(시퀀스 오버플로) + HCX 폴링 비활성 #8

Merged
windpacer merged 1 commits from fix/realtime-seq-bigint-and-hcx into main 2026-06-19 05:44:39 +09:00
Owner

라이브 적산(FIQ-*.QV) 활성화 작업 중 발견한 운영 사고 2건 정리.

1) realtime_table 시퀀스 오버플로 (운영 정지 유발)

realtime_table.idSERIAL(int4). upsert 테이블이지만 매 poll의 nextval을 소비해 2^31(2,147,483,647)에서 오버플로 → 전체 realtime 업서트가 nextval: reached maximum value of sequence로 정지. 현장에서 약 14시간 무갱신 발생.

  • 라이브 DB: id→bigint, 시퀀스→bigint ALTER로 복구 완료(업서트 재개, 2052행/10s).
  • 신규 배포: CREATE TABLEBIGSERIAL로.
  • 기존 배포: 기동 시 멱등 마이그레이션(id가 integer일 때만 bigint+시퀀스 ALTER).

2) HCX 폴링 노이즈

gateway-config.json의 HCX는 IP·registerMap이 빈 플레이스홀더인데 enabled=true라 크롤러가 50055로 연결 시도→거부 로그를 반복 양산 → enabled=false.

검증: C3 라이브 적산 정상(FIQ-6115.QV 갱신중), 빌드 0 error, JSON valid.

🤖 Generated with Claude Code

라이브 적산(FIQ-*.QV) 활성화 작업 중 발견한 운영 사고 2건 정리. ## 1) realtime_table 시퀀스 오버플로 (운영 정지 유발) `realtime_table.id`가 `SERIAL`(int4). upsert 테이블이지만 매 poll의 `nextval`을 소비해 **2^31(2,147,483,647)에서 오버플로** → 전체 realtime 업서트가 `nextval: reached maximum value of sequence`로 정지. 현장에서 **약 14시간 무갱신** 발생. - 라이브 DB: `id`→bigint, 시퀀스→bigint ALTER로 **복구 완료**(업서트 재개, 2052행/10s). - 신규 배포: `CREATE TABLE`을 `BIGSERIAL`로. - 기존 배포: 기동 시 **멱등 마이그레이션**(id가 integer일 때만 bigint+시퀀스 ALTER). ## 2) HCX 폴링 노이즈 `gateway-config.json`의 HCX는 IP·registerMap이 빈 플레이스홀더인데 `enabled=true`라 크롤러가 50055로 연결 시도→거부 로그를 반복 양산 → `enabled=false`. 검증: C3 라이브 적산 정상(FIQ-6115.QV 갱신중), 빌드 0 error, JSON valid. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
windpacer added 1 commit 2026-06-19 05:44:29 +09:00
운영 사고 재발 방지:
- realtime_table.id가 SERIAL(int4)이라 매 poll의 nextval 소비로 2^31 도달 →
  전체 realtime 업서트가 'reached maximum value of sequence'로 정지(현장에서 14h
  무갱신 발생, bigint ALTER로 라이브 복구 완료). 신규 배포: CREATE를 BIGSERIAL로,
  기존 배포: 기동 시 멱등 마이그레이션(integer일 때만 bigint+시퀀스 ALTER).
- gateway-config: HCX(IP·맵 없는 플레이스홀더)가 enabled=true라 50055 연결거부
  로그 양산 → enabled=false.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
windpacer merged commit 7c49e91c27 into main 2026-06-19 05:44:39 +09:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: windpacer/HC900-Crawler#8