Робота перелицензирования вчера вечером приостановили. Оказалось, что минутные диффы, на которых держится вся инфраструктура OSM — региональные выгрузки, рендеринг карт, валидаторы и статистика — слегка изменили формат, и Osmosis, которым их обрабатывают, от такого изменения немножко вылетает. Как заметил Toby Murray и объяснил Simon Poole, всего нашли три проблемы:
- Загрузка отношений, созданных в API 0.5. При их переносе в 0.6 накосячили с нумерацией членов, и робот не мог их правильно обработать. Уже исправили.
- Информация об удалённых узлах больше не содержит координат. Физически, т. е. в возвращаемом XML нет атрибутов lat и lon. Это почти наверняка сломает функции отката правок. Также станет невозможным отслеживание удалений объектов в заданном районе. Что с этим делать, обсуждают в #osm-dev до сих пор.
- Сломанная репликация. Когда бот выставлял старым версиям объектов флаг «redacted», в диффы попадали эти версии в разделе <modify>, и osmosis пытался залить их в базу данных как есть, на что получал отлуп: «такая версия уже есть». Способы решения этой проблемы тоже пока обсуждаются.
На этот момент единственный надёжный способ получить актуальные данные — прямой запрос к API. То есть, редактирование карты — единственное, что не
сломалось. В связи с этим, кстати, предупреждают, что когда бот пойдёт вычищать ваш район, неизбежны конфликты при загрузке ченджсетов, поэтому нужно за ним
следить. Способы для этого тоже сейчас придумывают.
В 16:00 репликацию перезапустили. Если вы настроили минутное обновление на своём сервере,
сделайте следующее: 1) остановите osmosis; 2) wget
http://planet.openstreetmap.org/redaction-period/minute-replicate/000/141/272.state.txt -O state.txt (обновите сломанный state.txt, если он досчитал до 272); 3) запустите osmosis.