2012-01-12 10 views
1

IIS 7.5で最新のRavenDB(以前は「安定」でしたが、最新の「不安定な」ビルドを試しています)を実行しています。私たちは50万人のドキュメントを持っており、これらのドキュメントをかなり頻繁に更新する必要があるため、かなり多くの書き込みがあります。RavenDB:JsonReaderからRavenJArrayを読み込み中にエラーが発生しました。

Raven Studioでは、ループ内にバッチを挿入するときに、「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」というエラーが頻繁に表示されます。多数の文書に対してパッチ要求を実行する場合も同じことが起こります。これまでマップ/リダクションインデックスのサイズが大きかったため、同様の問題が発生しました。

これは、おそらくIISを使用してこれを処理し、データベースのパフォーマンスが低下したり使用できなくなることがありますか?以下はバグですか?

ESENTの「データ」ファイルは、それ以前に格納されていた相当数のかなり大きいドキュメントがあるため、おそらく(非現実的に)大きくなっています。これを「縮小」して小さくする方法はありますか?

(注:後ほどまとめてこのQを編集することがあります)。

 
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) 

答えて

1

あなたravendbのバージョンを更新することはできますか?それを追跡するのに役立つ追加のエラー報告が追加されました。 dbのサイズは切り捨てられますが、オフラインのみです。 動作方法は、OSにスペースを与えることは決してありませんが、私たち自身の使用のためにスペースを予約します。

+0

私はまだ(上記のようにわずかに更新されていますが)エラーが発生していますが、#599をビルドするように更新しました(エラーは*少し*頻繁ではないかもしれません。私は1024のバッチで挿入しています。あなたが私に提供したいいくつかの特定のログがありますか? – Aaron

+0

私はESENTITLの "デフラグ:ESENTUTL/d <データベース名> [オプション]"も使用しましたが、オフラインのデータベース圧縮では完全に機能しました。ありがとうございました! – Aaron

+0

ロギングログを有効にし、ビルド#601に更新しました。 「エラーのみ」の下にサーバーにエラーは表示されません。 – Aaron

関連する問題