← 이슈 기록 목록

다른 빌딩 값이 섞인 것 같은데, 어디서 섞였는지부터 찾아야 했다

MyBatisMariaDBMigrationDebugging

01이슈 및 현상

구 EMS의 태양광 데이터를 신규 시스템으로 이관하던 중, 특정 포인트에서 다른 빌딩 값이 섞인 것으로 의심되는 이상값이 나타났습니다. 어느 단계에서 섞이는지조차 특정되지 않은 상태였습니다.

02원인 파악

이관은 원본 조회 → 매핑 → 가공 → insert의 여러 단계를 거치는데, 문제 지점이 특정되지 않아 무작정 재이관을 돌리기엔 위험 부담이 컸습니다. 원인 단계를 좁히는 것 자체가 첫 과제였습니다.

03해결 방안

원본값·매핑 결과·가공 파라미터·insert 직전까지 building_id 기준으로 단계별 진단 로그를 심어 데이터 흐름 전체를 추적하며 혼입 지점을 특정했습니다. 원인 확인 후엔 전체 삭제 재삽입 대신 ON DUPLICATE KEY UPDATE 기반 UPSERT 메서드와 전용 배포 산출물을 만들어, 기존 데이터를 건드리지 않고 잘못된 값만 정정했습니다.

04결과 및 성과

추측성 재이관 없이 원인 단계를 명확히 규명해 문제를 해결했고, 무중단 UPSERT 방식으로 서비스 영향 없이 데이터를 보정했습니다. 진단용 하드코딩 로그는 해결 후 정리해 코드를 깨끗하게 남겼습니다.