파티션을 나눠도 못 막는 Iceberg MERGE 충돌 — "Runtime file filtering is not possible"의 정체

·
DataEngineering
0. 들어가면서몇 주 전 Iceberg 테이블에 MERGE를 하다 동시 쓰기 충돌을 만났습니다. "Found conflicting files that can contain records matching true". 검색하면 자료가 나오는 에러였고, 파티션 스펙에 구분 컬럼을 추가하고 MERGE 조건에 상수 술어를 넣어 충돌 감지 범위를 좁혔습니다. 조치는 유효했고, 3주 동안 같은 에러가 한 번도 나오지 않았습니다. 그러다가 아래의 에러 메세지를 마주하게 됩니다.Runtime file filtering is not possible: the table has been concurrently modified.Row-level operation scan snapshot ID: 431882613635636801..