Споткнулись на старте

Робота перелицензирования вчера вечером приостановили. Оказалось, что минутные диффы, на которых держится вся инфраструктура 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.
Поделиться
Отправить
2012   odbl   osm.org
6 комментариев
Diomas
насчет lat lon на удаленных узлах — это теперь так будет в api или это просто ошибка?
Илья Зверев
Это навсегда. Возможно, придумают условия для возвращения координат в некоторых случаях, но в целом поведение для точек теперь идентично линиям и отношениям: с удалённых объектов нельзя снять никакую информацию. Это важно для алгоритма перелицензирования.
Garl
а я и думаю, чего это мапник не обновляется....
bopoh13
>> важно для алгоритма перелицензирования

Сожжём все мосты перед увядшей рукой!

Как проверить, закончил ли работу робот в нужном регионе, чтобы начать воссоздание сети объектов первой необходимости?
Будет ли удаляться объекты, которые подвергались редактированию со стороны пользователей, принявших новое лицензионное соглашение (например: была прямая, затем добавили точек и сделали кривую)?
toorboalex
Насчет сроков «выздоровления» Osmosis-а что-нибудь слышно?
А то в отпуск скоро ехать, косяки на карте тихонько правлю вдоль планируемого маршрута, а выходит, что результата в виде выгрузок могу и не дождаться до отъезда? :(
Diomas
почему просто не удалить из базы историю «грязных» объектов и не ломать api? в чем сложность? как теперь например откатить массовое удаление за каким-нибудь вандалом?
Hind
Грусть грустная