Стек программного обеспечения, который я использую: tomcat-> spring-> hibernate-> DBCP -> postgreSQL
У меня есть запрос, который ищет некоторые данные, используя столбец типа «отметка времени без часового пояса».
Если приложение тестируется в однопользовательском режиме, проблем нет.
Я использую JMeter для проведения стресс-теста и вижу, что иногда запрос не удался. Это может быть воспроизведено, только если несколько пользователей обращаются к приложению одновременно (более 20 в одну секунду).
Ошибка примерно такая:
org.postgresql.util.PSQLException: ОШИБКА: временная метка вне диапазона: "20120100-09-26 00: 00: 00.000000 -04: 00: 00"
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse (QueryExecutorImpl.java:2062)
org.postgresql.core.v3.QueryExecutorImpl.processResults (QueryExecutorImpl.java:1795)
org.postgresql.core.v3.QueryExecutorImpl.execute (QueryExecutorImpl.java:257)
org.postgresql.jdbc2.AbstractJdbc2Statement.execute (AbstractJdbc2Statement.java:479)
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags (AbstractJdbc2Statement.java:367)
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery (AbstractJdbc2Statement.java:271)
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery (DelegatingPreparedStatement.java:96)
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery (DelegatingPreparedStatement.java:96)
org.hibernate.jdbc.AbstractBatcher.getResultSet (AbstractBatcher.java:208)
org.hibernate.loader.Loader.getResultSet (Loader.java:1808)
org.hibernate.loader.Loader.doQuery (Loader.java:697)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections (Loader.java:259)
org.hibernate.loader.Loader.doList (Loader.java:2228)
org.hibernate.loader.Loader.listIgnoreQueryCache (Loader.java:2125)
org.hibernate.loader.Loader.list (Loader.java:2120)
org.hibernate.loader.hql.QueryLoader.list (QueryLoader.java:401)
org.hibernate.hql.ast.QueryTranslatorImpl.list (QueryTranslatorImpl.java:361)
org.hibernate.engine.query.HQLQueryPlan.performList (HQLQueryPlan.java:196)
org.hibernate.impl.SessionImpl.list (SessionImpl.java:1148)
org.hibernate.impl.QueryImpl.list (QueryImpl.java:102)
org.hibernate.ejb.QueryImpl.getResultList (QueryImpl.java:67)
Версии, которые я использую:
- кот 6.0.26
- пружина 3
- DBCP 1.4
- PostgreSQL-8.4-701.jdbc4.jar
- PostgreSQL версия: 8.4.4-0ubuntu10.04