diff --git a/.ci/packages.lock.json b/.ci/packages.lock.json index 593b775ea05..be166602150 100644 --- a/.ci/packages.lock.json +++ b/.ci/packages.lock.json @@ -1,13 +1,6 @@ { "version": 1, "dependencies": { - ".NETCoreApp,Version=v5.0": { - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - } - } + ".NETCoreApp,Version=v5.0": {} } } \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index 6106e18de17..986ff314799 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -45,7 +45,7 @@ 002400000480000094000000060200000024000052534131000400000100010025d3a22bf3781ba85067374ad832dfcba3c4fa8dd89227e36121ba17b2c33ad6b6ce03e45e562050a031e2ff7fe12cff9060a50acbc6a0eef9ef32dc258d90f874b2e76b581938071ccc4b4d98204d1d6ca7a1988d7a211f9fc98efd808cf85f61675b11007d0eb0461dc86a968d6af8ebba7e6b540303b54f1c1f5325c252be - + diff --git a/build/scripts/packages.lock.json b/build/scripts/packages.lock.json index d16acacd293..00f1c9a0cc3 100644 --- a/build/scripts/packages.lock.json +++ b/build/scripts/packages.lock.json @@ -84,12 +84,6 @@ "resolved": "5.0.0", "contentHash": "iHoYXA0VaSQUONGENB1aVafjDDZDZpwu39MtaRCTrmwFW/cTcK0b2yKNVYneFHJMc3ChtsSoM9lNtJ1dYXkHfA==" }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Newtonsoft.Json": { "type": "Direct", "requested": "[13.0.1, )", diff --git a/src/ApiGenerator/packages.lock.json b/src/ApiGenerator/packages.lock.json index 664765e7634..f97794994d8 100644 --- a/src/ApiGenerator/packages.lock.json +++ b/src/ApiGenerator/packages.lock.json @@ -21,12 +21,6 @@ "Microsoft.CodeAnalysis.Common": "[3.1.0-beta3-final]" } }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Newtonsoft.Json": { "type": "Direct", "requested": "[13.0.1, )", diff --git a/src/DocGenerator/packages.lock.json b/src/DocGenerator/packages.lock.json index 4217b8295bc..115472739f1 100644 --- a/src/DocGenerator/packages.lock.json +++ b/src/DocGenerator/packages.lock.json @@ -113,12 +113,6 @@ "NETStandard.Library": "1.6.1" } }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Newtonsoft.Json": { "type": "Direct", "requested": "[13.0.1, )", diff --git a/src/Elasticsearch.Net.VirtualizedCluster/packages.lock.json b/src/Elasticsearch.Net.VirtualizedCluster/packages.lock.json index 45360ac9f46..8114e65aa63 100644 --- a/src/Elasticsearch.Net.VirtualizedCluster/packages.lock.json +++ b/src/Elasticsearch.Net.VirtualizedCluster/packages.lock.json @@ -98,12 +98,6 @@ "resolved": "4.0.0", "contentHash": "PCgUb5I1DIe0GsBZ2fPXr/tOgph9Gh6yoHcpsFxNmTvyOQFXxyOcjM7wPs8ylakPNdFYBUs9YeF2Wsx6K/nEDQ==" }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Microsoft.SourceLink.GitHub": { "type": "Direct", "requested": "[1.0.0, )", diff --git a/src/Elasticsearch.Net/packages.lock.json b/src/Elasticsearch.Net/packages.lock.json index 8441634d42a..fb87e6e0bc7 100644 --- a/src/Elasticsearch.Net/packages.lock.json +++ b/src/Elasticsearch.Net/packages.lock.json @@ -99,12 +99,6 @@ "resolved": "4.6.0", "contentHash": "kxn3M2rnAGy5N5DgcIwcE8QTePWU/XiYcQVzn9HqTls2NKluVzVSmVWRjK7OUPWbljCXuZxHyhEz9kPRIQeXow==" }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Microsoft.SourceLink.GitHub": { "type": "Direct", "requested": "[1.0.0, )", @@ -293,12 +287,6 @@ "resolved": "4.6.0", "contentHash": "kxn3M2rnAGy5N5DgcIwcE8QTePWU/XiYcQVzn9HqTls2NKluVzVSmVWRjK7OUPWbljCXuZxHyhEz9kPRIQeXow==" }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Microsoft.SourceLink.GitHub": { "type": "Direct", "requested": "[1.0.0, )", diff --git a/src/Nest.JsonNetSerializer/packages.lock.json b/src/Nest.JsonNetSerializer/packages.lock.json index 64dee9b36db..fd7f61c28c2 100644 --- a/src/Nest.JsonNetSerializer/packages.lock.json +++ b/src/Nest.JsonNetSerializer/packages.lock.json @@ -110,12 +110,6 @@ "resolved": "4.0.0", "contentHash": "PCgUb5I1DIe0GsBZ2fPXr/tOgph9Gh6yoHcpsFxNmTvyOQFXxyOcjM7wPs8ylakPNdFYBUs9YeF2Wsx6K/nEDQ==" }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Microsoft.SourceLink.GitHub": { "type": "Direct", "requested": "[1.0.0, )", diff --git a/src/Nest/Document/Multiple/BulkAll/BulkAllObservable.cs b/src/Nest/Document/Multiple/BulkAll/BulkAllObservable.cs index 9b12cf58ce3..f1ca39cb6b9 100644 --- a/src/Nest/Document/Multiple/BulkAll/BulkAllObservable.cs +++ b/src/Nest/Document/Multiple/BulkAll/BulkAllObservable.cs @@ -162,24 +162,43 @@ private async Task BulkAsync(IList buffer, long page, int ba var retryableDocuments = new List(); var droppedDocuments = new List>(); + var retryableDocsRemainingAfterRetriesExceeded = false; foreach (var documentWithResponse in response.Items.Zip(buffer, Tuple.Create)) { - if (documentWithResponse.Item1.IsValid) continue; + if (documentWithResponse.Item1.IsValid) + continue; if (_retryPredicate(documentWithResponse.Item1, documentWithResponse.Item2)) - retryableDocuments.Add(documentWithResponse.Item2); + { + if (backOffRetries < _backOffRetries) + { + retryableDocuments.Add(documentWithResponse.Item2); + } + else + { + // We still have retriable documents but have exceeded all retries, so we mark these as + // dropped so they get handled correctly. + retryableDocsRemainingAfterRetriesExceeded = true; + droppedDocuments.Add(documentWithResponse); + } + } else + { droppedDocuments.Add(documentWithResponse); + } } HandleDroppedDocuments(droppedDocuments, response); - if (retryableDocuments.Count > 0 && backOffRetries < _backOffRetries) + if (retryableDocsRemainingAfterRetriesExceeded) + { + throw ThrowOnBadBulk(response, $"Bulk indexing failed and after retrying {backOffRetries} times."); + } + else if (retryableDocuments.Count > 0) + { return await RetryDocuments(page, ++backOffRetries, retryableDocuments).ConfigureAwait(false); - - if (retryableDocuments.Count > 0) - throw ThrowOnBadBulk(response, $"Bulk indexing failed and after retrying {backOffRetries} times"); + } request.BackPressure?.Release(); diff --git a/src/Nest/packages.lock.json b/src/Nest/packages.lock.json index 45360ac9f46..8114e65aa63 100644 --- a/src/Nest/packages.lock.json +++ b/src/Nest/packages.lock.json @@ -98,12 +98,6 @@ "resolved": "4.0.0", "contentHash": "PCgUb5I1DIe0GsBZ2fPXr/tOgph9Gh6yoHcpsFxNmTvyOQFXxyOcjM7wPs8ylakPNdFYBUs9YeF2Wsx6K/nEDQ==" }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Microsoft.SourceLink.GitHub": { "type": "Direct", "requested": "[1.0.0, )", diff --git a/tests/Tests.Benchmarking/packages.lock.json b/tests/Tests.Benchmarking/packages.lock.json index 930eeb381b7..bb794460b57 100644 --- a/tests/Tests.Benchmarking/packages.lock.json +++ b/tests/Tests.Benchmarking/packages.lock.json @@ -40,12 +40,6 @@ "LibGit2Sharp.NativeBinaries": "[1.0.245]" } }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "BenchmarkDotNet.Annotations": { "type": "Transitive", "resolved": "0.12.0", @@ -194,8 +188,8 @@ }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "MsKhJmwIfHxNDbTIlgQy29UpWSWPpbZOQPhQ7xalRy+ABnl8/neFHZGzSP3XlpW2dKAXHTFrtIcKzW/kopY2Bg==" + "resolved": "17.3.2", + "contentHash": "+CeYNY9hYNRgv1wAID5koeDVob1ZOrOYfRRTLxU9Zm5ZMDMkMZ8wzXgakxVv+jtk8tPdE8Ze9vVE+czMKapv/Q==" }, "Microsoft.CSharp": { "type": "Transitive", @@ -219,11 +213,11 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "kYmkDYbcDd+jNvmMH4TMtgHjsUYbIsWENM2VcjB0X7TawXbehL5I8OIsu2TgFS/nQCgZE94InrqMxrm7WDy+Lw==", + "resolved": "17.3.2", + "contentHash": "apR0ha1T8FujBwq1P8i/DOZjbI5XhcP/i8As4NnVztVSpZG8GtWRPCstcmgkUkBpvEfcrrDPlJWbuZY+Hl1hSg==", "dependencies": { - "Microsoft.CodeCoverage": "17.2.0", - "Microsoft.TestPlatform.TestHost": "17.2.0" + "Microsoft.CodeCoverage": "17.3.2", + "Microsoft.TestPlatform.TestHost": "17.3.2" } }, "Microsoft.NETCore.Platforms": { @@ -238,8 +232,8 @@ }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "7j1KYDHLhU98XnCEbECMncXLydI9fNiFLcFsiBsP3lV6EkHOaj5kTPAWHYkKnPGRC9TbZUboSQq8rWI4dTQsxg==", + "resolved": "17.3.2", + "contentHash": "DJEIfSA2GDC+2m42vKGNR2hm+Uhta4SpCsLZVVvYIiYMjxtk7GzNnv82qvE4SCW3kIYllMg2D0rr8juuj/f7AA==", "dependencies": { "NuGet.Frameworks": "5.11.0", "System.Reflection.Metadata": "1.6.0" @@ -247,10 +241,10 @@ }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "bI67J+hers241h7eD2eecS02p9CbKcQDIeoRvO4FgMlTWg2ZTzc0D3uWLYr5U+K5x9O1pNmyMoMDbYIeWY/TWw==", + "resolved": "17.3.2", + "contentHash": "113J19v31pIx+PzmdEw67cWTZWh/YApnprbclFeat6szNbnpKOKG7Ap4PX5LT6E5Da+xONyilxvx2HZPpEaXPQ==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.2.0", + "Microsoft.TestPlatform.ObjectModel": "17.3.2", "Newtonsoft.Json": "9.0.1" } }, @@ -1418,7 +1412,7 @@ "Elastic.Elasticsearch.Xunit": "0.2.6", "FluentAssertions": "5.10.3", "JunitXml.TestLogger": "2.1.78", - "Microsoft.NET.Test.Sdk": "17.2.0", + "Microsoft.NET.Test.Sdk": "17.3.2", "NEST.JsonNetSerializer": "7.0.0", "Nullean.VsTest.Pretty.TestLogger": "0.3.0", "Proc": "0.6.1", diff --git a/tests/Tests.ClusterLauncher/packages.lock.json b/tests/Tests.ClusterLauncher/packages.lock.json index 1b701b7a8ac..82693ece521 100644 --- a/tests/Tests.ClusterLauncher/packages.lock.json +++ b/tests/Tests.ClusterLauncher/packages.lock.json @@ -2,12 +2,6 @@ "version": 1, "dependencies": { ".NETCoreApp,Version=v5.0": { - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Bogus": { "type": "Transitive", "resolved": "22.1.2", @@ -73,8 +67,8 @@ }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "MsKhJmwIfHxNDbTIlgQy29UpWSWPpbZOQPhQ7xalRy+ABnl8/neFHZGzSP3XlpW2dKAXHTFrtIcKzW/kopY2Bg==" + "resolved": "17.3.2", + "contentHash": "+CeYNY9hYNRgv1wAID5koeDVob1ZOrOYfRRTLxU9Zm5ZMDMkMZ8wzXgakxVv+jtk8tPdE8Ze9vVE+czMKapv/Q==" }, "Microsoft.CSharp": { "type": "Transitive", @@ -83,11 +77,11 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "kYmkDYbcDd+jNvmMH4TMtgHjsUYbIsWENM2VcjB0X7TawXbehL5I8OIsu2TgFS/nQCgZE94InrqMxrm7WDy+Lw==", + "resolved": "17.3.2", + "contentHash": "apR0ha1T8FujBwq1P8i/DOZjbI5XhcP/i8As4NnVztVSpZG8GtWRPCstcmgkUkBpvEfcrrDPlJWbuZY+Hl1hSg==", "dependencies": { - "Microsoft.CodeCoverage": "17.2.0", - "Microsoft.TestPlatform.TestHost": "17.2.0" + "Microsoft.CodeCoverage": "17.3.2", + "Microsoft.TestPlatform.TestHost": "17.3.2" } }, "Microsoft.NETCore.Platforms": { @@ -102,8 +96,8 @@ }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "7j1KYDHLhU98XnCEbECMncXLydI9fNiFLcFsiBsP3lV6EkHOaj5kTPAWHYkKnPGRC9TbZUboSQq8rWI4dTQsxg==", + "resolved": "17.3.2", + "contentHash": "DJEIfSA2GDC+2m42vKGNR2hm+Uhta4SpCsLZVVvYIiYMjxtk7GzNnv82qvE4SCW3kIYllMg2D0rr8juuj/f7AA==", "dependencies": { "NuGet.Frameworks": "5.11.0", "System.Reflection.Metadata": "1.6.0" @@ -111,10 +105,10 @@ }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "bI67J+hers241h7eD2eecS02p9CbKcQDIeoRvO4FgMlTWg2ZTzc0D3uWLYr5U+K5x9O1pNmyMoMDbYIeWY/TWw==", + "resolved": "17.3.2", + "contentHash": "113J19v31pIx+PzmdEw67cWTZWh/YApnprbclFeat6szNbnpKOKG7Ap4PX5LT6E5Da+xONyilxvx2HZPpEaXPQ==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.2.0", + "Microsoft.TestPlatform.ObjectModel": "17.3.2", "Newtonsoft.Json": "9.0.1" } }, @@ -897,7 +891,7 @@ "Elastic.Elasticsearch.Xunit": "0.2.6", "FluentAssertions": "5.10.3", "JunitXml.TestLogger": "2.1.78", - "Microsoft.NET.Test.Sdk": "17.2.0", + "Microsoft.NET.Test.Sdk": "17.3.2", "NEST.JsonNetSerializer": "7.0.0", "Nullean.VsTest.Pretty.TestLogger": "0.3.0", "Proc": "0.6.1", diff --git a/tests/Tests.Configuration/packages.lock.json b/tests/Tests.Configuration/packages.lock.json index cad93c75820..9ca52739d60 100644 --- a/tests/Tests.Configuration/packages.lock.json +++ b/tests/Tests.Configuration/packages.lock.json @@ -13,12 +13,6 @@ "System.Net.Http": "4.3.1" } }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "NETStandard.Library": { "type": "Direct", "requested": "[2.0.3, )", diff --git a/tests/Tests.Core/Tests.Core.csproj b/tests/Tests.Core/Tests.Core.csproj index 834e1b93753..97af4acff2e 100644 --- a/tests/Tests.Core/Tests.Core.csproj +++ b/tests/Tests.Core/Tests.Core.csproj @@ -15,7 +15,7 @@ - + diff --git a/tests/Tests.Core/packages.lock.json b/tests/Tests.Core/packages.lock.json index 8e4112f8e92..675f02c22c2 100644 --- a/tests/Tests.Core/packages.lock.json +++ b/tests/Tests.Core/packages.lock.json @@ -38,15 +38,9 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Direct", - "requested": "[17.2.0, )", - "resolved": "17.2.0", - "contentHash": "kYmkDYbcDd+jNvmMH4TMtgHjsUYbIsWENM2VcjB0X7TawXbehL5I8OIsu2TgFS/nQCgZE94InrqMxrm7WDy+Lw==" - }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" + "requested": "[17.3.2, )", + "resolved": "17.3.2", + "contentHash": "apR0ha1T8FujBwq1P8i/DOZjbI5XhcP/i8As4NnVztVSpZG8GtWRPCstcmgkUkBpvEfcrrDPlJWbuZY+Hl1hSg==" }, "NETStandard.Library": { "type": "Direct", diff --git a/tests/Tests.Domain/packages.lock.json b/tests/Tests.Domain/packages.lock.json index c103d6a39cd..43f12985836 100644 --- a/tests/Tests.Domain/packages.lock.json +++ b/tests/Tests.Domain/packages.lock.json @@ -19,12 +19,6 @@ "System.Net.Http": "4.3.1" } }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "NETStandard.Library": { "type": "Direct", "requested": "[2.0.3, )", diff --git a/tests/Tests.Reproduce/packages.lock.json b/tests/Tests.Reproduce/packages.lock.json index 45e89a935f1..e3f46ca3dc6 100644 --- a/tests/Tests.Reproduce/packages.lock.json +++ b/tests/Tests.Reproduce/packages.lock.json @@ -2,12 +2,6 @@ "version": 1, "dependencies": { ".NETCoreApp,Version=v5.0": { - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "System.Reactive": { "type": "Direct", "requested": "[3.1.1, )", @@ -101,8 +95,8 @@ }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "MsKhJmwIfHxNDbTIlgQy29UpWSWPpbZOQPhQ7xalRy+ABnl8/neFHZGzSP3XlpW2dKAXHTFrtIcKzW/kopY2Bg==" + "resolved": "17.3.2", + "contentHash": "+CeYNY9hYNRgv1wAID5koeDVob1ZOrOYfRRTLxU9Zm5ZMDMkMZ8wzXgakxVv+jtk8tPdE8Ze9vVE+czMKapv/Q==" }, "Microsoft.CSharp": { "type": "Transitive", @@ -111,11 +105,11 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "kYmkDYbcDd+jNvmMH4TMtgHjsUYbIsWENM2VcjB0X7TawXbehL5I8OIsu2TgFS/nQCgZE94InrqMxrm7WDy+Lw==", + "resolved": "17.3.2", + "contentHash": "apR0ha1T8FujBwq1P8i/DOZjbI5XhcP/i8As4NnVztVSpZG8GtWRPCstcmgkUkBpvEfcrrDPlJWbuZY+Hl1hSg==", "dependencies": { - "Microsoft.CodeCoverage": "17.2.0", - "Microsoft.TestPlatform.TestHost": "17.2.0" + "Microsoft.CodeCoverage": "17.3.2", + "Microsoft.TestPlatform.TestHost": "17.3.2" } }, "Microsoft.NETCore.Platforms": { @@ -130,8 +124,8 @@ }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "7j1KYDHLhU98XnCEbECMncXLydI9fNiFLcFsiBsP3lV6EkHOaj5kTPAWHYkKnPGRC9TbZUboSQq8rWI4dTQsxg==", + "resolved": "17.3.2", + "contentHash": "DJEIfSA2GDC+2m42vKGNR2hm+Uhta4SpCsLZVVvYIiYMjxtk7GzNnv82qvE4SCW3kIYllMg2D0rr8juuj/f7AA==", "dependencies": { "NuGet.Frameworks": "5.11.0", "System.Reflection.Metadata": "1.6.0" @@ -139,10 +133,10 @@ }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "bI67J+hers241h7eD2eecS02p9CbKcQDIeoRvO4FgMlTWg2ZTzc0D3uWLYr5U+K5x9O1pNmyMoMDbYIeWY/TWw==", + "resolved": "17.3.2", + "contentHash": "113J19v31pIx+PzmdEw67cWTZWh/YApnprbclFeat6szNbnpKOKG7Ap4PX5LT6E5Da+xONyilxvx2HZPpEaXPQ==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.2.0", + "Microsoft.TestPlatform.ObjectModel": "17.3.2", "Newtonsoft.Json": "9.0.1" } }, @@ -1313,7 +1307,7 @@ "Elastic.Elasticsearch.Xunit": "0.2.6", "FluentAssertions": "5.10.3", "JunitXml.TestLogger": "2.1.78", - "Microsoft.NET.Test.Sdk": "17.2.0", + "Microsoft.NET.Test.Sdk": "17.3.2", "NEST.JsonNetSerializer": "7.0.0", "Nullean.VsTest.Pretty.TestLogger": "0.3.0", "Proc": "0.6.1", diff --git a/tests/Tests.ScratchPad/packages.lock.json b/tests/Tests.ScratchPad/packages.lock.json index a2fc819ba78..53fd8c2688d 100644 --- a/tests/Tests.ScratchPad/packages.lock.json +++ b/tests/Tests.ScratchPad/packages.lock.json @@ -25,12 +25,6 @@ "System.ValueTuple": "4.5.0" } }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "System.Diagnostics.DiagnosticSource": { "type": "Direct", "requested": "[5.0.0, )", @@ -177,8 +171,8 @@ }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "MsKhJmwIfHxNDbTIlgQy29UpWSWPpbZOQPhQ7xalRy+ABnl8/neFHZGzSP3XlpW2dKAXHTFrtIcKzW/kopY2Bg==" + "resolved": "17.3.2", + "contentHash": "+CeYNY9hYNRgv1wAID5koeDVob1ZOrOYfRRTLxU9Zm5ZMDMkMZ8wzXgakxVv+jtk8tPdE8Ze9vVE+czMKapv/Q==" }, "Microsoft.CSharp": { "type": "Transitive", @@ -217,11 +211,11 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "kYmkDYbcDd+jNvmMH4TMtgHjsUYbIsWENM2VcjB0X7TawXbehL5I8OIsu2TgFS/nQCgZE94InrqMxrm7WDy+Lw==", + "resolved": "17.3.2", + "contentHash": "apR0ha1T8FujBwq1P8i/DOZjbI5XhcP/i8As4NnVztVSpZG8GtWRPCstcmgkUkBpvEfcrrDPlJWbuZY+Hl1hSg==", "dependencies": { - "Microsoft.CodeCoverage": "17.2.0", - "Microsoft.TestPlatform.TestHost": "17.2.0" + "Microsoft.CodeCoverage": "17.3.2", + "Microsoft.TestPlatform.TestHost": "17.3.2" } }, "Microsoft.NETCore.Platforms": { @@ -236,8 +230,8 @@ }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "7j1KYDHLhU98XnCEbECMncXLydI9fNiFLcFsiBsP3lV6EkHOaj5kTPAWHYkKnPGRC9TbZUboSQq8rWI4dTQsxg==", + "resolved": "17.3.2", + "contentHash": "DJEIfSA2GDC+2m42vKGNR2hm+Uhta4SpCsLZVVvYIiYMjxtk7GzNnv82qvE4SCW3kIYllMg2D0rr8juuj/f7AA==", "dependencies": { "NuGet.Frameworks": "5.11.0", "System.Reflection.Metadata": "1.6.0" @@ -245,10 +239,10 @@ }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "bI67J+hers241h7eD2eecS02p9CbKcQDIeoRvO4FgMlTWg2ZTzc0D3uWLYr5U+K5x9O1pNmyMoMDbYIeWY/TWw==", + "resolved": "17.3.2", + "contentHash": "113J19v31pIx+PzmdEw67cWTZWh/YApnprbclFeat6szNbnpKOKG7Ap4PX5LT6E5Da+xONyilxvx2HZPpEaXPQ==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.2.0", + "Microsoft.TestPlatform.ObjectModel": "17.3.2", "Newtonsoft.Json": "9.0.1" } }, @@ -1424,7 +1418,7 @@ "Elastic.Elasticsearch.Xunit": "0.2.6", "FluentAssertions": "5.10.3", "JunitXml.TestLogger": "2.1.78", - "Microsoft.NET.Test.Sdk": "17.2.0", + "Microsoft.NET.Test.Sdk": "17.3.2", "NEST.JsonNetSerializer": "7.0.0", "Nullean.VsTest.Pretty.TestLogger": "0.3.0", "Proc": "0.6.1", diff --git a/tests/Tests.YamlRunner/packages.lock.json b/tests/Tests.YamlRunner/packages.lock.json index 282004cdfe8..9748cfca887 100644 --- a/tests/Tests.YamlRunner/packages.lock.json +++ b/tests/Tests.YamlRunner/packages.lock.json @@ -27,12 +27,6 @@ "FSharp.Core": "4.3.4" } }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Newtonsoft.Json": { "type": "Direct", "requested": "[13.0.1, )", diff --git a/tests/Tests/Document/Multiple/BulkAll/BulkAllRetryTests.cs b/tests/Tests/Document/Multiple/BulkAll/BulkAllRetryTests.cs new file mode 100644 index 00000000000..9a957c6c325 --- /dev/null +++ b/tests/Tests/Document/Multiple/BulkAll/BulkAllRetryTests.cs @@ -0,0 +1,54 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +using System; +using System.Collections.Generic; +using System.Text; +using Elastic.Elasticsearch.Xunit.XunitPlumbing; +using Elasticsearch.Net; +using FluentAssertions; +using Nest; + +namespace Tests.Document.Multiple.BulkAll +{ + public class BulkAllRetryTests + { + [U] + public void RetriedButFailedDocuments_InvokeDroppedDocumentsCallback() + { + var response = @"{""took"":30,""errors"":true,""items"":[{""index"":{""_index"":""thing"",""_id"":""1"",""status"":429}}]}"; + + var responseBytes = Encoding.UTF8.GetBytes(response); + var connection = new InMemoryConnection(responseBytes, 200); + var connectionPool = new SingleNodeConnectionPool(new Uri("http://localhost:9200")); + var settings = new ConnectionSettings (connectionPool, connection).DefaultIndex("thing"); + var client = new ElasticClient(settings); + + var docs = new Thing[] { new Thing { Id = 100 } }; + var dropped = new List(); + + var bulkAll = client.BulkAll(docs, b => b + .BackOffRetries(2) + .BackOffTime("1ms") + .ContinueAfterDroppedDocuments() + .DroppedDocumentCallback((r, d) => { dropped.Add(d); })); + + try + { + bulkAll.Wait(TimeSpan.FromMinutes(1), r => { }); + } + catch + { + } + + dropped.Should().HaveCount(1); + dropped[0].Id.Should().Be(100); + } + + private class Thing + { + public int Id { get; set; } + } + } +} diff --git a/tests/Tests/packages.lock.json b/tests/Tests/packages.lock.json index da8d0873194..5bf9928fade 100644 --- a/tests/Tests/packages.lock.json +++ b/tests/Tests/packages.lock.json @@ -23,12 +23,6 @@ "resolved": "4.7.0", "contentHash": "6Bf2qzSCaJoP6tTfO+a5muUS7QbyJANqSut73zQvwQ9It5P0ITz9VKseeia2ofco30c55EQ0jA2wf2+A2gpGnw==" }, - "Microsoft.NETFramework.ReferenceAssemblies": { - "type": "Direct", - "requested": "[1.0.3, )", - "resolved": "1.0.3", - "contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==" - }, "Newtonsoft.Json": { "type": "Direct", "requested": "[13.0.1, )", @@ -189,8 +183,8 @@ }, "Microsoft.CodeCoverage": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "MsKhJmwIfHxNDbTIlgQy29UpWSWPpbZOQPhQ7xalRy+ABnl8/neFHZGzSP3XlpW2dKAXHTFrtIcKzW/kopY2Bg==" + "resolved": "17.3.2", + "contentHash": "+CeYNY9hYNRgv1wAID5koeDVob1ZOrOYfRRTLxU9Zm5ZMDMkMZ8wzXgakxVv+jtk8tPdE8Ze9vVE+czMKapv/Q==" }, "Microsoft.CSharp": { "type": "Transitive", @@ -199,11 +193,11 @@ }, "Microsoft.NET.Test.Sdk": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "kYmkDYbcDd+jNvmMH4TMtgHjsUYbIsWENM2VcjB0X7TawXbehL5I8OIsu2TgFS/nQCgZE94InrqMxrm7WDy+Lw==", + "resolved": "17.3.2", + "contentHash": "apR0ha1T8FujBwq1P8i/DOZjbI5XhcP/i8As4NnVztVSpZG8GtWRPCstcmgkUkBpvEfcrrDPlJWbuZY+Hl1hSg==", "dependencies": { - "Microsoft.CodeCoverage": "17.2.0", - "Microsoft.TestPlatform.TestHost": "17.2.0" + "Microsoft.CodeCoverage": "17.3.2", + "Microsoft.TestPlatform.TestHost": "17.3.2" } }, "Microsoft.NETCore.Platforms": { @@ -218,8 +212,8 @@ }, "Microsoft.TestPlatform.ObjectModel": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "7j1KYDHLhU98XnCEbECMncXLydI9fNiFLcFsiBsP3lV6EkHOaj5kTPAWHYkKnPGRC9TbZUboSQq8rWI4dTQsxg==", + "resolved": "17.3.2", + "contentHash": "DJEIfSA2GDC+2m42vKGNR2hm+Uhta4SpCsLZVVvYIiYMjxtk7GzNnv82qvE4SCW3kIYllMg2D0rr8juuj/f7AA==", "dependencies": { "NuGet.Frameworks": "5.11.0", "System.Reflection.Metadata": "1.6.0" @@ -227,10 +221,10 @@ }, "Microsoft.TestPlatform.TestHost": { "type": "Transitive", - "resolved": "17.2.0", - "contentHash": "bI67J+hers241h7eD2eecS02p9CbKcQDIeoRvO4FgMlTWg2ZTzc0D3uWLYr5U+K5x9O1pNmyMoMDbYIeWY/TWw==", + "resolved": "17.3.2", + "contentHash": "113J19v31pIx+PzmdEw67cWTZWh/YApnprbclFeat6szNbnpKOKG7Ap4PX5LT6E5Da+xONyilxvx2HZPpEaXPQ==", "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.2.0", + "Microsoft.TestPlatform.ObjectModel": "17.3.2", "Newtonsoft.Json": "9.0.1" } }, @@ -1361,7 +1355,7 @@ "Elastic.Elasticsearch.Xunit": "0.2.6", "FluentAssertions": "5.10.3", "JunitXml.TestLogger": "2.1.78", - "Microsoft.NET.Test.Sdk": "17.2.0", + "Microsoft.NET.Test.Sdk": "17.3.2", "NEST.JsonNetSerializer": "7.0.0", "Nullean.VsTest.Pretty.TestLogger": "0.3.0", "Proc": "0.6.1",