This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
The following commit(s) were added to refs/heads/main by this push:
new 09485f46 Fix incorrect key range update in sidx part metadata (#891)
09485f46 is described below
commit 09485f461bbb2189d1776b61a0014cb218168102
Author: Gao Hongtao <[email protected]>
AuthorDate: Tue Dec 9 13:39:29 2025 +0800
Fix incorrect key range update in sidx part metadata (#891)
Signed-off-by: Gao Hongtao <[email protected]>
---
CHANGES.md | 1 +
banyand/internal/sidx/part.go | 6 ---
.../trace/data/want/multi_group_sort_duration.yml | 46 +++++++++++-----------
3 files changed, 24 insertions(+), 29 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index 89086bcc..1922e3a0 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -17,6 +17,7 @@ Release Notes.
- Fix the wrong retention setting of each measure/stream/trace.
- Fix server got panic when create/update property with high dist usage.
+- Fix incorrect key range update in sidx part metadata.
### Document
diff --git a/banyand/internal/sidx/part.go b/banyand/internal/sidx/part.go
index 96be5642..98aa364a 100644
--- a/banyand/internal/sidx/part.go
+++ b/banyand/internal/sidx/part.go
@@ -770,12 +770,6 @@ func (mp *memPart) mustInitFromElements(es *elements) {
// Flush the block writer to finalize metadata
bw.Flush(mp.partMetadata)
-
- // Update key range in part metadata
- if len(es.userKeys) > 0 {
- mp.partMetadata.MinKey = es.userKeys[0]
- mp.partMetadata.MaxKey = es.userKeys[len(es.userKeys)-1]
- }
}
// mustFlush flushes the memory part to disk with tag-based file organization.
diff --git a/test/cases/trace/data/want/multi_group_sort_duration.yml
b/test/cases/trace/data/want/multi_group_sort_duration.yml
index 14050fa6..918d3932 100644
--- a/test/cases/trace/data/want/multi_group_sort_duration.yml
+++ b/test/cases/trace/data/want/multi_group_sort_duration.yml
@@ -30,61 +30,61 @@ traces:
value: trace_010
traceId: trace_010
- spans:
- - span: trace_009_span_1
- spanId: span_009_1
+ - span: trace_008_span_1
+ spanId: span_008_1
tags:
- key: duration
value:
int:
- value: "1234"
+ value: "890"
- key: trace_id
value:
str:
- value: trace_009
- - span: trace_009_span_2
- spanId: span_009_2
+ value: trace_008
+ - span: trace_008_span_2
+ spanId: span_008_2
tags:
- key: duration
value:
int:
- value: "500"
+ value: "340"
- key: trace_id
value:
str:
- value: trace_009
- traceId: trace_009
- - spans:
- - span: trace_003_span_1
- spanId: span_003_1
+ value: trace_008
+ - span: trace_008_span_3
+ spanId: span_008_3
tags:
- key: duration
value:
int:
- value: "1200"
+ value: "2100"
- key: trace_id
value:
str:
- value: trace_003
- - span: trace_003_span_2
- spanId: span_003_2
+ value: trace_008
+ traceId: trace_008
+ - spans:
+ - span: trace_009_span_1
+ spanId: span_009_1
tags:
- key: duration
value:
int:
- value: "150"
+ value: "1234"
- key: trace_id
value:
str:
- value: trace_003
- - span: trace_003_span_3
- spanId: span_003_3
+ value: trace_009
+ - span: trace_009_span_2
+ spanId: span_009_2
tags:
- key: duration
value:
int:
- value: "400"
+ value: "500"
- key: trace_id
value:
str:
- value: trace_003
- traceId: trace_003
+ value: trace_009
+ traceId: trace_009