opensearch-project / opensearch-net

OpenSearch .NET Client
Apache License 2.0
96 stars 46 forks source link

[BUG] GitHubIssue5363 randomly causes other tests to fail when run in parallel #657

Open Xtansia opened 1 month ago

Xtansia commented 1 month ago

What is the bug?

When the GitHubIssue5363 test runs in parallel with other tests, its diagnostic listener may cause null pointer exceptions which give the false impression that other tests are flaky.

     OpenSearch.Net.UnexpectedOpenSearchClientException : Object reference not set to an instance of an object.
  ---- System.NullReferenceException : Object reference not set to an instance of an object.
    Stack Trace:
       at OpenSearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Net/Transport/Transport.cs:line 115
     at OpenSearch.Net.OpenSearchLowLevelClient.DoRequest[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Net/OpenSearchLowLevelClient.cs:line 97
     at OpenSearch.Client.OpenSearchClient.DoRequest[TRequest,TResponse](TRequest request, IRequestParameters parameters, Func`2 bodySelector, Action`1 forceConfiguration) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Client/OpenSearchClient.cs:line 193
     at OpenSearch.Client.OpenSearchClient.DoRequest[TRequest,TResponse](TRequest request, IRequestParameters parameters, Action`1 forceConfiguration) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Client/OpenSearchClient.cs:line 171
     at OpenSearch.Client.NamespacedClientProxy.DoRequest[TRequest,TResponse](TRequest request, IRequestParameters parameters, Action`1 forceConfiguration) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Client/OpenSearchClient.cs:line 50
     at OpenSearch.Client.Specification.IndicesApi.IndicesNamespace.Get(IGetIndexRequest request) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Client/OpenSearchClient.Indices.cs:line 1254
     at OpenSearch.Client.Specification.IndicesApi.IndicesNamespace.Get(Indices index, Func`2 selector) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Client/OpenSearchClient.Indices.cs:line 1242
     at Tests.Reproduce.GitHubIssue5432.DeserializesAnalyzers() in /home/runner/work/opensearch-net/opensearch-net/tests/Tests.Reproduce/GitHubIssue5432.cs:line 94
  ----- Inner Stack Trace -----
     at Tests.Reproduce.GitHubIssue5363.<>c.<DiagnosticListener_AuditTrailIsValid>b__1_0(IApiCallDetails data) in /home/runner/work/opensearch-net/opensearch-net/tests/Tests.Reproduce/GitHubIssue5363.cs:line 81
     at Tests.Reproduce.GitHubIssue5363.TestDiagnosticListener.<OnNext>b__9_1(KeyValuePair`2 v) in /home/runner/work/opensearch-net/opensearch-net/tests/Tests.Reproduce/GitHubIssue5363.cs:line 56
     at OpenSearch.Net.Diagnostics.TypedDiagnosticObserverBase`2.System.IObserver<System.Collections.Generic.KeyValuePair<System.String,System.Object>>.OnNext(KeyValuePair`2 value) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Net/Diagnostics/TypedDiagnosticObserverBase.cs:line 93
     at System.Diagnostics.DiagnosticListener.Write(String name, Object value)
     at System.Diagnostics.DiagnosticSource.StopActivity(Activity activity, Object args)
     at System.Diagnostics.DiagnosticSource.StopActivity[T](Activity activity, T args)
     at OpenSearch.Net.Diagnostics.Diagnostic`2.Dispose() in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Net/Diagnostics/Diagnostic.cs:line 76
     at OpenSearch.Net.RequestPipeline.Ping(Node node) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Net/Transport/Pipeline/RequestPipeline.cs:line 420
     at OpenSearch.Net.Transport`1.Ping(IRequestPipeline pipeline, Node node) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Net/Transport/Transport.cs:line 248
     at OpenSearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters) in /home/runner/work/opensearch-net/opensearch-net/src/OpenSearch.Net/Transport/Transport.cs:line 96