Перейти к содержимому


Фото
- - - - -

Не обновляется серверная часть


  • Please log in to reply
16 ответов в этой теме

#1 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 16 Июль 2015 - 15:00

Здравствуйте.

Пока тут проблемы были с необновлением станций, не дергал, сейчас вроде как по той задаче решение есть, потому пишу про свою оказию.

Не могу серверную часть обновить до версии "03-07-2015 05:00:00".

Текущая версия залипла на "10-05-2015 05:00:00".

Причем понижение до резервной копии "06-05-2015 05:00:00" и обновление ее на "10-05-2015 05:00:00" происходит нормально, но до "03-07-2015 05:00:00" нет.

В логе ключевые места, видимо, такие:

Spoiler
Ну ладно, думаю... Раз пишет про проблему с базой, по инструкции починю ее, не в первый раз.
Нормально делается клон, подменяю файл, все запускается, web-интерфейс доступен, но... все равно не обновляется.
На всякий случай полный лог в приложении.
Подумал, что может как то релиз "03-07-2015 05:00:00" криво скачался, зашел в "Содержимое репозитория", удалил вообще там группу Сервер DrWeb - 20150703000000, перезакачался релиз, попробовал приподнять версию и проблема не разрешилась.
Прошу содействия в разборе проблемы, если это возможно.

Прикрепленные файлы:



#2 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 362 Сообщений:

Отправлено 16 Июль 2015 - 17:05

По предоставленному логу, вы успешно откатились с 201507030 к 201505060, чтобы это ни значило )

Вернулись, потому что произошла ошибка апгрейда БД, но что за ошибка, конкретно, это в др. логе должно быть отображено.


(exit 0)

#3 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 16 Июль 2015 - 20:32

По предоставленному логу, вы успешно откатились с 201507030 к 201505060, чтобы это ни значило )

Вернулись, потому что произошла ошибка апгрейда БД, но что за ошибка, конкретно, это в др. логе должно быть отображено.

Спасибо за вектор. Завтра буду разбираться, я ограничился логом dwupdater.log, думал, что в данной проблеме смысл смотреть есть только его.



#4 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 12:23

Исследования показали вот что.

1. updater_ops.log - затирается и нужная часть лога улетает в никуда даже с учетом того, что идет сохраненка в updater_ops.X.log.gz, потому пришлось ловить на паузах нужное место.

2. Нужное место в логе, похоже, такое:

Spoiler
В переводе на человеческий язык: в базе таблица oauth_clients уже есть, попытка добавить ее еще разок неудачна, откат.
Смотрю что там за таблица. Вот что в ней:
0356d46d1d515f5a5fb70eeb5493027a.jpeg
 
Не знаю откуда она взялась в базе, но наличествует. То ли от предыдущих попыток обновлений, то ли еще почему.
Прошу рекомендации по методу исправления.
Варианты:
1. Дропнуть ее нафиг, пусть создастся по новой. Минусы - я не знаю есть ли связи с таблицей и как в этом sqlite поддерживается целостность данных, возможно поиметь ссылки на записи с битыми ключами.
2. Откатиться на архив, когда таблицы в базе не было (не факт что он у меня вообще есть такой) и обновиться с него.
3. Ваши предложения.


#5 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 362 Сообщений:

Отправлено 17 Июль 2015 - 12:28

Хм, а вы точно сейчас _уже_ не на rel-1000-201507030?


(exit 0)

#6 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 12:35

Ага, точно.

cfeaf84800f78850530afa28e6dfb52a.jpeg



#7 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 12:40

Жаль, что разработчики там "IF NOT EXIST" не дописали, проблема бы не возникла. Судя по документации такое поддерживается.

А скрипты обновления вручную не подкрутить же? :)



#8 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 5 858 Сообщений:

Отправлено 17 Июль 2015 - 13:02

Очень странно. Эти таблицы появились в 221 версии схемы, которая накатывается впервые в 0703 из релизных сборок. То есть в одной и той же транзакции должны были создаться эти таблицы и поменяться версия схемы с 220 на 221.


Семь раз отрежь – один раз проверь

#9 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 13:47

Очень странно. Эти таблицы появились в 221 версии схемы, которая накатывается впервые в 0703 из релизных сборок. То есть в одной и той же транзакции должны были создаться эти таблицы и поменяться версия схемы с 220 на 221.

Ну... Как то и у меня они появились, не знаю как но почему то без фиксирования того что версия сервера стала новой. Напрямую в базе я там ничего не трогал, плагин для Firefox для того чтобы посмотреть что это за проблемная таблица поставил всего пару часов назад.



#10 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 5 858 Сообщений:

Отправлено 17 Июль 2015 - 13:57

Покажите вывод

select * from group_cfg where id='20e27d73-d21d-b211-a788-85419c46f0e6' and name='DaemonCommunication/Address'

и

select * from iface_hidden_groups where gid='ed9651cd-f7e8-4874-8119-123616cd993c'


Семь раз отрежь – один раз проверь

#11 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 14:33

Результаты запросов - пустая выборка.

c60c8418f39d7ab60f341e33b14a5e21.jpeg


Сообщение было изменено Thorvardr: 17 Июль 2015 - 14:33


#12 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 5 858 Сообщений:

Отправлено 17 Июль 2015 - 14:54

Так, если есть ещё таблицы oauth_codes и oauth_tokens, то выполните следующее:

INSERT INTO iface_hidden_groups SELECT DISTINCT id,'ed9651cd-f7e8-4874-8119-123616cd993c',1 FROM admins;

DELETE FROM dbstruct;
INSERT INTO dbstruct VALUES(221);

И будем считать, что обновление доделано руками. Должно взлететь.

Почему оно вот так вот половинчато прошло – непонятно.

З.Ы. Но на всякий случай бэкап БД иметь стоит.


Семь раз отрежь – один раз проверь

#13 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 15:04

Не взлетело.
20150717.170204.84 FTL [10000 1ddc] wrk:5  [DbMgr] Incompatible database version 221, expected 220
20150717.170204.84 FTL [10000 1ddc] wrk:5  [DbMgr] Database verification failed, 00:00:00.000
20150717.170204.84 FTL [10000 1ddc] wrk:5  [Server] Database is inconsistent, terminating
20150717.170204.84 wrn [10000 1ddc] wrk:5  [DB] Destroying instance "unnamed" in transaction state, rolling back
 
Прежнюю пока назад вернул.


#14 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 5 858 Сообщений:

Отправлено 17 Июль 2015 - 15:05

Стойте, тогда это не 0703.


Семь раз отрежь – один раз проверь

#15 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 15:15

Ну так я сразу и говорил, что застрял на "10-05-2015 05:00:00" и не могу продвинуться дальше. От 0703 в базе почему то наличествует одна из таблиц, которую я просто бы грохнул и попробовал обновиться, ток хотел проконсультироваться по связям с другими таблицами базы. А то что это не 0703, это точно, т.к. в логах обновления есть куча сведений о копировании всевозможных файлов в рабочую папку серверной части и потом откат их из за неуспеха реструктуризации базы данных.



#16 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 5 858 Сообщений:

Отправлено 17 Июль 2015 - 15:23

За Вами не успеть. То 0206, то в логах 0703 =)

Грохать таблицу можно (или три таблицы, oauth_*, если другие там тоже есть).


Семь раз отрежь – один раз проверь

#17 Thorvardr

Thorvardr

    Member

  • Posters
  • 136 Сообщений:

Отправлено 17 Июль 2015 - 15:42

Убрал три таблицы, все прошло в лучшем виде. Версия стала от 03 июля, в логах все красиво.

В понедельник приступлю к анализу того какие там станции не обновляются.




Читают тему: 1

0 пользователей, 1 гостей, 0 скрытых