This is an automated email from the ASF dual-hosted git repository. hanahmily pushed a commit to branch bug/trace-cond in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
commit 77298ffa8bfe12c852e9d70216308adf0b8c4f91 Author: Hongtao Gao <[email protected]> AuthorDate: Mon Mar 30 08:21:46 2026 +0000 fix(trace): always return DummyFilter for entity tags in row-level filters Entity tags are handled at the series routing level and are not stored in tag data. They should not be included in row-level filters, regardless of whether we have explicit trace IDs (hasGlobalIndex). This prevents nil pointer dereferences when entity tags are referenced in filter conditions. --- pkg/query/logical/tag_filter.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/query/logical/tag_filter.go b/pkg/query/logical/tag_filter.go index 103e3b90d..c09f64c05 100644 --- a/pkg/query/logical/tag_filter.go +++ b/pkg/query/logical/tag_filter.go @@ -102,7 +102,9 @@ func BuildTagFilter(criteria *modelv1.Criteria, entityDict map[string]int, schem if err != nil { return nil, err } - if _, ok := entityDict[cond.Name]; ok && !hasGlobalIndex { + if _, ok := entityDict[cond.Name]; ok { + // Entity tags are handled at the series routing level and are not stored in tag data. + // They should not be included in row-level filters. return DummyFilter, nil } for _, skippedTagName := range skippedTagNames {
