【发布时间】:2012-01-12 16:44:21
【问题描述】:
我在 IIS 7.5 上运行最新的 RavenDB(以前是“稳定的”,但现在正在尝试最新的“不稳定”构建)。我们有 50 万个文档,并且由于我们需要相当频繁地更新这些文档,因此写了很多文章。
我们经常在 Raven Studio 中看到以下错误(以及在循环中插入批处理时“对象引用未设置为对象的实例。”)。在对大量文档执行补丁请求时也会发生同样的情况。我们之前有大型 map/reduce 索引,导致了类似的问题。
我们可以做些什么(也许通过 IIS 来处理)更好地阻止数据库性能下降或变得无法使用?下面是bug吗?
我还注意到我们的 ESENT“数据”文件已经变大(10+Gb),可能(不明智地)由于之前存储了很多相当大的文档。有什么办法可以“缩小”它并使其更小?
(注意:稍后我可能会编辑此 Q 并进行总结)。
从 JsonReader 读取 RavenJArray 时出错。 System.Exception:从 JsonReader 读取 RavenJArray 时出错。 在 Raven.Json.Linq.RavenJArray.Load(JsonReader 阅读器) 在 Raven.Json.Linq.RavenJArray.Parse(字符串 json) 在 Raven.Client.Silverlight.Connection.Async.AsyncServerClient.b__22(任务`1 任务) 在 System.Threading.Tasks.Task`1.c__DisplayClass1a`1.b__19() 在 System.Threading.Tasks.Task`1.InvokeFuture(对象 futureAsObj) 在 System.Threading.Tasks.Task.InnerInvoke() 在 System.Threading.Tasks.Task.Execute() 内部堆栈跟踪: 在 Raven.Studio.Infrastructure.InvocationExtensions.Catch(任务父项,Action`1 操作) 在 Raven.Studio.Infrastructure.InvocationExtensions.Catch(任务父) 在 Raven.Studio.Infrastructure.Model.TimerTicked() 在 Raven.Studio.Infrastructure.View.b__7(模型模型) 在 Raven.Studio.Infrastructure.View.InvokeOnModel(对象 ctx,Action`1 动作) 在 Raven.Studio.Infrastructure.View.InvokeTimerTicked(对象 ctx) 在 Raven.Studio.Infrastructure.View.DispatcherTimerOnTick(对象发送者,EventArgs eventArgs) 在 MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex,委托 handlerDelegate,对象发送者,对象参数) 在 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj,IntPtr unmanagedObjArgs,Int32 argsTypeIndex,Int32 actualArgsTypeIndex,字符串 eventName) 无法解析 json: System.InvalidOperationException:无法解析 json: ---> System.Exception:从 JsonReader 读取 RavenJObject 时出错。 在 Raven.Json.Linq.RavenJObject.Load(JsonReader 阅读器) 在 Raven.Json.Linq.RavenJObject.Parse(字符串 json) --- 内部异常堆栈跟踪结束 --- 在 Raven.Json.Linq.RavenJObject.Parse(字符串 json) 在 Raven.Client.Silverlight.Connection.Async.AsyncServerClient.b__58(任务`1 任务) 在 System.Threading.Tasks.Task`1.c__DisplayClass1a`1.b__19() 在 System.Threading.Tasks.Task`1.InvokeFuture(对象 futureAsObj) 在 System.Threading.Tasks.Task.InnerInvoke() 在 System.Threading.Tasks.Task.Execute() 内部堆栈跟踪: 在 Raven.Studio.Infrastructure.InvocationExtensions.Catch(任务父项,Action`1 操作) 在 Raven.Studio.Infrastructure.InvocationExtensions.Catch(任务父) 在 Raven.Studio.Infrastructure.Model.TimerTicked() 在 Raven.Studio.Infrastructure.View.b__7(模型模型) 在 Raven.Studio.Infrastructure.View.InvokeOnModel(对象 ctx,Action`1 动作) 在 Raven.Studio.Infrastructure.View.InvokeTimerTicked(对象 ctx) 在 Raven.Studio.Infrastructure.View.DispatcherTimerOnTick(对象发送者,EventArgs eventArgs) 在 MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex,委托 handlerDelegate,对象发送者,对象参数) 在 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj,IntPtr unmanagedObjArgs,Int32 argsTypeIndex,Int32 actualArgsTypeIndex,字符串 eventName)【问题讨论】: