Ошибка при сохранении правила URL при импорте товаров

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

29.10.2011 05:57

Здравствуйте, Дмитрий!

Проимпортировал 2-3 файла. При импорте товаров из четвертого файла без каких-то изменений настроек начала проявляться следующая проблема: Делаю стандартный импорт через профили. На стадии после "Пожалуйста, подождите. Обновляются индексы... " выскакивает предупреждение "Ошибка при сохранении правила URL". Затем импорт завершается стандартным "Выполнение профиля завершено."
Прикрепленное изображение: import.jpg

На первый взгляд, значимых проблем не обнаружилось, но затем я заметил, что у части товаров есть проблемы с индексом: выдается индекс "domen.ru/catalog/product/view/id/510/s/название товара/category/3/"

Плюс чуть позже во время переиндексации заметил, что переиндексация по Catalog URL Rewrites не завершается или не происходит. Буквально за час до импорта товаров все прекрасно переиндексировалось. Пробовал раз 5 переиндексировать, даже после перезагрузки сервера, но проблема продолжала оставться.
Прикрепленное изображение: import2.jpg

Не знаете в чем может быть дело, и как разобраться с данной проблемой?

Спасибо

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

29.10.2011 06:43

Прикрепите проблемный файл.

#3 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

29.10.2011 06:54

Вы имеете в виду файл CSV на котором началась ошибка, или какой-то файл с расшифровкой ошибки?

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

29.10.2011 06:58

Файл с импортируемыми данными.

#5 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

29.10.2011 07:04

Файлы для импорта, на которых произошла ошибка, отправлены Вам в личку.
Впервые ошибка проявилась во время импорта import-20111029000444-1_trimmer.csv . Далее повторилась при импорте import-20111029002815-1_feny.csv
Затем, при поиске причин ошибки я обнаружил, что в первом файле 20111029000444-1_trimmer.csv в нескольких товарах были прописаны категории Default Category и часть товаров прикреплялась к данной категории. В третьем файле import-20111029014459-1_trimmer.csv это было исправлено.

#6 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

29.10.2011 17:37

Может быть попробовать удалить все товары с сайта, а затем почистить в базе данных таблицу, отвечающую за эти индексы? Или это бесполезно?

#7 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

29.10.2011 17:40

Из радикальных способов можно попробовать
TRUNCATE core_url_rewrite

но лучше сначала понять причину.

#8 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

29.10.2011 17:52

Я сам точно понять причину не смогу. Ну а если и у Вас не получится, попробую TRUNCATE core_url_rewrite. Это в качестве запроса к базе нужно будет выполнить?

Из дополнительной информации по предыстории проблемы: незадолго до ее появления товары порядка 250 товаров, ранее загруженных, удалялись мной, а затем они вновь импортировались (за несколько дней до этого та же группа также удалялась и повторно импортировалась). Но не знаю, как это может быть связано. Плюс на этапе после возникновения "Ошибка при сохранении правила URL" я пробовал отключить отображение категории в индексе. Это было после ошибок при импорте, но до замеченных проблем с переиндексацией по Catalog URL Rewrites. С тех пор эта настройка так и застряла, видимо, из-за того, что переиндексация не может завершиться.

#9 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

30.10.2011 00:15

Попробовал TRUNCATE core_url_rewrite без удаления всех товаров. В итоге опять Ошибка при сохранении правила URL и незавершение переиндексации Catalog URL Rewrites. Осталось попробовать удалить весь товар а затем повторно выполнить данный запрос.

#10 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

30.10.2011 00:44

Попробовал решение, описанное на одном из иностранных ресурсов:

Удаляем содержимое var/locks
Затем запрос:

DELETE cpop.* FROM catalog_product_option_price AS cpop
INNER JOIN catalog_product_option AS cpo
ON cpo.option_id = cpop.option_id
WHERE
cpo.type = 'checkbox' OR
cpo.type = 'radio' OR
cpo.type = 'drop_down';



DELETE cpotp.* FROM catalog_product_option_type_price AS cpotp
INNER JOIN catalog_product_option_type_value AS cpotv
ON cpotv.option_type_id = cpotp.option_type_id
INNER JOIN catalog_product_option AS cpo
ON cpotv.option_id = cpo.option_id
WHERE
cpo.type <> 'checkbox' AND
cpo.type <> 'radio' AND
cpo.type <> 'drop_down';


