Last active
August 29, 2015 14:10
-
-
Save sclinede/3c25962b8b6e1afc07f7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Предварительно -- | |
+ 1. Закрыть редактирование | |
+ 2. Отключить крон | |
+ 3. Стоп Кирби | |
-- Переиндексация с новым конфигом -- | |
+ 4. Таблицы на нове. !выполнено с ошибками! | |
(забыли таблицу product_moderations, изменения типа - product_state, | |
хранимки - cast_product_public_state_into_integer, каст public_state) | |
Важно! Для теста выполнить запрос на nowa заменив $start и $end на 1 | |
+ 5. Копируем новый конфиг индекса на bz-index3 (../<release_dir>/rake sphinx:copy_config[slave1]) | |
+ 6. Правим товарный индекс - nowa (host=172.31.40.72), порт (port=5432), шаг (step_size=10000) | |
+ 7. Удаляем slave/data/* slave/binlog/* | |
+ 8. Индексируем в скрине | |
+ 9. прописать nowa в конфиге индексации на другом слейве | |
+ 10. Копируем индексы на другой слейв | |
+ 11. Обновляем триггер unbinded products, products counter + переинициализация | |
+ 12. drop ненужных индексов !не совсем корректно, среди них был индекс который использовался! | |
-- Deploy -- | |
+ 13. deploy !зарелизились, но error_rate > 6%! | |
Забыли что на production еще не удален product.state -> deleted | |
Правки на горячую (т.к. deleted исчезнет после насчета, правки в master не целесообразны): | |
- lib/services/product_response_rules.rb -> добавляем в response rules map, state IS_DELETED - аналог IS_PENDING | |
- vendor/plugins/core_products/app/models/core_products/product.rb -> StateMachine state :deleted, | |
event :postpone - реагирует и на :deleted | |
-- Post actions -- | |
+ 14. Удалить хранимку отвечающую за наполнение наполнение public_state | |
+ 15. Выполнить миграцию old products counter без переинициализации | |
+ 16. Включить редактирование | |
+ 17. update products set state = 'pending' where state = 'deleted' (~18M товаров) | |
_ 18. DROP и CREATE индексов после обновления storefront | |
_ 19. ALTER products NOT NULL public_state (осторожно! ExclusiveLock на products) | |
_ 20. пожать products | |
_ 21. изменение cast'а в postgres по state у товара | |
_ 22. Пересоздание триггеров для денормализации (не влияет на работоспособность, просто в целях оптимизации): | |
products_denormalization_common, denorm_traits_binding_by_product, product_denormalization_groups |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment