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

wankai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 0b24362eef Trace model support specify spanId and Trace query support 
internal debugging. (#13533)
0b24362eef is described below

commit 0b24362eef38368324397408dfc172108b912257
Author: Wan Kai <[email protected]>
AuthorDate: Wed Oct 1 22:00:36 2025 +0800

    Trace model support specify spanId and Trace query support internal 
debugging. (#13533)
---
 docs/en/debugging/query-tracing.md                 | 27 +++++++--------------
 oap-server-bom/pom.xml                             |  2 +-
 .../analysis/manual/segment/SegmentRecord.java     |  1 +
 .../spanattach/SWSpanAttachedEventRecord.java      | 12 ++++++++++
 .../manual/spanattach/SpanAttachedEventRecord.java | 12 ++++++++++
 .../server/core/storage/annotation/BanyanDB.java   |  6 +++++
 .../core/storage/model/BanyanDBModelExtension.java | 10 ++++++++
 .../server/core/storage/model/BanyanDBTrace.java   |  4 ++++
 .../server/core/storage/model/StorageModels.java   |  9 +++++++
 .../oap/server/core/zipkin/ZipkinSpanRecord.java   |  1 +
 .../oap/query/debug/DebuggingHTTPHandler.java      | 28 +++++++---------------
 .../storage/plugin/banyandb/MetadataRegistry.java  |  1 +
 .../banyandb/stream/AbstractBanyanDBDAO.java       |  3 +--
 .../plugin/banyandb/stream/BanyanDBRecordDAO.java  |  7 +++++-
 test/e2e-v2/script/env                             |  2 +-
 15 files changed, 82 insertions(+), 43 deletions(-)

diff --git a/docs/en/debugging/query-tracing.md 
b/docs/en/debugging/query-tracing.md
index 966f6e31aa..e4d2689a68 100644
--- a/docs/en/debugging/query-tracing.md
+++ b/docs/en/debugging/query-tracing.md
@@ -189,8 +189,7 @@ childSpans:
   
|--------------------|---------------------------------------------------------------------------|----------|
   | startTime          | The start time of the query                           
                    | Yes      |               
   | endTime            | The end time of the query                             
                    | Yes      |               
-  | step               | The query step                                        
                    | Yes      |  
-  | coldStage          | Only for BanyanDB, the flag to query from cold stage, 
default is false.   | No       | 
+  | step               | The query step                                        
                    | Yes      |
   | service            | The service name                                      
                    | Yes      |               
   | serviceLayer       | The service layer name                                
                    | No       |               
   | serviceInstance    | The service instance name                             
                    | No       |               
@@ -222,13 +221,16 @@ debuggingTrace:
 - URL: HTTP GET `http://{core restHost}:{core 
restPort}/debugging/query/trace/queryTrace?{parameters}`.
 - Parameters
 
-  | Field             | Description         | Required           |
-  |-------------------|---------------------|--------------------|
-  | traceId           | The ID of the trace | Yes                |
+  | Field           | Description                      | Required        |
+  |-----------------|----------------------------------|-----------------|
+  | traceId         | The ID of the trace              | Yes             |
+  | startTime       | The start time of the query      | Yes             |     
          
+  | endTime         | The end time of the query        | Yes             |     
          
+  | step            | The query step                   | Yes             |
 
 - Example
 ```shell
-curl -X GET 
'http://127.0.0.1:12800/debugging/query/trace/queryTrace?traceId=8211a1d1-de0f-4485-8766-c88866a8f034'
+curl -X GET 
'http://127.0.0.1:12800/debugging/query/trace/queryTrace?traceId=8211a1d1-de0f-4485-8766-c88866a8f034&startTime=2025-09-28&endTime=2025-09-28%200915&step=DAY'
 ```
 
 Response will include query result and the debuggingTrace information, the 
debuggingTrace information is the same as the MQE query tracing:
@@ -240,19 +242,6 @@ debuggingTrace:
 ...
 ```
 
-#### Tracing SkyWalking API queryTraceFromColdStage
-Only for BanyanDB, can be used to query the trace in the cold stage.
-
-- URL: HTTP GET `http://{core restHost}:{core 
restPort}/debugging/query/trace/queryTraceFromColdStage?{parameters}`.
-- Parameters
-
-  | Field           | Description                      | Required        |
-  |-----------------|----------------------------------|-----------------|
-  | traceId         | The ID of the trace              | Yes             |
-  | startTime       | The start time of the query      | Yes             |     
          
-  | endTime         | The end time of the query        | Yes             |     
          
-  | step            | The query step                   | Yes             |
-
 ### Tracing Zipkin Trace Query
 
 #### Tracing Zipkin API /api/v2/traces
diff --git a/oap-server-bom/pom.xml b/oap-server-bom/pom.xml
index 60d23986c2..f0a806718b 100644
--- a/oap-server-bom/pom.xml
+++ b/oap-server-bom/pom.xml
@@ -72,7 +72,7 @@
         <httpcore.version>4.4.16</httpcore.version>
         <httpasyncclient.version>4.1.5</httpasyncclient.version>
         <commons-compress.version>1.21</commons-compress.version>
-        <banyandb-java-client.version>0.9.0</banyandb-java-client.version>
+        <banyandb-java-client.version>0.9.1</banyandb-java-client.version>
         <kafka-clients.version>3.4.0</kafka-clients.version>
         <spring-kafka-test.version>2.4.6.RELEASE</spring-kafka-test.version>
         <consul.client.version>1.5.3</consul.client.version>
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java
index 854a3f7445..8d82569eb8 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/segment/SegmentRecord.java
@@ -48,6 +48,7 @@ import static 
org.apache.skywalking.oap.server.core.storage.StorageData.TIME_BUC
 @SQLDatabase.ExtraColumn4AdditionalEntity(additionalTable = 
SegmentRecord.ADDITIONAL_TAG_TABLE, parentColumn = TIME_BUCKET)
 @BanyanDB.TimestampColumn(SegmentRecord.START_TIME)
 @BanyanDB.Trace.TraceIdColumn(SegmentRecord.TRACE_ID)
[email protected](SegmentRecord.SEGMENT_ID)
 @BanyanDB.Trace.IndexRule(name = SegmentRecord.START_TIME, columns = {
         SegmentRecord.SERVICE_ID,
         SegmentRecord.IS_ERROR,
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SWSpanAttachedEventRecord.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SWSpanAttachedEventRecord.java
index b10e6b1dc6..80f5223ac6 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SWSpanAttachedEventRecord.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SWSpanAttachedEventRecord.java
@@ -23,6 +23,7 @@ import lombok.Getter;
 import lombok.Setter;
 import org.apache.skywalking.oap.server.core.analysis.Stream;
 import 
org.apache.skywalking.oap.server.core.analysis.manual.segment.SegmentRecord;
+import org.apache.skywalking.oap.server.core.storage.StorageData;
 import org.apache.skywalking.oap.server.core.storage.model.BanyanDBTrace;
 import org.apache.skywalking.oap.server.core.analysis.record.Record;
 import 
org.apache.skywalking.oap.server.core.analysis.worker.RecordStreamProcessor;
@@ -45,6 +46,7 @@ import static 
org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.SW
 @Stream(name = SWSpanAttachedEventRecord.INDEX_NAME, scopeId = 
SW_SPAN_ATTACHED_EVENT, builder = SWSpanAttachedEventRecord.Builder.class, 
processor = RecordStreamProcessor.class)
 @BanyanDB.TimestampColumn(SWSpanAttachedEventRecord.TIMESTAMP)
 @BanyanDB.Trace.TraceIdColumn(SWSpanAttachedEventRecord.RELATED_TRACE_ID)
[email protected](StorageData.ID)
 @BanyanDB.Group(traceGroup = BanyanDB.TraceGroup.TRACE)
 public class SWSpanAttachedEventRecord extends Record implements 
BanyanDBTrace, BanyanDBTrace.MergeTable {
 
@@ -133,6 +135,16 @@ public class SWSpanAttachedEventRecord extends Record 
implements BanyanDBTrace,
         return timestamp;
     }
 
+    @Override
+    public String getMergeSpanIdColumnName() {
+        return SegmentRecord.SEGMENT_ID;
+    }
+
+    @Override
+    public String getSpanIdColumnValue() {
+        return id().build();
+    }
+
     public static class Builder implements 
StorageBuilder<SWSpanAttachedEventRecord> {
         @Override
         public SWSpanAttachedEventRecord storage2Entity(Convert2Entity 
converter) {
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
index 9a34456707..feb901714f 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/manual/spanattach/SpanAttachedEventRecord.java
@@ -25,6 +25,7 @@ import org.apache.skywalking.oap.server.core.analysis.Stream;
 import org.apache.skywalking.oap.server.core.analysis.record.Record;
 import 
org.apache.skywalking.oap.server.core.analysis.worker.RecordStreamProcessor;
 import org.apache.skywalking.oap.server.core.source.ScopeDeclaration;
+import org.apache.skywalking.oap.server.core.storage.StorageData;
 import org.apache.skywalking.oap.server.core.storage.StorageID;
 import org.apache.skywalking.oap.server.core.storage.annotation.BanyanDB;
 import org.apache.skywalking.oap.server.core.storage.annotation.Column;
@@ -45,6 +46,7 @@ import static 
org.apache.skywalking.oap.server.core.source.DefaultScopeDefine.SP
 @Stream(name = SpanAttachedEventRecord.INDEX_NAME, scopeId = 
SPAN_ATTACHED_EVENT, builder = SpanAttachedEventRecord.Builder.class, processor 
= RecordStreamProcessor.class)
 @BanyanDB.TimestampColumn(SpanAttachedEventRecord.TIMESTAMP)
 @BanyanDB.Trace.TraceIdColumn(SpanAttachedEventRecord.RELATED_TRACE_ID)
[email protected](StorageData.ID)
 @BanyanDB.Group(traceGroup = BanyanDB.TraceGroup.ZIPKIN_TRACE)
 public class SpanAttachedEventRecord extends Record implements BanyanDBTrace, 
BanyanDBTrace.MergeTable {
 
@@ -131,6 +133,16 @@ public class SpanAttachedEventRecord extends Record 
implements BanyanDBTrace, Ba
         return timestamp;
     }
 
+    @Override
+    public String getMergeSpanIdColumnName() {
+        return ZipkinSpanRecord.SPAN_ID;
+    }
+
+    @Override
+    public String getSpanIdColumnValue() {
+        return id().build();
+    }
+
     public static class Builder implements 
StorageBuilder<SpanAttachedEventRecord> {
         @Override
         public SpanAttachedEventRecord storage2Entity(Convert2Entity 
converter) {
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java
index e14980e545..d256c40e91 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/annotation/BanyanDB.java
@@ -170,6 +170,12 @@ public @interface BanyanDB {
             String value();
         }
 
+        @Target({ElementType.TYPE})
+        @Retention(RetentionPolicy.RUNTIME)
+        @interface SpanIdColumn {
+            String value();
+        }
+
         /**
          * IndexRule is used to define a composite index in BanyanDB.
          * Notice, the order of columns is significant, the columns in front 
have a higher priority
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBModelExtension.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBModelExtension.java
index 46c457edcf..7a2d2ef8ad 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBModelExtension.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBModelExtension.java
@@ -50,6 +50,16 @@ public class BanyanDBModelExtension {
     @Setter
     private String traceIdColumn;
 
+
+    /**
+     * spanIdColumn is to identify which column in the Trace model is used as 
the span ID.
+     *
+     * @since 10.3.0
+     */
+    @Getter
+    @Setter
+    private String spanIdColumn;
+
     /**
      * traceIndexRules is to identify which columns in the Trace model are 
used as the indexRule.
      * BanyanDB Trace model requires at least one traceIndexRules.
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBTrace.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBTrace.java
index 336f0b9125..657ff1574c 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBTrace.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/BanyanDBTrace.java
@@ -34,5 +34,9 @@ public interface BanyanDBTrace {
         String getMergeTimestampColumnName();
 
         long getTimestampColumnValue();
+
+        String getMergeSpanIdColumnName();
+
+        String getSpanIdColumnValue();
     }
 }
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java
index 7e7e38a157..a5f1d2c722 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/StorageModels.java
@@ -114,6 +114,15 @@ public class StorageModels implements IModelManager, 
ModelCreator, ModelManipula
             banyanDBModelExtension.setTraceIdColumn(traceIdColumn);
         }
 
+        if (aClass.isAnnotationPresent(BanyanDB.Trace.SpanIdColumn.class)) {
+            String spanIdColumn = 
aClass.getAnnotation(BanyanDB.Trace.SpanIdColumn.class).value();
+            if (StringUtil.isBlank(spanIdColumn)) {
+                throw new IllegalStateException(
+                    "Model[trace." + storage.getModelName() + "] missing 
defined @BanyanDB.SpanIdColumn");
+            }
+            banyanDBModelExtension.setSpanIdColumn(spanIdColumn);
+        }
+
         // Add index rules for BanyanDB trace model
         if (aClass.isAnnotationPresent(BanyanDB.Trace.TraceIdColumn.class) ||
             aClass.isAnnotationPresent(BanyanDB.Trace.IndexRule.List.class)) {
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java
index 152db0cbb3..9e2af0cbbf 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/zipkin/ZipkinSpanRecord.java
@@ -56,6 +56,7 @@ import static 
org.apache.skywalking.oap.server.core.storage.StorageData.TIME_BUC
 @SQLDatabase.ExtraColumn4AdditionalEntity(additionalTable = 
ZipkinSpanRecord.ADDITIONAL_QUERY_TABLE, parentColumn = TIME_BUCKET)
 @BanyanDB.TimestampColumn(ZipkinSpanRecord.TIMESTAMP_MILLIS)
 @BanyanDB.Trace.TraceIdColumn(ZipkinSpanRecord.TRACE_ID)
[email protected](ZipkinSpanRecord.SPAN_ID)
 @BanyanDB.Trace.IndexRule(name = ZipkinSpanRecord.TIMESTAMP_MILLIS, columns = {
     ZipkinSpanRecord.LOCAL_ENDPOINT_SERVICE_NAME,
 }, orderByColumn = ZipkinSpanRecord.TIMESTAMP_MILLIS)
diff --git 
a/oap-server/server-query-plugin/status-query-plugin/src/main/java/org/apache/skywalking/oap/query/debug/DebuggingHTTPHandler.java
 
b/oap-server/server-query-plugin/status-query-plugin/src/main/java/org/apache/skywalking/oap/query/debug/DebuggingHTTPHandler.java
index b8cdc0f844..5c78e0e4a9 100644
--- 
a/oap-server/server-query-plugin/status-query-plugin/src/main/java/org/apache/skywalking/oap/query/debug/DebuggingHTTPHandler.java
+++ 
b/oap-server/server-query-plugin/status-query-plugin/src/main/java/org/apache/skywalking/oap/query/debug/DebuggingHTTPHandler.java
@@ -183,7 +183,6 @@ public class DebuggingHTTPHandler {
                                    @Param("startTime") String startTime,
                                    @Param("endTime") String endTime,
                                    @Param("step") String step,
-                                   @Param("coldStage") Optional<Boolean> 
coldStage,
                                    @Param("minTraceDuration") 
Optional<Integer> minDuration,
                                    @Param("maxTraceDuration") 
Optional<Integer> maxDuration,
                                    @Param("traceState") String traceState,
@@ -203,7 +202,6 @@ public class DebuggingHTTPHandler {
         duration.setStart(startTime);
         duration.setEnd(endTime);
         duration.setStep(Step.valueOf(step));
-        coldStage.ifPresent(duration::setColdStage);
         Pagination pagination = new Pagination();
         pagination.setPageNum(pageNum);
         pagination.setPageSize(pageSize);
@@ -236,30 +234,22 @@ public class DebuggingHTTPHandler {
         return transToYAMLString(result);
     }
 
-    @SneakyThrows
-    @Get("/debugging/query/trace/queryTrace")
-    public String queryTrace(@Param("traceId") String traceId) {
-        Trace trace = traceQuery.queryTrace(traceId, null, true).join();
-        DebuggingQueryTraceRsp result = new DebuggingQueryTraceRsp(
-            trace.getSpans(), transformTrace(trace.getDebuggingTrace()));
-        return transToYAMLString(result);
-    }
-
     /**
-     * Only for BanyanDB, can be used to query the trace in the cold stage.
+     * Only BanyanDB can query the trace in the cold stage.
      */
     @SneakyThrows
-    @Get("/debugging/query/trace/queryTraceFromColdStage")
-    public String queryTraceFromColdStage(@Param("traceId") String traceId,
-                                          @Param("startTime") String startTime,
-                                          @Param("endTime") String endTime,
-                                          @Param("step") String step) {
+    @Get("/debugging/query/trace/queryTrace")
+    public String queryTrace(@Param("traceId") String traceId,
+                             @Param("startTime") String startTime,
+                             @Param("endTime") String endTime,
+                             @Param("step") String step,
+                             @Param("coldStage") Optional<Boolean> coldStage) {
         Duration duration = new Duration();
         duration.setStart(startTime);
         duration.setEnd(endTime);
         duration.setStep(Step.valueOf(step));
-        duration.setColdStage(true);
-        Trace trace = traceQuery.queryTraceFromColdStage(traceId, duration, 
true).join();
+        coldStage.ifPresent(duration::setColdStage);
+        Trace trace = traceQuery.queryTrace(traceId, duration, true).join();
         DebuggingQueryTraceRsp result = new DebuggingQueryTraceRsp(
             trace.getSpans(), transformTrace(trace.getDebuggingTrace()));
         return transToYAMLString(result);
diff --git 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
index 9ee4e52b2f..813a4eb0c4 100644
--- 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
+++ 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/MetadataRegistry.java
@@ -229,6 +229,7 @@ public enum MetadataRegistry {
                                                    
.setName(schemaMetadata.name()));
         
builder.setTraceIdTagName(model.getBanyanDBModelExtension().getTraceIdColumn());
         builder.setTimestampTagName(timestampColumn);
+        
builder.setSpanIdTagName(model.getBanyanDBModelExtension().getSpanIdColumn());
         for (final ModelColumn col : model.getColumns()) {
             final String columnStorageName = 
col.getColumnName().getStorageName();
             // skip no index column, since they are not supposed to be queried
diff --git 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java
 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java
index da7f11cf78..c5a23b35e2 100644
--- 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java
+++ 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/AbstractBanyanDBDAO.java
@@ -324,8 +324,7 @@ public abstract class AbstractBanyanDBDAO extends 
AbstractDAO<BanyanDBStorageCli
                 builder.append("\n").append(" Response: ").append(new 
Gson().toJson(response.getTraces()));
                 span.setMsg(builder.toString());
             }
-            //todo: need update banyandb java client.
-           // addDBTrace2DebuggingTrace(response.getTraceResult(), 
traceContext, span);
+            addDBTrace2DebuggingTrace(response.getTraceResult(), traceContext, 
span);
             return response;
         } finally {
             if (traceContext != null && span != null) {
diff --git 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java
 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java
index 13e16988e6..94a16ec420 100644
--- 
a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java
+++ 
b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/stream/BanyanDBRecordDAO.java
@@ -76,7 +76,12 @@ public class BanyanDBRecordDAO extends AbstractBanyanDBDAO 
implements IRecordDAO
                                     tag,
                                     
TagAndValue.timestampTagValue(mergeTable.getTimestampColumnValue())
                                 );
-                            } else {
+                            } else if 
(tag.equals(mergeTable.getMergeSpanIdColumnName())) {
+                                traceWrite.tag(
+                                    tag,
+                                    
TagAndValue.stringTagValue(mergeTable.getSpanIdColumnValue())
+                                );
+                            } else  {
                                 traceWrite.tag(tag, 
TagAndValue.nullTagValue());
                             }
                         }
diff --git a/test/e2e-v2/script/env b/test/e2e-v2/script/env
index a24200eadf..aa5a216c84 100644
--- a/test/e2e-v2/script/env
+++ b/test/e2e-v2/script/env
@@ -23,7 +23,7 @@ 
SW_AGENT_CLIENT_JS_COMMIT=af0565a67d382b683c1dbd94c379b7080db61449
 SW_AGENT_CLIENT_JS_TEST_COMMIT=4f1eb1dcdbde3ec4a38534bf01dded4ab5d2f016
 SW_KUBERNETES_COMMIT_SHA=6fe5e6f0d3b7686c6be0457733e825ee68cb9b35
 SW_ROVER_COMMIT=79292fe07f17f98f486e0c4471213e1961fb2d1d
-SW_BANYANDB_COMMIT=a3fc5bc16e8c9c3385beb41dcef8b988314ff58d
+SW_BANYANDB_COMMIT=f23caf08871b963bbb07b44141457660ff487568
 SW_AGENT_PHP_COMMIT=d1114e7be5d89881eec76e5b56e69ff844691e35
 SW_PREDICTOR_COMMIT=54a0197654a3781a6f73ce35146c712af297c994
 

Reply via email to