Далее переиндексация, но позитивного эффекта опять нет, проблема остается.

#11 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

30.10.2011 01:39

После удаления всех товаров и последующего TRUNCATE core_url_rewrite переиндексация состоялась. Три файла импорта система съела успешно. Буду надееться, что это было просто какое-то роковое сочетание обстоятельств во время импорта, которое как-то вывело систему в нераброчее состояние.

Кстати, методами, описанными в посте #10 я ничего не мог испортить, что в будущем может себя проявить?

Спасибо.

#12 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

30.10.2011 03:52

К сожалению, после импорта 5 или 6 файла проблема вновь появилась. Может где-то каких-то установленных лимитов не хватает, памяти, времени и т.д.?

#13 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

30.10.2011 05:14

Я уже вам писал, почему у вас переиндексация не завершается.

#14 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

30.10.2011 08:20

Но в том случае было более 2100 товаров и 768 мб RAM. В текущем случае 2 Гб RAM на менее чем 550 товаров.

#15 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

30.10.2011 08:21

768 мб - это какое-то недоразумение: на прошлом сервере у вас стояло ограничение 128 мегабайтов.

#16 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

30.10.2011 08:30

То есть сейчас речь идет не о необходимости увеличения RAM в целом, а о том, чтобы прописать в настройках больший лимит RAM? Сейчас в настройках PHP у меня прописан лимит памяти 768Мб. Его нужно еще увеличить?

Прикрепленные изображения

  • Прикрепленное изображение: php.jpg


#17 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

31.10.2011 06:26

Попробуйте обновиться до последней версии Российской сборки Magento.

#18 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

31.10.2011 07:41

Выполнил прямо на вашем сервере импорт указанных вами файлов import-20111029014459-1_trimmer.csv и import-20111029002815-1_feny.csv, и проблемы не увидел.
Старайтесь более точно формулировать свои проблемы и конкретную посоледовательность шагов к их воспроизведению, чтобы не тратить время впустую.

#19 Николай Калашников
  • Группа: Клиент
  • Сообщений: 95
  • Регистрация: 20.04.2011

31.10.2011 17:11

Со вчерашней ночи не мог войти в форум и написать о результатах поиска проблемы. К сожалению, import-20111029014459-1_trimmer.csv не импортировался бы, если бы ночью мне не удалось его и другие файлы импортировать. Соответственно, индекс уже был прописан и не менялся за счет пустых столбцов в import-20111029014459-1_trimmer.csv.


Удалось выяснить причину ошибки с переиндексацией по Catalog URL Rewrites при импорте товаров из CSV.
Методом исключения удалось понять, что проблема возникает из-за импорта товаров, имеющих:
а. достаточно длинное название.
б. достаточно длинную одинаковую часть названия с различиями только в самом конце названия.

Привожу примеры таких пар названий:
Подушечка чернильная универсальная матовая StazOn Opaque с флаконом 15 мл для дозаправки. Цвет нежный розовый
Подушечка чернильная универсальная матовая StazOn Opaque с флаконом 15 мл для дозаправки. Цвет нежный голубой

Но проблему вызывала и измененная пара:
Подушечка чернильная универсальная матовая StazOn Opaque (Цвет нежный розовый) с флаконом 15 мл для дозаправки.
Подушечка чернильная универсальная матовая StazOn Opaque (Цвет нежный голубой) с флаконом 15 мл для дозаправки.

Заработала переиндексация только после изменения названий в паре на:
Подушечка чернильная универсальная матовая нежно-розовая StazOn Opaque с флаконом 15 мл для дозаправки.
Подушечка чернильная универсальная матовая нежно-голубая StazOn Opaque с флаконом 15 мл для дозаправки.

Видимо, есть какие-то ограничения по количеству символов для обрезки названия товара в индексе. А когда обрезка проходит и остается полностью одинаковое сочетание символов, система не в состоянии самостоятельно доставить цифру 1 или любой другой символ, для того, чтобы индексы получились отличающимися друг от друга.

Спасибо за помощь.

Поделиться темой: