@Test protected void getTraces_considersBitsAbove64bit(TestInfo testInfo) throws Exception {
    String testSuffix = testSuffix(testInfo);
    String traceId = newTraceId();
    Endpoint frontend = suffixServiceName(TestObjects.FRONTEND, testSuffix);

    // 64-bit trace ID
    Span span1 = Span.newBuilder().traceId(traceId.substring(16)).id("1")
      .putTag("foo", "1")
      .timestamp(TODAY * 1000L)
      .localEndpoint(frontend)
      .build();
    // 128-bit trace ID prefixed by above
    Span span2 = span1.toBuilder().traceId(traceId).putTag("foo", "2").build();
    // Different 128-bit trace ID prefixed by above
    Span span3 = span1.toBuilder().traceId("1" + span1.traceId()).putTag("foo", "3").build();

    accept(span1, span2, span3);

    for (Span span : List.of(span1, span2, span3)) {
      assertGetTracesReturns(
        requestBuilder().serviceName(frontend.serviceName())
          .parseAnnotationQuery("foo=" + span.tags().get("foo"))
          .build(),
        List.of(span));
    }
  }
This is unlikely and means instrumentation sends empty spans by mistake.
zipkin-tests/src/main/java/zipkin2/storage/ITSpanStore.java