2016-05-17 3 views
0

Мои данные выпуска являются,Npgsql не работает должным образом, при использовании PGPool кластера

Рабочая Environment

  • Npgsql = 3.0.7
  • Entity Framework = 6.1.3
  • PGPool = 3.5.2
  • Postgres = 9.4.8

При запросе базы данных часто возникает ошибка (исключение может меняться время от времени & место возникновения).

ERROR System.IO.EndOfStreamException: Попытка прочитать за конец потока.
на Npgsql.NpgsqlBuffer.Ensure (графа Int32)
в Npgsql.NpgsqlConnector.DoReadSingleMessage (DataRowLoadingMode dataRowLoadingMode, Boolean, Boolean returnNullForAsyncMessage isPrependedMessage)
в Npgsql.NpgsqlConnector.ReadSingleMessage (DataRowLoadingMode dataRowLoadingMode, булева returnNullForAsyncMessage)
в Npgsql. NpgsqlCommand.Execute (поведение CommandBehavior)
на Npgsql.NpgsqlCommand.ExecuteDbDataReaderInternal (поведение CommandBehavior)
на Npgsql.NpgsqlCommand.ExecuteDbDataReader (поведение CommandBehavior)
в System.Data.Entity.Infrastructure.Interception.Internal Диспетчер операции 1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func 3, TInterceptionContext interceptionContext, Действие 3 executing, Action 3 выполнены)
на System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader (DbCommand команды, DbCommandInterceptionContext interceptionContext)
в System.Data.Entity.Core.EntityClient.Internal .EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand, поведение CommandBehavior)

или:

ОШИБКА System.IO.EndOfStreamException: Попытка чтения в конце прошлого т он течет.
на Npgsql.NpgsqlBuffer.Ensure (графа Int32)
в Npgsql.NpgsqlConnector.DoReadSingleMessage (DataRowLoadingMode dataRowLoadingMode, Boolean, Boolean returnNullForAsyncMessage isPrependedMessage)
в Npgsql.NpgsqlConnector.ReadSingleMessage (DataRowLoadingMode dataRowLoadingMode, булева returnNullForAsyncMessage)
в Npgsql. NpgsqlConnector.ReadExpectingT
на Npgsql.NpgsqlConnector.ExecuteInternalCommand (FrontendMessage сообщение, булева withTimeout)
на Npgsql.NpgsqlTransaction.Commit()
на System.Data.Entity.Infrastructure.Interception.InternalDispatcher 1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action 2 операции, TInterceptionContext interceptionContext, действие 3 executing, Action 3 выполнен)

же запустить запрос без PGPool, доза не получить выше исключения.

Не могли бы вы посоветовать мне решить эту проблему?

Спасибо вам заранее.

ответ

0

Это похоже на дубликат https://github.com/npgsql/npgsql/issues/1060, который уже исправлен. Попробуйте использовать совершенно новый 3.1.0, чтобы узнать, разрешает ли он ваши проблемы (обратите внимание, может быть немного сырым) или подождите, пока выйдет 3.0.8 - в нем также будет исправлено.

+0

Здравствуйте, Большое вам спасибо за ваш ответ. Могу ли я узнать, когда будет выпущен 3.0.8 или совместимый EntityFramework6.Npgsql для 3.1.0? Спасибо. –

+0

EF6.Npgsql для 3.1.0 выйдет через несколько дней, 3.0.8, вероятно, займет пару недель –

+0

Спасибо. ожидая следующего выпуска EF6.Npgsql. –