I got some strange exception in DO4. running on Postgresql. Nuget Packages: Xtensive.Orm 4.5.3 Xtensive.Orm.Postgresql 4.5.3 Xtensive.Orm.BulkOperations 4.5.2 PostSharp 2.1.7.3 What can be wrong?

Xtensive.Orm.StorageException was unhandled by user code
  Message=SQL error occured.
SQL error details 'Type: Unknown;'
Query 'DELETE FROM "Tmp_b4b6fbe5-61f8-46c7-8146-b53b1d484da7";'
Original message 'FEHLER: 25P02: aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert'
  Source=Xtensive.Orm
  StackTrace:
       bei Xtensive.Orm.Providers.Sql.StorageDriver.ExecuteCommand[TResult](Session session, DbCommand command, Func`2 action)
       bei Xtensive.Orm.Providers.Sql.StorageDriver.ExecuteNonQuery(Session session, DbCommand command)
       bei Xtensive.Orm.Providers.Sql.Command.ExecuteNonQuery()
       bei Xtensive.Orm.Providers.Sql.BatchingCommandProcessor.ExecuteBatch(Int32 numberOfTasks, QueryRequest lastRequest)
       bei Xtensive.Orm.Providers.Sql.BatchingCommandProcessor.ExecuteTasks(Boolean allowPartialExecution)
       bei Xtensive.Orm.Providers.Sql.CommandProcessor.ExecuteTasks()
       bei Xtensive.Orm.Providers.Sql.SessionHandler.Xtensive.Orm.Providers.Sql.IQueryExecutor.Clear(TemporaryTableDescriptor descriptor)
       bei Xtensive.Orm.Providers.Sql.SqlTemporaryDataProvider.ClearAndUnlock(EnumerationContext context)
       bei Xtensive.Orm.Providers.Sql.SqlIncludeProvider.OnAfterEnumerate(EnumerationContext context)
       bei Xtensive.Orm.Rse.Providers.ExecutableProvider.OnAfterEnumerate(EnumerationContext context)
       bei Xtensive.Orm.Rse.Providers.ExecutableProvider.OnAfterEnumerate(EnumerationContext context)
       bei Xtensive.Orm.Rse.Providers.ExecutableProvider.<GetEnumerator>d__0.<>m__Finally5()
       bei Xtensive.Orm.Rse.Providers.ExecutableProvider.<GetEnumerator>d__0.System.IDisposable.Dispose()
       bei Xtensive.Orm.Rse.Providers.ExecutableProvider.<GetEnumerator>d__0.MoveNext()
       bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       bei System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       bei Xtensive.Orm.Rse.RecordSet.<GetGreedyEnumerator>d__0.MoveNext()
       bei System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
       bei Xtensive.Core.EnumerableExtensions.<Batch>d__20`1.MoveNext()
       bei Xtensive.Core.EnumerableExtensions.<ApplyBeforeAndAfter>d__28`1.MoveNext()
       bei System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
       bei WSRScheduler.Model.Engine.ProxyListUrl.ProcessTask(Session session, TaskResultBase taskbase)
       bei WSRServices.Scheduler.TaskProcessor.<>c__DisplayClass18.<WorkerThreadFunction>b__11(Session session)
       bei Xtensive.Orm.Reprocessing.DomainExtensions.<>c__DisplayClass1.<ExecuteInternal>b__0(Session a)
       bei Xtensive.Orm.Reprocessing.ExecuteActionStrategy.Execute[T](ExecutionContext`1 context)
  InnerException: Npgsql.NpgsqlException
       Message=FEHLER: 25P02: aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert
       Source=Npgsql
       ErrorCode=-2147467259
       BaseMessage=aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert
       Code=25P02
       Detail=""
       ErrorSql=DELETE FROM "Tmp_b4b6fbe5-61f8-46c7-8146-b53b1d484da7";
       File=.\src\backend\tcop\postgres.c
       Hint=""
       Line=919
       Position=""
       Routine=exec_simple_query
       Severity=FEHLER
       Where=""
       StackTrace:
            bei Npgsql.NpgsqlState.<ProcessBackendResponses_Ver_3>d__a.MoveNext()
            bei Npgsql.ForwardsOnlyDataReader.GetNextResponseObject()
            bei Npgsql.ForwardsOnlyDataReader.GetNextRowDescription()
            bei Npgsql.ForwardsOnlyDataReader.NextResult()
            bei Npgsql.ForwardsOnlyDataReader..ctor(IEnumerable`1 dataEnumeration, CommandBehavior behavior, NpgsqlCommand command, NotificationThreadBlock threadBlock, Boolean synchOnReadError)
            bei Npgsql.NpgsqlCommand.GetReader(CommandBehavior cb)
            bei Npgsql.NpgsqlCommand.ExecuteNonQuery()
            bei Xtensive.Orm.Providers.Sql.StorageDriver.<ExecuteNonQuery>b__0(DbCommand c)
            bei Xtensive.Orm.Providers.Sql.StorageDriver.ExecuteCommand[TResult](Session session, DbCommand command, Func`2 action)
       InnerException:

asked Jul 22 '12 at 13:11

Thomas%20Maierhofer's gravatar image

Thomas Maierhofer
738812

Hello Thomas,

Could you clarify, what was the query you executed?

(Jul 23 '12 at 08:13) Dmitri Maximov Dmitri%20Maximov's gravatar image

In fact it is on different, but quite simple queries. My app is a service with massive multi threading and several concurrent sessions

(Jul 23 '12 at 12:48) Thomas Maierhofer Thomas%20Maierhofer's gravatar image

One Answer:

I think i have found it. It may be a problem with the connection pool of postgresql. I have set the limits higher and the error is gone. (Pooling=true&MinPoolSize=20&MaxPoolSize=1000).

BTW. Pooling is on by default and have very small pool sizes by default. If you want no pooling you must specify "Pooling=false" in your connection string.

answered Jul 23 '12 at 12:51

Thomas%20Maierhofer's gravatar image

Thomas Maierhofer
738812

edited Jul 23 '12 at 13:54

Thanks, Thomas

(Jul 24 '12 at 06:30) Dmitri Maximov Dmitri%20Maximov's gravatar image
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
toggle preview

powered by OSQA