diff --git a/src/Nest/Document/Multiple/MultiGet/Response/MultiGetHit.cs b/src/Nest/Document/Multiple/MultiGet/Response/MultiGetHit.cs index 55623859abf..d48e78c81af 100644 --- a/src/Nest/Document/Multiple/MultiGet/Response/MultiGetHit.cs +++ b/src/Nest/Document/Multiple/MultiGet/Response/MultiGetHit.cs @@ -23,6 +23,10 @@ public interface IMultiGetHit where TDocument : class string Type { get; } long Version { get; } + + long PrimaryTerm { get; } + + long SequenceNumber { get; } } [JsonObject] @@ -58,5 +62,11 @@ public class MultiGetHit : IMultiGetHit [JsonProperty("_version")] public long Version { get; internal set; } + + [JsonProperty("_primary_term")] + public long PrimaryTerm { get; internal set; } + + [JsonProperty("_seq_no")] + public long SequenceNumber { get; internal set; } } } diff --git a/src/Nest/Document/Single/Get/GetResponse.cs b/src/Nest/Document/Single/Get/GetResponse.cs index 20adebe37d1..a41925a5290 100644 --- a/src/Nest/Document/Single/Get/GetResponse.cs +++ b/src/Nest/Document/Single/Get/GetResponse.cs @@ -33,6 +33,12 @@ public interface IGetResponse : IResponse where TDocument : class [JsonProperty("_version")] long Version { get; } + + [JsonProperty("_primary_term")] + long? PrimaryTerm { get; } + + [JsonProperty("_seq_no")] + long? SequenceNumber { get; } } [JsonObject(MemberSerialization.OptIn)] @@ -47,5 +53,7 @@ public class GetResponse : ResponseBase, IGetResponse wher public TDocument Source { get; internal set; } public string Type { get; internal set; } public long Version { get; internal set; } + public long? PrimaryTerm { get; internal set; } + public long? SequenceNumber { get; internal set; } } } diff --git a/src/Tests/Tests/Document/Multiple/MultiGet/MultiGetApiTests.cs b/src/Tests/Tests/Document/Multiple/MultiGet/MultiGetApiTests.cs index b394db1af24..917d7bac62f 100644 --- a/src/Tests/Tests/Document/Multiple/MultiGet/MultiGetApiTests.cs +++ b/src/Tests/Tests/Document/Multiple/MultiGet/MultiGetApiTests.cs @@ -170,6 +170,11 @@ protected override void ExpectResponse(IMultiGetResponse response) hit.Id.Should().NotBeNullOrWhiteSpace(); hit.Found.Should().BeTrue(); hit.Version.Should().Be(1); + if (base.Cluster.ClusterConfiguration.Version >= "6.8.0") + { + hit.PrimaryTerm.Should().BeGreaterOrEqualTo(1); + hit.SequenceNumber.Should().BeGreaterOrEqualTo(0); + } hit.Source.ShouldAdhereToSourceSerializerWhenSet(); } } diff --git a/src/Tests/Tests/Document/Single/DocumentCrudTests.cs b/src/Tests/Tests/Document/Single/DocumentCrudTests.cs index b9f49d5c67b..4f3fc70a68a 100644 --- a/src/Tests/Tests/Document/Single/DocumentCrudTests.cs +++ b/src/Tests/Tests/Document/Single/DocumentCrudTests.cs @@ -78,6 +78,11 @@ [I] protected async Task DocumentIsUpdated() => await AssertOnGetAfterUpdate(r = { r.Source.Should().NotBeNull(); r.Version.Should().BeGreaterThan(1); + if (base.Cluster.ClusterConfiguration.Version >= "6.8.0") + { + r.SequenceNumber.Should().BeGreaterOrEqualTo(1); + r.PrimaryTerm.Should().BeGreaterThan(0); + } r.Source.Description.Should().EndWith("updated"); }); diff --git a/src/Tests/Tests/Document/Single/Get/GetApiTests.cs b/src/Tests/Tests/Document/Single/Get/GetApiTests.cs index f7f79aec331..92978ec4969 100644 --- a/src/Tests/Tests/Document/Single/Get/GetApiTests.cs +++ b/src/Tests/Tests/Document/Single/Get/GetApiTests.cs @@ -45,6 +45,12 @@ protected override void ExpectResponse(IGetResponse response) response.Source.Should().NotBeNull(); response.Source.Name.Should().Be(ProjectId); response.Source.ShouldAdhereToSourceSerializerWhenSet(); + + if (base.Cluster.ClusterConfiguration.Version >= "6.8.0") + { + response.SequenceNumber.Should().BeGreaterOrEqualTo(0); + response.PrimaryTerm.Should().BeGreaterOrEqualTo(1); + } } }