You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Under production load (200 to 300 requests per second). Our OData endpoint returns about 1% responses return with status Code 400. Second part, There are no traces being emitted from ILogger, having some trace statements here could help triage this quicker.
{
"error": {
"code": "",
"message": "The query specified in the URI is not valid. IFeatureCollection has been disposed.\r\nObject name: 'Collection'.",
"details": [],
"innererror": {
"message": "IFeatureCollection has been disposed.\r\nObject name: 'Collection'.",
"type": "System.ObjectDisposedException",
"stacktrace": " at Microsoft.AspNetCore.Http.Features.FeatureReferences`1.ThrowContextDisposed()\r\n at Microsoft.AspNetCore.Http.DefaultHttpRequest.get_Query()\r\n at Microsoft.AspNet.OData.Adapters.WebApiRequestMessage.get_QueryParameters()\r\n at Microsoft.AspNet.OData.Query.ODataQueryOptions.GetODataQueryParameters()\r\n at Microsoft.AspNet.OData.Query.ODataQueryOptions.AddAutoSelectExpandProperties()\r\n at Microsoft.AspNet.OData.Query.ODataQueryOptions.ApplyTo(IQueryable query, ODataQuerySettings querySettings)\r\n at Microsoft.AspNet.OData.EnableQueryAttribute.ExecuteQuery(Object responseValue, IQueryable singleResultCollection, IWebApiActionDescriptor actionDescriptor, Func`2 modelFunction, IWebApiRequestMessage request, Func`2 createQueryOptionFunction)\r\n at Microsoft.AspNet.OData.EnableQueryAttribute.OnActionExecuted(Object responseValue, IQueryable singleResultCollection, IWebApiActionDescriptor actionDescriptor, IWebApiRequestMessage request, Func`2 modelFunction, Func`2 createQueryOptionFunction, Action`1 createResponseAction, Action`3 createErrorAction)"
}
}
}
@stack111 It seems that the issue was a known issue in 7.5.4 which was fixed in 7.5.5 (https://docs.microsoft.com/en-us/odata/changelog/webapi-7x#webapi-755) but you did not have to downgrade the Microsoft.OData.Core and Microsoft.OData.Edm from 7.8.1 to 7.7.3. Can you please upgrade the 2 packages and let us know if you experience the same problem.
Under production load (200 to 300 requests per second). Our OData endpoint returns about 1% responses return with status Code 400. Second part, There are no traces being emitted from
ILogger
, having some trace statements here could help triage this quicker.Assemblies affected
NuGet:
Microsoft.AspNetCore.OData
:Version:
7.5.4
Assembly Version:
7.5.4.0
NuGet:
Microsoft.OData.Core
Version:
7.8.1
Assembly Version:
7.8.1.0
Reproduce steps
This was quite hard to reproduce locally, I had to setup JMeter to issue large amount of requests to reproduce the issue outside of production.
The requests vary in 3 queries on different entity sets:
odata/accounts?partitionkey eq 'e58ec759-cdd4-42d9-af7b-807214f4a456' and clientId eq '381f7bcb-8073-470f-a54e-effe214186db'
odata/eventGridFilters?partitionkey eq 'e58ec759-cdd4-42d9-af7b-807214f4a456' and parentId eq '381f7bcb-8073-470f-a54e-effe214186db'
odata/creators?partitionkey eq 'e58ec759-cdd4-42d9-af7b-807214f4a456' and parentId eq '381f7bcb-8073-470f-a54e-effe214186db'
Each controller basically looks nearly the same like:
Startup.cs
The exact call stack is provided, think this failure point is on this line:
Expected result
If there is an work around like downgrading version of NuGet that would be appreciated. Currently this is a blocking issue.
Actual result
What's actually happening is 1% of responses are returning back with 400 response code.
The text was updated successfully, but these errors were encountered: