This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 3.6.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit d2bff049b8264334f799f5c7d074850bfc8abf38
Author: Andriy Redko <[email protected]>
AuthorDate: Sun Jun 1 10:26:57 2025 -0400

    Revert "CXF-9142 Change async tracing tests to be order-agnostic (#2427)"
    
    This reverts commit c57a4b69f44311b2aae75310db01d1ef5732afc7.
    
    (cherry picked from commit 4a540e5e1afeab52a35a02c75979d47d850829a1)
    
    # Conflicts:
    #       
systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentelemetry/OpenTelemetryTracingTest.java
    #       
systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentracing/OpenTracingTracingTest.java
    (cherry picked from commit 2645927fbfd1e765d4a7cd9eb5a29cdbd73eee48)
---
 .../opentelemetry/OpenTelemetryTracingTest.java    | 32 ++++++++++++++++------
 .../opentracing/OpenTracingTracingTest.java        | 31 +++++++++++++++------
 2 files changed, 46 insertions(+), 17 deletions(-)

diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentelemetry/OpenTelemetryTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentelemetry/OpenTelemetryTracingTest.java
index 8fadbbed70..7115179ee3 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentelemetry/OpenTelemetryTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentelemetry/OpenTelemetryTracingTest.java
@@ -20,8 +20,11 @@ package org.apache.cxf.systest.jaxrs.tracing.opentelemetry;
 
 import java.net.MalformedURLException;
 import java.time.Duration;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
@@ -257,12 +260,13 @@ public class OpenTelemetryTracingTest extends 
AbstractClientServerTestBase {
 
             await().atMost(Duration.ofSeconds(1L)).until(() -> 
otelRule.getSpans().size() == 2);
 
-            assertThat(otelRule.getSpans().size(), equalTo(2));
-            assertEquals("Processing books", 
otelRule.getSpans().get(0).getName());
-            assertEquals("GET /bookstore/books/async", 
otelRule.getSpans().get(1).getName());
-            
assertThat(otelRule.getSpans().get(1).getParentSpanContext().isValid(), 
equalTo(true));
-            assertThat(otelRule.getSpans().get(1).getParentSpanId(),
-                       equalTo(Span.current().getSpanContext().getSpanId()));
+            final List<SpanData> spans = getSpansSorted();
+            assertThat(spans.size(), equalTo(2));
+
+            assertEquals("Processing books", spans.get(0).getName());
+            assertEquals("GET /bookstore/books/async", spans.get(1).getName());
+            assertThat(spans.get(1).getParentSpanContext().isValid(), 
equalTo(true));
+            assertThat(spans.get(1).getParentSpanId(), 
equalTo(Span.current().getSpanContext().getSpanId()));
         }
     }
 
