Re: postgres jdbc transaction problem surfaces at times

Поиск
Список
Период
Сортировка
От Mark Lewis
Тема Re: postgres jdbc transaction problem surfaces at times
Дата
Msg-id 1144859893.5541.246.camel@archimedes
обсуждение исходный текст
Ответ на postgres jdbc transaction problem surfaces at times  (kevin@mtel.co.uk)
Ответы Re: postgres jdbc transaction problem surfaces at times
Список pgsql-jdbc
This smells like a possible threading issue, where multiple threads are
accessing the same connection object.  Remember that the same HTTP
session can be accessed by multiple threads concurrently, and the
PostgreSQL JDBC driver is not thread-safe.

To see if this is the case, try adding some additional synchronization
to guarantee that no two threads will use the connection at the same
time (perhaps by synchronizing on the Connection object).

-- Mark

On Wed, 2006-04-12 at 08:41 -0700, kevin@mtel.co.uk wrote:
> i read in the posts here that postgres 8.0 jdbc had unmasked it;s
> dislike of changing transaction level mid transaction so i changed my
> code to the following
>
> is this set up correct?
>
>         try {
>             livedb.setAutoCommit(false);
>             copydb.setAutoCommit(false);
>
>
> livedb.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
>
>             copydb.setTransactionIsolation
> (Connection.TRANSACTION_SERIALIZABLE);
>
>             // series of writes to both db's
>
>             livedb.commit();
>             livedb.setAutoCommit(true);
>             copydb.commit();
>             copydb.setAutoCommit(true);
>
>         } catch (SQLException sqle){
>                 // run a rollback-Release and log it routine;
>
>                 // crash and burn;
>         }
>
> this seems to work fine single user, but with several users on i get
> occasional dumps with
> transaction change in transaction.
>
> the only code to change relates to the LUW start since the last rollout
> of this servlet and there was never this problem before.
> the connections are stored as a session attribute, so persist across
> requests.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: kevin@mtel.co.uk
Дата:
Сообщение: postgres jdbc transaction problem surfaces at times
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: FastPath blocked when ERROR is thrown