вторник, 4 августа 2009 г.

Возникший казус

При обновлении Drupal с 6.11 до 6.12 версии произошел неприятный казус: после положенного выключения всех дополнительных модулей, обновления и подключения модулей обратно, модуль, отвечающий за доступ к определенным нодам UR-Node Access предложил заново определить права доступа к нодам и завис в этом процессе на 85%.
Система рабочая, время пятница вечер.

Быстрый поиск по интернету показал, что проще всего запустить процесс заново. Успехом данная операция не увенчалась. Далее в ход пошла тяжелая артилерия в виде вручную вычищенной таблицы и обнуления переменной Друпала о необходимости пересчитать доступы. Это помогло, но решением не было.

Еще более внимальный поиск по интернету дал подсказку - при пересоздании таблицы происходит создание ноды, затем на основании созданной ноды - выставляются права. И если модуля, который этот тип ноды создает, уже нет, а информация в таблице Nodes - есть, процесс виснет. После того, как были вычищены вручную таблицы с ссылками на такие ноды, все прошло за 5 секунд.

Вывод. Всегда помните, что вы ставили на систему и что удаляли. И всегда смотрите код того, на чем виснет. Там обязательно будет подсказка, почему именно так у вас происходит.