.NETクライアントからクエリを実行するときに、散発的/不整合な動作がCosmosDbから発生します。Cosmos db .netコアクライアントの実行時にsporadicの '範囲インデックスが必要です'例外が発生しました。CreateDocumentQuery <T>
return this.client.CreateDocumentQuery<T>(this.documentCollectionUri, options).Where(t => ...).Orderby(t => ...);
whereとorder by句を使用した簡単なクエリです。このコレクションのインデックスのような明示的な構成は行っていません。特定のパーティションキーが指定された状態での「既定の構成」です。
残念ながら、これが発生する原因となるパターンはありません。まったく同じコードは、故障せずに何十回も実行することができますが、ランダムにそれは、この例外がスローされます。
System.AggregateExceptionは= 1つの以上のエラーが発生した HRESULT = 0x80131500 メッセージを発生しました。 ソース= のStackTrace:System.Threading.Tasks.Task
1.GetResultCore(Boolean waitCompletionNotification) at Microsoft.Azure.Documents.Linq.DocumentQuery
1.d__31.MoveNext(AT )System.Collections.Generic.List1.AddEnumerable(IEnumerable
1列挙で ) System.Linq.Enumerable.ToList [TSOURCE(IEnumerableをで`1 source) CompassDomain.Services.TravelRequestService.GetTravelRequests(TravelRequestSearchModel search)(C:\ Users \ Matty \ source \ repos \ CompassDocument \ CompasDomain \ Services \ TravelRequestService.cs):542 Compass.Controllers.TravelRequestController.Search C#\ Users \ Matty \ source \ repos \ Compass \ Compass \ Controllers \ TravelRequestController.csのTravelRequestSearchModel検索:行242 at Microsoft.Extensions.Internal.ObjectMethodExecutor.Execute(Object target、Object [] parameters) DocumentClientException:メッセージ:{「エラー」:[ "オーダーによるアイテムは上で定義される範囲のインデックスが必要Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__12.MoveNext()内部例外1で対応するインデックスパス]。 アクティビティID:7307a098-6158-4437-be0d-cfbd6d1f8d23、リクエストURI:/ apps/d6be8788-3942-411f-8d07-38c2e713953f/services/62737d1f-9d78-40ad-bf02-3852da0fa6ba/partitions/287201ef-5e4c-4276-9145-230e01c38d3d/replicas/131555532121431180s、RequestStats: ResponseTime:2017-11-30T10:26:53.0446055Z、StoreReadResult:StorePhysicalAddress:rntbd://10.0.0.216:16700/apps/d6be8788-3942- 411f-8d07-38c2e713953f/services/62737d1f-9d78-40ad-bf02-3852da0fa6ba/partitions/287201ef-5e4c-4276-9145-230e01c38d3d/replicas/131555532121431180s、LSN:160、GlobalCommitteリソースタイプ:ドキュメント、操作タイプ:クエリ 、SDK:Microsoft.Azure.Documents。詳細については、Microsoft Knowledge Baseの次の記事を参照してください。http://www.microsoft.com/japan/msdn/library/ja/default.asp?url=/library/ja/cpguide/html/cpguide/html/home.aspx Common/1.17.101.1
何が原因か、またはこの問題を報告するには最適な経路についてのご意見やご要望はありますか?あなたの内側の例外によると、私はあなたが持つためにあなたのコレクションのインデックスポリシーに変更を加えることをお勧めします
{
"indexingMode": "consistent",
"automatic": true,
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"kind": "Range",
"dataType": "Number",
"precision": -1
},
{
"kind": "Hash",
"dataType": "String",
"precision": 3
}
]
}
],
"excludedPaths": []
}
あなたのコレクションにはどのようなインデックスポリシーを使用していますか? –
私は明示的に指定していないか、コレクションの索引付けに関する何かを設定していません。 – MIP1983
下記の私の答えをチェックし、有用であればそれに印を付けてください。 –