Timeouts when streaming

290 views
Skip to first unread message

Gaz

unread,
Feb 24, 2015, 8:53:22 AM2/24/15
to rav...@googlegroups.com
Hi,

I've pretty much always experienced timeouts when loading documents with a Stream.  To get around this I try to stream for the shortest time possible so essentially load everything into memory then iterate over the list (I realise this isn't optimal but it was just a workaround and we don't / didn't have enough data to make it worth worrying about).

However I'm now getting timeouts even doing this.  It's my understanding that you should be able to Stream forever so what can I do to enable this?

By timeout I mean a WebException with message "The operation has timed out".

 at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at System.IO.Compression.DeflateStream.Read(Byte[] array, Int32 offset, Int32 count)
   at System.IO.Compression.GZipStream.Read(Byte[] array, Int32 offset, Int32 count)
   at System.IO.StreamReader.ReadBuffer(Char[] userBuffer, Int32 userOffset, Int32 desiredChars, Boolean& readToUserBuffer)
   at System.IO.StreamReader.Read(Char[] buffer, Int32 index, Int32 count)
   at Raven.Imports.Newtonsoft.Json.JsonTextReader.ReadData(Boolean append, Int32 charsRequired) in c:\Builds\RavenDB-Stable-2.5\Imports\Newtonsoft.Json\Src\Newtonsoft.Json\JsonTextReader.cs:line 324
   at Raven.Imports.Newtonsoft.Json.JsonTextReader.ParseValue() in c:\Builds\RavenDB-Stable-2.5\Imports\Newtonsoft.Json\Src\Newtonsoft.Json\JsonTextReader.cs:line 1001
   at Raven.Imports.Newtonsoft.Json.JsonTextReader.ReadInternal() in c:\Builds\RavenDB-Stable-2.5\Imports\Newtonsoft.Json\Src\Newtonsoft.Json\JsonTextReader.cs:line 476
   at Raven.Imports.Newtonsoft.Json.JsonTextReader.Read() in c:\Builds\RavenDB-Stable-2.5\Imports\Newtonsoft.Json\Src\Newtonsoft.Json\JsonTextReader.cs:line 397
   at Raven.Client.Connection.ServerClient.<YieldStreamResults>d__6b.MoveNext() in c:\Builds\RavenDB-Stable-2.5\Raven.Client.Lightweight\Connection\ServerClient.cs:line 1226
   at Raven.Client.Document.DocumentSession.<YieldQuery>d__c`1.MoveNext() in c:\Builds\RavenDB-Stable-2.5\Raven.Client.Lightweight\Document\DocumentSession.cs:line 605
   at Marketplace.Catalogue.ResourceBooking.PurgeOldSlotsTask.RemoveOldAvailability() in c:\Repositories\Marketplace\src\Marketplace.Catalogue\ResourceBooking\PurgeOldSlotsTask.cs:line 79
   at Marketplace.Catalogue.ResourceBooking.PurgeOldSlotsTask.Process() in c:\Repositories\Marketplace\src\Marketplace.Catalogue\ResourceBooking\PurgeOldSlotsTask.cs:line 38
   at Marketplace.Tasks.Program.Main(String[] args) in c:\Repositories\MarketplaceDeploy\src\Marketplace.Tasks\Program.cs:line 117

I'm using build 2952, hosted in IIS.

Thanks,

G

Oren Eini (Ayende Rahien)

unread,
Feb 24, 2015, 8:54:32 AM2/24/15
to ravendb
What is the IIS request timeout?

Hibernating Rhinos Ltd  

Oren Eini l CEO Mobile: + 972-52-548-6969

Office: +972-4-622-7811 l Fax: +972-153-4-622-7811

 


--
You received this message because you are subscribed to the Google Groups "RavenDB - 2nd generation document database" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ravendb+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gareth Thackeray

unread,
Feb 24, 2015, 10:04:45 AM2/24/15
to ravendb
executionTimeout = 600

--
You received this message because you are subscribed to a topic in the Google Groups "RavenDB - 2nd generation document database" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ravendb/Msl09dvvJd8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ravendb+u...@googlegroups.com.

Oren Eini (Ayende Rahien)

unread,
Feb 24, 2015, 10:05:39 AM2/24/15
to ravendb
And max request size?

Gareth Thackeray

unread,
Feb 24, 2015, 10:21:31 AM2/24/15
to ravendb
maxRequestLength="20480"

Oren Eini (Ayende Rahien)

unread,
Feb 24, 2015, 2:07:59 PM2/24/15
to ravendb
Can you try this through fiddler, see what it says?
Message has been deleted

Dovydas Navickas

unread,
Mar 17, 2015, 5:29:43 AM3/17/15
to rav...@googlegroups.com
Similar error here. Running RavenDB as Windows Service locally with default settings.

After some time of streaming I get this, so I presume it is the same timeout exception:

{"Message":"An error has occurred.","ExceptionMessage":"Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.","ExceptionType":"System.IO.IOException","StackTrace":" at System.IO.Compression.DeflateStream.EndRead(IAsyncResult asyncResult)\r\n at System.IO.Compression.GZipStream.EndRead(IAsyncResult asyncResult)\r\n at System.Threading.Tasks.TaskFactory`1.FromAsyncTrimPromise`1.Complete(TInstance thisRef, Func`3 endMethod, IAsyncResult asyncResult, Boolean requiresSynchronization)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.IO.StreamReader.d__28.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.IO.StreamReader.d__1e.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Imports.Newtonsoft.Json.JsonTextReaderAsync.d__3.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\JsonTextReaderAsync.cs:line 316\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Imports.Newtonsoft.Json.JsonTextReaderAsync.d__2a.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\JsonTextReaderAsync.cs:line 525\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Imports.Newtonsoft.Json.JsonTextReaderAsync.d__0.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\JsonTextReaderAsync.cs:line 103\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Imports.Newtonsoft.Json.JsonTextReaderAsync.d__58.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\JsonTextReaderAsync.cs:line 1005\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Imports.Newtonsoft.Json.JsonTextReaderAsync.d__26.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\JsonTextReaderAsync.cs:line 468\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Imports.Newtonsoft.Json.JsonTextReaderAsync.d__11.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\JsonTextReaderAsync.cs:line 389\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Json.Linq.RavenJObject.d__0.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\Linq\\RavenJObject.cs:line 442\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Json.Linq.RavenJToken.d__8.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Abstractions\\Json\\Linq\\RavenJToken.cs:line 918\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Client.Connection.Async.AsyncServerClient.YieldStreamResults.d__2ad.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Client.Lightweight\\Connection\\Async\\AsyncServerClient.cs:line 1768\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()\r\n at Raven.Client.Document.Async.AsyncDocumentSession.YieldStream`1.d__c7.MoveNext() in c:\\Builds\\RavenDB-Stable-3.0\\Raven.Client.Lightweight\\Document\\Async\\AsyncDocumentSession.cs:line 449\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at Simplr.API.Controllers.TestController.d__2.MoveNext() in D:\\Projects\\Simplr.Wasteland\\Simplr.Wasteland\\Simplr.API\\Controllers\\TestController.cs:line 55\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Threading.Tasks.TaskHelpersExtensions.d__3`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Cors.CorsMessageHandler.d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.HttpServer.d__0.MoveNext()","InnerException":{"Message":"An error has occurred.","ExceptionMessage":"An existing connection was forcibly closed by the remote host","ExceptionType":"System.Net.Sockets.SocketException","StackTrace":" at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)\r\n at System.Net.Sockets.NetworkStream.BeginRead(Byte[] buffer, Int32 offset, Int32 size, AsyncCallback callback, Object state)"}}

Oren Eini (Ayende Rahien)

unread,
Mar 17, 2015, 5:48:45 AM3/17/15
to ravendb
Can you check this through fiddler?
This looks like a network issue.

Hibernating Rhinos Ltd  

Oren Eini l CEO Mobile: + 972-52-548-6969

Office: +972-4-622-7811 l Fax: +972-153-4-622-7811

 


--
Reply all
Reply to author
Forward
0 new messages