При каких обстоятельствах идентификатор приращения заказа Magento может иметь дубликаты?

В последнее время я столкнулся с некоторыми странными проблемами с установкой Magento (1.4.2.0), когда один и тот же идентификатор приращения заказа повторно используется для более чем одного заказа.

Скриншот

Как вы можете видеть на снимке экрана выше, проходит полных 45 минут, прежде чем тот же клиент делает второй заказ с другими продуктами и общей стоимостью, только для повторного использования идентификатора приращения.

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

Я очень хочу получить некоторое представление о том, как это могло произойти, поскольку я ожидаю, что каждому заказу будет присвоен уникальный идентификатор - при каких обстоятельствах мы можем получить дублирующиеся идентификаторы приращения заказа?


person CVM    schedule 23.05.2011    source источник
comment
спасибо за публикацию таких периодически возникающих ошибок, вызванных некоторыми начинающими разработчиками.   -  person Knowledge Craving    schedule 28.05.2011


Ответы (1)


Мое первое предположение будет заключаться в том, что есть стороннее расширение, основной хак или, может быть, даже основной код, который не обрабатывает операции с объектами Order транзакционно. Это, в сочетании с неожиданными исключениями где-то между сохранением заказа и увеличением внутреннего номера приращения, может привести к созданию заказов с тем же номером. Я бы проверил ваши журналы ошибок и исключений на наличие проблем, устранил эти проблемы и посмотрел, сохраняется ли проблема.

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

person Alan Storm    schedule 23.05.2011
comment
Я еще не определил и не устранил конкретную причину проблемы, но картина того, что мы видим, предполагает, что это вызвано сторонним расширением для определенного платежного шлюза. Хороший совет, Алан - спасибо! - person CVM; 29.06.2011