-
Notifications
You must be signed in to change notification settings - Fork 30
Closed
Description
The C# SDK currently does not work with this CosmosDb server.
NuGet package: https://www.nuget.org/packages/Microsoft.Azure.Cosmos/
I discovered the following issues while attempting to make it work:
- SDK can not be configured to ignore SSL validation errors. My workaround was using reflection to configure the SDK internals
- Addresses endpoint as in Query to //addresses/?$resolveFor=dbs&$filter=protocol%20eq%20rntbd #29 is not implemented. Workaround is configuring the C# SDK to use Gateway mode.
- Whenever an error occurs (>399 status code), the C# SDK expects a case sensitive
message
property with non-null value in the response body. Otherwise it will throw a NullReferenceException. - "Meta" / root endpoint must return certain data, otherwise SDK will throw a NullReferenceException. Additionally the
queryEngineConfiguration
property is required for querying to work. - The C# parses and validates the _rid property. In particular, it requires RID for collections to have a specific bit set to 1 (first bit of 5th byte)
- A property on
partitionKeyRanges
is invalid, it ismaxInclusive
but should bemaxExclusive
- C# SDK sends boolean headers with a
"True"
value instead of"true"
, causing the server to not handle them as true - C# SDK will query partitionKeys using an "Incremental Feed". See
A-IM
header. Essentially it expects an etag when retrieving partition keys, and it expects a 302 status code once all keys have been received. Current behavior causes an infinite loop in the C# SDK
After forking this repo and applying fixes for the above I am able to successfully use this server with the C# SDK.
I noticed you have a current draft PR with some fixes for the Java SDK, which will fix some of the issues here. I can make a PR with the remaining fixes if you'd like
nkzawa, southpolesteve and moredataplsnkzawankzawa and southpolestevenkzawa, tombiddulph and moredatapls
Metadata
Metadata
Assignees
Labels
No labels