Open Mortana89 opened 4 years ago
Currently V4 base API is under board review (hence its preview status). Once the base API is accepted and the Types are accepted, we'll move forward and add extra features that exist in V3.
Thanks for the prompt reply! Does this mean V4 is not based on the v3 branch? We're busy upgrading our microservices to .net 3.1, for planning purposes, and without any commitments, when do you think V4 will go GA? We can then take this timeline in account if it's worth waiting for V4, or should focus on v3 for now.
Thanks!
V4 is based off the V3 branch but the public surface is different at this point. V4 needs to follow Azure SDKs guidelines (for example, V4 uses System.Text.Json instead of Newtonsoft.Json).
Sadly we don't have any official GA dates yet, @kirankumarkolli are there any tentative dates for V4 that can be shared?
I wanted to check on this as well, as we are also looking to migrate to v4 and are missing the TransactionalBatch
types. Is there any update on what sort of timeframe we're looking at?
@ealsur @kirankumarkolli just following up on this to see if there is any ETA?
We don't have any ETA. @ylibrach Why do you need it on V4? Why can't you use V3? Is there any feature that you want from V4 that is not on V3? If it's System.Text.Json support, you can already do that in V3 with a custom serializer (like the one we have in V4 https://github.com/Azure/azure-cosmos-dotnet-v3/blob/v4/Microsoft.Azure.Cosmos/azuredata/Serializer/CosmosTextJsonSerializer.cs)
We did quite some testing on the V4 preview 3 for now, it's quite solid actually. The reason we decided to invest in v4 is for a few reasons:
So that's what we did, migrate to .NET 3.1, STJ, Cosmos v4 SDK, and we've updated quite some 'boilerplate' code that is shared amongst our microservices. I can say that v4-preview 3 is stable, we didn't encounter many bugs, at least none without a work-around. We only had many issues with serialization, but that was more due to the immaturity of STJ. Hence we also forked Dahomey.JSON to continue working on v4.
We're now actually ready to ship to production slowly. Thanks for that! The only thing remaining is indeed going to an RTM version for v4. The last preview was 3 months ago, so I'm (still!) curious as to when we can use some of the newer features!
@kirankumarkolli Do you have any comments? Technically V4 is not RTM, so shipping any production code with it is not something I'd recommend.
@ealsur , is there an example of integrating CosmosTextJsonSerializer.cs
with V3? Looks like TextJsonPartitionKeyInternalConverter
has a dependency on TextJsonPartitionKeyInternalConverter
, which is internal in V3.
Has anyone actually done this before?
It would be great to be able to use both System.Text.Json
serializer and transaction support.
I use it since March 2020
I have used System.Text.Json with customer serializer but only for point operations, not transactional batch. For example, https://github.com/ealsur/ondotnet-cosmosdb/blob/master/src/episode1/customserializer/TextJsonSerializer.cs on https://github.com/ealsur/ondotnet-cosmosdb/tree/master/src/episode1/customserializer
Are there any updates on this? I was trying to avoid downgrading to v3 just for this feature.
Can't seem to find the equivalent of Container.CreateTransactionalBatch in the v4 preview SDK. Is this moved to somewhere else, or is this now happening under the bonnet?