From 8a2b13e1d166e1cdae6422cd49c19df23978335d Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 22 Sep 2021 17:22:34 +0200 Subject: [PATCH] Switch major version. --- .../EventSourcing/MongoEventStore.cs | 4 ++-- .../MongoDb/MongoExtensions.cs | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/backend/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore.cs b/backend/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore.cs index 07d2948e9..aead3f879 100644 --- a/backend/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore.cs +++ b/backend/src/Squidex.Infrastructure.MongoDb/EventSourcing/MongoEventStore.cs @@ -77,10 +77,10 @@ namespace Squidex.Infrastructure.EventSourcing }) }, ct); - var clusterVersion = await Database.GetVersionAsync(ct); + var clusterVersion = await Database.GetMajorVersionAsync(ct); var clusteredAsReplica = Database.Client.Cluster.Description.Type == ClusterType.ReplicaSet; - CanUseChangeStreams = clusteredAsReplica && clusterVersion >= new Version("4.0"); + CanUseChangeStreams = clusteredAsReplica && clusterVersion >= 4; } } } diff --git a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/MongoExtensions.cs b/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/MongoExtensions.cs index 6562f559e..365ec1790 100644 --- a/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/MongoExtensions.cs +++ b/backend/src/Squidex.Infrastructure.MongoDb/MongoDb/MongoExtensions.cs @@ -7,6 +7,7 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq.Expressions; using System.Runtime.CompilerServices; using System.Threading; @@ -144,7 +145,7 @@ namespace Squidex.Infrastructure.MongoDb } } - public static async Task GetVersionAsync(this IMongoDatabase database, + public static async Task GetMajorVersionAsync(this IMongoDatabase database, CancellationToken ct = default) { var command = @@ -153,9 +154,14 @@ namespace Squidex.Infrastructure.MongoDb { "buildInfo", 1 } }); - var result = await database.RunCommandAsync(command, cancellationToken: ct); + var document = await database.RunCommandAsync(command, cancellationToken: ct); - return Version.Parse(result["version"].AsString); + var versionString = document["version"].AsString; + var versionMajor = versionString.Split('.')[0]; + + int.TryParse(versionMajor, NumberStyles.Integer, CultureInfo.InvariantCulture, out int result); + + return result; } } }