Ошибка теста производительности Grails: org.hibernate.StaleObjectStateException: строка была обновлена ​​или удалена другой транзакцией - PullRequest
0 голосов
/ 29 ноября 2011

Я готовлюсь к тестам производительности и создаю новые тестовые случаи. Итак, я только что протестировал один тестовый пример, запустив его на сервере, к которому у меня есть доступ, и я только что получил: org.hibernate.StaleObjectStateException: строка была обновлена ​​или удалена другой транзакцией

Приложение, которое я хочу протестировать, является бэкэндом. Нет просмотра, нет сессий, он похож на REST [каждый запрос содержит все необходимое для выполнения задачи]. Я снова и снова тестировал один API для одного пользователя. Запрос приходит, сервис выполняет свою работу, ответ отправляется обратно, я анализирую ответ и отправляю другой запрос тому же API для того же пользователя.

Как я уже говорил, объекты не сохраняются в сеансе. Каждый раз, когда приходит запрос, я делаю User.get (идентификатор из params).

В настоящее время я запускаю это приложение на Postgres 8.4.4. Сервер достаточно мощный и в настоящее время вообще не загружается.

Мне кажется, что я могу получить ответ от приложения [сервер удален], проанализировать его и отправить еще один запрос до сохранения транзакции. Это довольно странно.

Есть что-нибудь, что я здесь скучаю? Что мне с этим делать?

1 Ответ

1 голос
/ 16 февраля 2012

В конце концов мы выяснили, что это вызвано нашим инструментом тестирования - SoapUI.Эта чертова штука может отправлять 2 запроса один за другим.Это задокументированная ошибка, много разговоров на их форумах об этом.Мы бросили мыло и написали небольшой инструмент для тестирования.Теперь это работает как шарм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...