Reputation: 2351
I am running the latest RavenDB (previously "stable", but now trying the latest "unstable" builds) on IIS 7.5. We have half a million docs and are hitting it fairly hard with a lot of writes as we need to update these docs fairly frequently.
We often see the below error in Raven Studio (and also "Object reference not set to an instance of an object." when inserting batches in a loop). The same also occurs when executing patch requests against large numbers of documents. We previously had large map/reduce indexes which caused a similar issue.
Is there anything we can do (perhaps via IIS to handle) this better and stop the database performance degrading or becoming unusable? Is the below a bug?
I also note our ESENT "Data" file has become large (10+Gb), perhaps (unwisely) due to a good number of fairly large docs stored in it previously. Is there any way to "shrink" this and make it smaller?
(note: I may edit this Q with a wrap-up a bit later).
Error reading RavenJArray from JsonReader. System.Exception: Error reading RavenJArray from JsonReader. at Raven.Json.Linq.RavenJArray.Load(JsonReader reader) at Raven.Json.Linq.RavenJArray.Parse(String json) at Raven.Client.Silverlight.Connection.Async.AsyncServerClient.b__22(Task`1 task) at System.Threading.Tasks.Task`1.c__DisplayClass1a`1.b__19() at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj) at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() Inner StackTrace: at Raven.Studio.Infrastructure.InvocationExtensions.Catch(Task parent, Action`1 action) at Raven.Studio.Infrastructure.InvocationExtensions.Catch(Task parent) at Raven.Studio.Infrastructure.Model.TimerTicked() at Raven.Studio.Infrastructure.View.b__7(Model model) at Raven.Studio.Infrastructure.View.InvokeOnModel(Object ctx, Action`1 action) at Raven.Studio.Infrastructure.View.InvokeTimerTicked(Object ctx) at Raven.Studio.Infrastructure.View.DispatcherTimerOnTick(Object sender, EventArgs eventArgs) at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args) at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
Could not parse json: System.InvalidOperationException: Could not parse json: ---> System.Exception: Error reading RavenJObject from JsonReader. at Raven.Json.Linq.RavenJObject.Load(JsonReader reader) at Raven.Json.Linq.RavenJObject.Parse(String json) --- End of inner exception stack trace --- at Raven.Json.Linq.RavenJObject.Parse(String json) at Raven.Client.Silverlight.Connection.Async.AsyncServerClient.b__58(Task`1 task) at System.Threading.Tasks.Task`1.c__DisplayClass1a`1.b__19() at System.Threading.Tasks.Task`1.InvokeFuture(Object futureAsObj) at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() Inner StackTrace: at Raven.Studio.Infrastructure.InvocationExtensions.Catch(Task parent, Action`1 action) at Raven.Studio.Infrastructure.InvocationExtensions.Catch(Task parent) at Raven.Studio.Infrastructure.Model.TimerTicked() at Raven.Studio.Infrastructure.View.b__7(Model model) at Raven.Studio.Infrastructure.View.InvokeOnModel(Object ctx, Action`1 action) at Raven.Studio.Infrastructure.View.InvokeTimerTicked(Object ctx) at Raven.Studio.Infrastructure.View.DispatcherTimerOnTick(Object sender, EventArgs eventArgs) at MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args) at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
Upvotes: 1
Views: 424
Reputation: 22956
Can you update your ravendb version? We have added additional error reporting that can help track that down. The size of the db can be truncate, but only offline. The way it works, we never give space back to the OS, but reserve it for our own usage.
Upvotes: 1