ES /docs

Failed to create event: Mysql2::Error: Data too long for column 'sys' at row 1

Summary: Failed to create event - Data too long for column 'sys'

결과#

events.sys 컬럼을 MEDIUMTEXT로 확장하는 단일 마이그레이션 추가로 share API 400 (Mysql2::Error: Data too long for column 'sys' at row 1)의 근본 원인을 해소한다. 검증(blind subagent) APPROVED, PR 생성 완료.

Pull Requests#

Repo PR Branch
tesla https://dev.azure.com/cupix/tesla/_git/tesla/pullrequest/88449 feature/TSLA-13312

변경 내용#

tesla#

  • 신규 파일: db/migrate/20260624013858_change_events_sys_to_mediumtext.rb
    • up: change_column :events, :sys, :text, limit: 16.megabytes - 1 (MEDIUMTEXT, 약 16 MB)
    • down: change_column :events, :sys, :text (TEXT, 65535 byte 롤백)
  • 선례 마이그레이션 db/migrate/20260529075321_change_bims_meta_to_mediumtext.rb 패턴을 그대로 따름.

범위 (의도적 제외)#

사용자가 선택한 "즉시 조치 (Critical)" 항목 중 근본 수정만 본 PR에 포함. 본문 PR 설명에도 명시:

  • "단기 완화" (EventFactory truncation 방어 코드): 마이그레이션이 영구 해법이므로 불필요 — RCA 자체에서 제거 권고.
  • 단기 개선 (85개 sys TEXT 테이블 일괄 확장, event_object_data 화이트리스트화): 별도 작업.
  • 장기 개선 (외부 객체 저장소 이전, schema linter): 별도 작업.

배포 시 주의#

운영 적용 시 events 테이블 크기에 따라 ALTER 소요 시간이 길어질 수 있다. PR description에 DBA 사전 점검 요청 명시.

Cleanup#

bash
cd /home/ec2-user/repos/tesla
git worktree remove /home/ec2-user/error-sweeper/.worktrees/bbecd679-f286-4ce8-a39b-866c4fb6ad83/tesla