Plone дает 404 на новом контенте сохранить - PullRequest
1 голос
/ 26 мая 2011

Проблема: редактор контента сохраняет новый элемент контента и получает 404 на правильно выглядящем URL для нового объекта.Если они затем обновляются, элемент там, совершенно нормально.

Это происходит для нескольких типов контента на основе архетипов, и мы видели его по крайней мере на двух разных сайтах.Мы видели это на Plone 3.x и 4.0.3.Вот что общего у этих сайтов:

  • Балансировка нагрузки HAProxy (с привязкой к сеансу и без нее)
  • Несколько клиентов ZEO
  • Использование ZODB 3.9.7 или 3.8.4
  • Проблема возникает только в некоторых случаях, может быть, для 1 из 4 элементов контента

Кто-нибудь видел что-нибудь подобное?

Ответы [ 3 ]

1 голос
/ 26 мая 2011

У меня нет ответа для вас; это не должно действительно случиться. Я, конечно, не видел этого.

Вам потребуется собрать больше информации для устранения неполадок, что, возможно, требует интерактивного доступа к экспертам, и SO не место для такого устранения неполадок.

Все, что я могу сделать, это посоветовать вам собрать как можно больше информации, включая полный журнал взаимодействия пользователя с различными журналами, включая HAProxy и сервер ZEO.

Это может потребовать дополнительных инструментов на уровне сервера (при возникновении ошибки NotFound сбросить дополнительную информацию о том, что присутствует и т. Д.).

0 голосов
/ 20 декабря 2012

Да. мы недавно начали видеть ту же самую проблему. У нас почти такая же настройка. Haproxy (нет сессионной близости). Мне интересно, так как шаблон, кажется, haproxy ... возможно, это проблема с запросом, перераспределяемым после тайм-аута?

Обновлен:

У нас была эта проблема. Это происходит, когда у вас есть перенаправление назад к измененному объекту после сохранения. Это связано с тем, что второй запрос попадает в другого клиента Zeo, который не осознает, что он устарел.

Единственное решение, которое мы нашли, это добавить временную привязку сеанса в haproxy (20 с) во время любого POST Не идеально, но работает. Я просто искал лучшее решение, поэтому я нашел этот старый пост.

0 голосов
/ 26 мая 2011

Некоторые рекомендации / вопросы:

  1. Убедитесь, что объект содержимого действительно создан.
  2. Проверьте правильность представлений содержимого (тех, которые объявлены в профилях / default / types / yourtype.xml).
  3. Это происходит при добавлении контента непосредственно в экземпляр Plone (без кэширования и распределения нагрузки?
  4. Происходит ли это при добавлении контента в прямой экземпляр Plone с балансировкой нагрузки, но без кэширования? ---> И так далее ...?
  5. Возможно, это не элегантный вариант, но вы можете попробовать вставить в код операторы print или точки останова pdb, чтобы вы могли отслеживать, когда объект содержимого действительно создавался. Делайте это только как отчаянный метод «приборостроения».
...