signal-batch/docs/RELEASE-NOTES.md

6.3 KiB

Release Notes

이 문서는 Keep a Changelog 형식을 따릅니다.

[Unreleased]

수정

  • Top 클라이언트 IP/ID 토글 활성 상태 구분 및 표시 오류 수정
  • 쿼리 이력(메트릭 페이지)에 사용자 ID 컬럼 추가

[2026-03-27]

추가

  • WebSocket 리플레이 쿼리 L1/L2 캐시 통합 — HOURLY/5MIN 구간 DB 의존 제거, 당일 쿼리 100% 캐시
  • 쿼리 메트릭 사용자 ID 수집 — GC_SESSION JWT에서 인증된 사용자 email 추출
  • 대시보드 Top 클라이언트 IP/ID 토글 — groupBy 파라미터로 IP 기준 또는 사용자 ID 기준 전환

수정

  • vessel info SQL 컬럼명 오류 수정 (ship_nm → name) — 선박 정보 조회 실패("bad SQL grammar") 해결

[2026-03-19]

변경

  • CI/CD 배포 health check 대기 90초→180초 확장 — 64GB 힙 기동 타임아웃 대응

기타

  • AIS API 접속 계정 변경

[2026-03-18]

수정

  • AIS Import Job 스케줄 :15초→:45초 변경 — API 서버 데이터 적재 타이밍 변경으로 빈 응답(0건) 빈발 대응

[2026-03-17]

추가

  • 최근 선박 위치 상세 조회 API (POST /api/v1/vessels/recent-positions-detail) — 공간 필터(폴리곤/원) + AIS 상세 필드(callSign, status, destination, eta, draught, length, width)

변경

  • AIS API WebClient 버퍼 50MB→100MB 확장 — 피크 시 DataBufferLimitException 대응

[2026-03-13]

추가

  • 다중구역/STS API 최적화 — AreaSearch/VesselContact 동시성·메모리 관리 통합, 순차 통과 SQL 동적 N-구역(2~10) 확장, chnPrmShipOnly 파라미터 추가

변경

  • 성능 최적화 — ArrayList 사전 할당, JTS Coordinate 재사용, equirectangular 거리 근사, stream→단일 루프 전환
  • DataPipeline 대시보드 차트 시각화 개선

[2026-03-10]

추가

  • 쿼리 메트릭 수집 확장 + 대시보드 성능 차트 — client IP 수집(REST/WS), 응답 크기 추정, timeseries API, 대시보드 쿼리 성능 차트 5종(응답시간·볼륨·캐시경로·응답크기·Top 클라이언트)
  • API/WS 쿼리 메트릭 이력 조회 기능 — BufferService(batch flush) + /history, /summary API + 프론트엔드 요약카드·필터·페이지네이션

[2026-03-09]

수정

  • queryWithCache 단일 소스(DB/캐시) 응답 소실 버그 수정 — mergeTracksByVessel() 참조 공유 시 allTracks.clear()로 결과 파괴

변경

  • 운영 로그 레벨 정리 — CACHE-MONITOR 루틴 로그(putAll/get) DEBUG 전환, 중요 이벤트(removeRange/simplify) INFO 유지
  • Spring Batch/HikariCP 로그 INFO→WARN 하향

기타

  • t_vessel_tracks_daily 파티션 영구 보존 설정 추가 (기본 3개월→무한)

[2026-03-08]

추가

  • L3 Daily 캐시 DP(Douglas-Peucker) 사전 간소화 — tolerance 0.001(~100m)로 직선 구간 제거, 방향 변화 보존
  • Daily 캐시 인메모리 보관 기간 7일→14일 확대 (maxMemory 6→10GB)
  • 간소화 후 Haversine 기반 속도 재계산 (recalculateSpeeds)

변경

  • Query DataSource: work_mem 256MB + synchronous_commit off 세션 튜닝
  • Batch DataSource: synchronous_commit off 세션 튜닝

기타

  • 팀 워크플로우 v1.5.0→v1.6.1 동기화

[2026-03-02]

추가

  • React 19 SPA Dashboard (7페이지: Dashboard, JobMonitor, DataPipeline, AreaStats, ApiExplorer, AbnormalTracks, ApiMetrics)
  • 다계층 인메모리 캐시(L1/L2/L3) 조회 통합 + CACHE-MONITOR 로그
  • Ship-GIS 기능 이관 — 최근위치/선박항적/뷰포트 리플레이
  • 다중구역이동 항적 분석 + STS 접촉 분석 프론트엔드 이관
  • 구역분석/STS 보고서 모달 + 이미지 저장
  • 항적/리플레이 선종 아이콘 + Raw Data 패널
  • DataPipeline 일별 차트 시각화 개선 — Stacked Bar + Duration Bar
  • ChnPrmShip 전용 DB 이력 + API enrichment + ShipImage V2
  • 중국허가선박 최신 위치 조회 API
  • recent-positions IMO 필드 + 선박사진 보유 목록 API + 사진 enrichment
  • Stale 데이터 비정상 궤적 전환 — 과거 timestamp 수신 시 정보 보존
  • L1/L2/L3 캐시 O(1) 키 기반 직접 조회 (전체 스캔 O(n) 대체)
  • 64GB JVM 메모리 예산 논리적 파티셔닝 (캐시 35GB / 쿼리 20GB / 시스템 9GB)
  • L2 HourlyTrackCache 6시간 경과 엔트리 Nth-point 간소화 스케줄러
  • 메모리 예산 모니터링 API (GET /api/monitoring/cache/budget)

수정

  • cancelQuery idempotent 처리 — 완료된 쿼리 취소 시 에러 대신 정상 응답
  • parseTimestamp 실패 로깅 추가, isNightTimeContact 야간 판정 로직 단순화
  • ST_AsText WKT 공백 불일치로 인한 daily merge 전량 필터 수정
  • L2 워밍업 범위 확장 — Daily Job 전 기동 시 어제 데이터 포함
  • html2canvas oklch/oklab 색상 파싱 에러 수정
  • 항적 조회 500 에러 + 리플레이 쿼리 무반응 수정
  • shipimg 경로 충돌 수정 — /{imo} 숫자 패턴 제약 추가
  • UTC 타임존 변환 + Daily 캐시 부분 fallback 추가
  • V2 캐시 조회 시 누락 MMSI DB fallback 추가
  • 캐시 maxSize 설정 경로 수정 — application.yml이 실제 소스
  • 해구 통계 ROUND 함수 타입 캐스팅 오류 수정
  • 해구 조회 ST_Contains 제거 — 바운딩 박스 조인으로 간소화
  • Dashboard API 연동 오류 수정 — 캐시 모니터링 + 렌더링 안전성
  • MonitoringController 레거시 타일 쿼리 → AIS 위치/항적 기반 전환

변경

  • SignalKindCode 매핑 규칙 개선 — aton/tug/tender→DEFAULT, shipName BUOY 검출 추가
  • 응답 경로 signal_kind_code 치환 1회화 — 캐시 저장 시 치환, 응답 시 DB/캐시 값 직접 사용
  • ChunkedTrackStreamingService 전수 최적화 — isQueryCancelled 버그수정, QueryContext 스레드 안전성, 쿼리 메트릭 DB 저장, 데드코드 400줄 삭제, VesselInfo N+1 해소
  • API 응답 크기 최적화 — gzip 압축, NON_NULL, 정밀도 제한
  • API 응답 최적화 + 점진적 렌더링 + 해구 choropleth 지도
  • Hourly Job 인메모리 병합 전환 — N+1 SQL 제거
  • Daily Job 인메모리 캐시 기반 최적화 — N+1 SQL 제거
  • L1/L2 캐시 maxSize 실측 기반 상향 (L2 3.5M→7M)
  • SNP API 전환 및 레거시 코드 전면 정리

기타

  • Gitea Actions CI/CD 파이프라인 + systemd 서비스 구성
  • 팀 워크플로우 v1.2.0→v1.5.0 동기화
  • Swagger UI 현행화 — 서버 URL, DTO @Schema, @Parameter