@@ -286,9 +290,10 @@ public class OpenTelemetryTracingTest extends 
AbstractClientServerTestBase {
 
         await().atMost(Duration.ofSeconds(1L)).until(() -> 
otelRule.getSpans().size() == 2);
 
-        assertThat(otelRule.getSpans().size(), equalTo(2));
-        assertThat(otelRule.getSpans().get(0).getName(), equalTo("Processing 
books"));
-        assertThat(otelRule.getSpans().get(1).getName(), equalTo("GET 
/bookstore/books/async"));
+        final List<SpanData> spans = getSpansSorted();
+        assertThat(spans.size(), equalTo(2));
+        assertThat(spans.get(0).getName(), equalTo("Processing books"));
+        assertThat(spans.get(1).getName(), equalTo("GET 
/bookstore/books/async"));
     }
 
     @Test
@@ -528,6 +533,15 @@ public class OpenTelemetryTracingTest extends 
AbstractClientServerTestBase {
         }
     }
 
+    private List<SpanData> getSpansSorted() {
+        final List<SpanData> spans = new ArrayList<>(otelRule.getSpans());
+        spans.sort(Comparator
+            .comparingLong(SpanData::getStartEpochNanos)
+            .thenComparingLong(SpanData::getEndEpochNanos)
+            .reversed());
+        return spans;
+    }
+
     public static class OpenTelemetryServer extends AbstractTestServerBase {
 
         private org.apache.cxf.endpoint.Server server;
diff --git 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentracing/OpenTracingTracingTest.java
 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentracing/OpenTracingTracingTest.java
index 98523d373a..aaf203c77c 100644
--- 
a/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentracing/OpenTracingTracingTest.java
+++ 
b/systests/tracing/src/test/java/org/apache/cxf/systest/jaxrs/tracing/opentracing/OpenTracingTracingTest.java
@@ -20,9 +20,12 @@ package org.apache.cxf.systest.jaxrs.tracing.opentracing;
 
 import java.net.MalformedURLException;
 import java.time.Duration;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map.Entry;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
@@ -51,6 +54,7 @@ import 
org.apache.cxf.tracing.opentracing.jaxrs.OpenTracingClientProvider;
 import org.apache.cxf.tracing.opentracing.jaxrs.OpenTracingFeature;
 import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
 
+import io.jaegertracing.internal.JaegerSpan;
 import io.jaegertracing.internal.JaegerSpanContext;
 import io.jaegertracing.internal.JaegerTracer;
 import io.jaegertracing.internal.reporters.InMemoryReporter;
@@ -199,11 +203,12 @@ public class OpenTracingTracingTest extends 
AbstractClientServerTestBase {
 
         await().atMost(Duration.ofSeconds(1L)).until(()-> 
REPORTER.getSpans().size() == 2);
 
-        assertThat(REPORTER.getSpans().size(), equalTo(2));
-        assertEquals("Processing books", 
REPORTER.getSpans().get(0).getOperationName());
-        assertEquals("GET /bookstore/books/async", 
REPORTER.getSpans().get(1).getOperationName());
-        assertThat(REPORTER.getSpans().get(1).getReferences(), not(empty()));
-        
assertThat(REPORTER.getSpans().get(1).getReferences().get(0).getSpanContext().getSpanId(),
+        final List<JaegerSpan> spans = getSpansSorted();
+        assertThat(spans.size(), equalTo(2));
+        assertEquals("Processing books", spans.get(0).getOperationName());
+        assertEquals("GET /bookstore/books/async", 
spans.get(1).getOperationName());
+        assertThat(spans.get(1).getReferences(), not(empty()));
+        
assertThat(spans.get(1).getReferences().get(0).getSpanContext().getSpanId(),
             equalTo(spanId.getSpanId()));
     }
 
@@ -225,9 +230,10 @@ public class OpenTracingTracingTest extends 
AbstractClientServerTestBase {
 
         await().atMost(Duration.ofSeconds(1L)).until(()-> 
REPORTER.getSpans().size() == 2);
 
-        assertThat(REPORTER.getSpans().size(), equalTo(2));
-        assertThat(REPORTER.getSpans().get(0).getOperationName(), 
equalTo("Processing books"));
-        assertThat(REPORTER.getSpans().get(1).getOperationName(), equalTo("GET 
/bookstore/books/async"));
+        final List<JaegerSpan> spans = getSpansSorted();
+        assertThat(spans.size(), equalTo(2));
+        assertThat(spans.get(0).getOperationName(), equalTo("Processing 
books"));
+        assertThat(spans.get(1).getOperationName(), equalTo("GET 
/bookstore/books/async"));
     }
 
     @Test
@@ -461,4 +467,13 @@ public class OpenTracingTracingTest extends 
AbstractClientServerTestBase {
             RANDOM.getAndIncrement() /* traceId lo */, 
RANDOM.getAndIncrement() /* spanId */,
             RANDOM.getAndIncrement() /* parentId */, (byte) 1 /* sampled */);
     }
+
+    private List<JaegerSpan> getSpansSorted() {
+        final List<JaegerSpan> spans = new ArrayList<>(REPORTER.getSpans());
+        spans.sort(Comparator
+            .comparingLong(JaegerSpan::getStart)
+            .thenComparing((s1, s2) -> Long.compare(s1.getStart() + 
s1.getDuration(), s2.getStart() + s2.getDuration()))
+            .reversed());
+        return spans;
+    }
 }

Reply via email to