This is an automated email from the ASF dual-hosted git repository.
liuhan pushed a change to branch skywalking-banyandb-ql-protocol
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git
from ae97fd88 fix issue
add 53f45717 Implement cluster mode for trace (#767)
add 89ab6274 update trace e2e (#779)
add deca211a Fix the property repair test failure (#780)
add 51399612 Fix the sorting timestamps issue of the measure model (#781)
add a6b25a7e Update Go version to 1.25 and upgrade dependencies (#783)
add 16561def Refactor readData method in block.go (#782)
add 72adc727 Optimize buffer resizing in tagFamilyFilter unmarshal method
to prevent unnecessary memory allocations. (#785)
add c43573c5 Fix the OOM when Merging Trace (#787)
add c3d77adc fix(trace): prevent tagType corruption in partMergeIter (#789)
add 6f59cce3 Add Having method for bloom filter (#786)
add 090de57b Update timeout configurations for liaison services to 1
minute (#790)
add 8e8f0fab Add TraceIDFormat constants and update trace handling logic
(#791)
add 3ca7408c Refactor mergeBlocks function to simplify block handling
(#792)
add ec127ed6 Fix the bug that sidx doesn't support array value tags (#793)
add 071c0ccd Fix syncSnapshot for trace (#788)
add a1156e17 Compressing the Spans of Trace (#795)
add a3fc5bc1 Fix the bug of node selector in newLiaisonCmd (#798)
add 893543d5 Merge branch 'main' into skywalking-banyandb-ql-protocol
No new revisions were added by this update.
Summary of changes:
.golangci.yml | 11 +-
CHANGES.md | 3 +-
Makefile | 1 -
api/data/data.go | 20 +
api/data/stream.go | 6 +-
api/data/trace.go | 9 +
api/proto/banyandb/cluster/v1/rpc.proto | 3 +
api/proto/banyandb/trace/v1/query.proto | 18 +
.../lifecycle/segment_boundary_utils_test.go | 2 +-
banyand/dquery/dquery.go | 18 +-
banyand/dquery/{stream.go => trace.go} | 112 ++-
banyand/internal/encoding/tag_encoder.go | 27 +
banyand/internal/encoding/tag_encoder_test.go | 46 ++
banyand/internal/sidx/TODO.md | 301 -------
banyand/internal/sidx/block.go | 55 +-
banyand/internal/sidx/block_reader_test.go | 8 +-
banyand/internal/sidx/block_scanner_test.go | 4 +-
banyand/internal/sidx/block_test.go | 48 +-
banyand/internal/sidx/block_writer.go | 48 +-
banyand/internal/sidx/element.go | 42 +-
banyand/internal/sidx/interfaces.go | 112 +--
banyand/internal/sidx/introducer.go | 63 +-
banyand/internal/sidx/introducer_test.go | 6 +-
banyand/internal/sidx/iter_test.go | 32 +-
banyand/internal/sidx/merge.go | 54 +-
banyand/internal/sidx/merge_test.go | 6 +-
banyand/internal/sidx/metadata.go | 17 +-
banyand/internal/sidx/metadata_test.go | 5 +-
banyand/internal/sidx/multi_sidx_query_test.go | 22 +-
banyand/internal/sidx/part.go | 178 +++--
banyand/internal/sidx/part_iter.go | 3 -
banyand/internal/sidx/part_iter_test.go | 36 +-
banyand/internal/sidx/part_test.go | 8 +-
banyand/internal/sidx/part_wrapper.go | 22 +-
banyand/internal/sidx/part_wrapper_test.go | 2 +-
banyand/internal/sidx/query_result.go | 12 +-
banyand/internal/sidx/sidx.go | 54 +-
banyand/internal/sidx/sidx_test.go | 78 +-
banyand/internal/sidx/snapshot.go | 29 +-
banyand/internal/sidx/snapshot_test.go | 10 +-
banyand/internal/sidx/sync.go | 159 ++++
banyand/internal/sidx/tag.go | 26 -
banyand/internal/sidx/tag_filter_op.go | 35 +
banyand/internal/sidx/tag_filter_op_test.go | 326 ++++++++
banyand/internal/sidx/tag_test.go | 6 +-
banyand/internal/storage/segment.go | 4 +-
banyand/liaison/grpc/server.go | 10 +-
banyand/liaison/grpc/trace.go | 14 +-
banyand/measure/flusher.go | 85 +-
banyand/measure/metadata.go | 108 ++-
banyand/measure/part.go | 1 +
banyand/measure/query.go | 217 +++++-
banyand/measure/query_test.go | 340 ++++++++
banyand/measure/svc_standalone.go | 5 +-
banyand/measure/syncer.go | 5 +-
banyand/measure/topn.go | 4 +
banyand/measure/tstable.go | 8 +
banyand/measure/write_liaison.go | 2 +-
banyand/query/processor.go | 10 +-
banyand/query/query.go | 12 +-
banyand/queue/pub/chunked_sync.go | 3 +
banyand/queue/queue.go | 6 +
banyand/queue/sub/chunked_sync.go | 33 +-
banyand/queue/test/chunked_sync_common.go | 4 +
banyand/stream/flusher.go | 85 +-
banyand/stream/part.go | 2 +
banyand/stream/svc_standalone.go | 2 +-
banyand/stream/syncer.go | 4 +
banyand/stream/tag_filter.go | 28 +-
banyand/stream/tag_filter_test.go | 309 ++++++++
banyand/stream/tstable.go | 8 +
banyand/stream/write_liaison.go | 2 +-
banyand/trace/block.go | 44 +-
banyand/trace/block_metadata.go | 33 +-
banyand/trace/block_metadata_test.go | 12 +-
banyand/trace/block_reader.go | 7 -
banyand/trace/block_reader_test.go | 82 ++
banyand/trace/block_test.go | 3 +-
banyand/trace/block_writer.go | 8 +-
banyand/trace/bloom_filter.go | 16 -
.../fs_suite_test.go => banyand/trace/constants.go | 16 +-
banyand/trace/flusher.go | 149 +++-
banyand/trace/introducer.go | 13 +-
banyand/trace/merger.go | 34 +-
banyand/trace/metrics.go | 5 +-
banyand/trace/part.go | 17 +-
banyand/trace/part_iter.go | 7 +-
banyand/trace/part_metadata.go | 3 +-
banyand/trace/primary_metadata.go | 28 +-
banyand/trace/query.go | 6 +-
banyand/trace/snapshot.go | 90 +--
banyand/trace/snapshot_test.go | 18 +-
banyand/trace/svc_liaison.go | 80 +-
banyand/trace/svc_standalone.go | 23 +-
banyand/trace/syncer.go | 417 +++++++---
banyand/trace/tag.go | 3 +-
banyand/trace/trace.go | 23 +-
banyand/trace/trace_suite_test.go | 113 ---
banyand/trace/traces.go | 58 +-
banyand/trace/tstable.go | 16 +-
banyand/trace/write_data.go | 131 +++-
banyand/{measure => trace}/write_index.go | 58 +-
banyand/trace/write_liaison.go | 68 +-
banyand/trace/write_standalone.go | 27 +-
dist/LICENSE | 318 ++++----
...> license-github.com-Masterminds-semver-v3.txt} | 2 +-
...xt => license-github.com-benbjohnson-clock.txt} | 0
... => license-github.com-cenkalti-backoff-v5.txt} | 0
...t => license-github.com-go-jose-go-jose-v4.txt} | 0
...xt => license-github.com-golang-jwt-jwt-v5.txt} | 0
...ithub.com-grpc-ecosystem-go-grpc-middleware.txt | 201 -----
...ithub.com-grpc-ecosystem-go-grpc-prometheus.txt | 201 -----
...ense-github.com-grpc-ecosystem-grpc-gateway.txt | 27 -
.../license-github.com-json-iterator-go.txt | 21 -
.../license-github.com-modern-go-reflect2.txt | 201 -----
dist/licenses/license-github.com-oklog-run.txt | 2 +-
...ng.txt => license-github.com-philhofer-fwd.txt} | 4 +-
.../license-github.com-sourcegraph-conc.txt | 21 -
... => license-github.com-spiffe-go-spiffe-v2.txt} | 0
...-v4.txt => license-github.com-tinylib-msgp.txt} | 7 +-
...-raft-v3.txt => license-go.etcd.io-raft-v3.txt} | 0
...e-go.opentelemetry.io-contrib-detectors-gcp.txt | 30 +
...rumentation-google.golang.org-grpc-otelgrpc.txt | 30 +
...o-contrib-instrumentation-net-http-otelhttp.txt | 30 +
...otel-exporters-otlp-otlptrace-otlptracegrpc.txt | 30 +
...ntelemetry.io-otel-exporters-otlp-otlptrace.txt | 30 +
.../license-go.opentelemetry.io-otel-metric.txt | 30 +
...license-go.opentelemetry.io-otel-sdk-metric.txt | 30 +
.../license-go.opentelemetry.io-otel-sdk.txt | 30 +
.../license-go.opentelemetry.io-otel-trace.txt | 30 +
dist/licenses/license-go.opentelemetry.io-otel.txt | 30 +
...-yaml.v2.txt => license-go.yaml.in-yaml-v2.txt} | 0
...-yaml.v3.txt => license-go.yaml.in-yaml-v3.txt} | 0
...ap-roaring.txt => license-sigs.k8s.io-json.txt} | 25 +-
.../license--jridgewell-sourcemap-codec.txt | 8 +-
dist/licenses/ui-licenses/license-sass.txt | 40 +-
docs/api-reference.md | 140 +++-
docs/operation/configuration.md | 5 +-
go.mod | 252 +++---
go.sum | 703 +++++++----------
pkg/cmdsetup/data.go | 1 +
pkg/cmdsetup/liaison.go | 26 +-
pkg/cmdsetup/standalone.go | 1 +
pkg/healthcheck/healthcheck.go | 6 +-
pkg/index/index.go | 1 +
pkg/pb/v1/write.go | 2 +
pkg/query/logical/trace/index_filter.go | 30 +-
pkg/query/logical/trace/index_filter_test.go | 281 +++++++
pkg/query/logical/trace/trace_analyzer.go | 56 +-
pkg/query/logical/trace/trace_plan_distributed.go | 381 +++++++++
.../query/logical/trace/trace_plan_merge.go | 27 +-
pkg/query/model/model.go | 3 +-
pkg/test/setup/setup.go | 8 +
.../trace/testdata/groups/test-trace-group.json | 2 +-
pkg/timestamp/clock.go | 2 -
scripts/build/vendor.mk | 2 +-
scripts/build/version.mk | 10 +-
scripts/ci/check/version_test.go | 2 +-
test/cases/measure/data/data.go | 21 +
test/cases/measure/data/want/entity_in.yaml | 8 +-
test/cases/measure/data/want/tag_filter_int.yaml | 4 +-
test/cases/measure/measure.go | 19 +-
.../data/input/having_query_tag_cond.yml} | 18 +-
test/cases/trace/trace.go | 1 +
test/e2e-v2/cases/cluster/e2e.yaml | 2 +-
test/e2e-v2/cases/cluster/storage-cases.yaml | 178 -----
.../cases/profiling/trace/expected/traces-list.yml | 27 -
.../trace/expected/traces-v2-list.yml} | 63 +-
.../cases/profiling/trace/profiling-cases.yaml | 6 +-
...ty-traces-list.yml => empty-traces-v2-list.yml} | 5 +
.../cases/storage/expected/trace-users-detail.yml | 97 ---
test/e2e-v2/cases/storage/expected/traces-list.yml | 27 -
.../cases/storage/expected/traces-v2-list.yml | 268 +++++++
test/e2e-v2/cases/storage/storage-cases.yaml | 43 +-
test/e2e-v2/script/env | 4 +-
.../multi_segments_suite_test.go} | 32 +-
.../distributed/query/query_suite_test.go | 7 +
.../multi_segments_suite_test.go} | 16 +-
test/property_repair/base-compose.yml | 12 +
test/property_repair/full_data/integrated_test.go | 2 +-
test/property_repair/shared_utils.go | 108 ++-
test/stress/stream-vs-trace/README.md | 76 ++
test/stress/stream-vs-trace/benchmark_runner.go | 444 +++++++++++
test/stress/stream-vs-trace/data_generator.go | 794 +++++++++++++++++++
test/stress/stream-vs-trace/distribution.go | 183 +++++
test/stress/stream-vs-trace/docker/.gitignore | 19 +
.../{ => stress/stream-vs-trace}/docker/Dockerfile | 44 +-
test/stress/stream-vs-trace/docker/Makefile | 67 ++
test/stress/stream-vs-trace/docker/README.md | 263 +++++++
.../stream-vs-trace/docker/client_wrappers.go | 53 +-
.../stress/stream-vs-trace/docker/collect-stats.sh | 238 ++++++
.../stream-vs-trace/docker/docker-compose.yml | 96 +++
test/stress/stream-vs-trace/docker/docker_test.go | 143 ++++
.../stream-vs-trace/docker/example-stats-output.md | 129 +++
.../stream-vs-trace/docker/run-docker-test.sh | 266 +++++++
.../stress/stream-vs-trace/docker/schema_client.go | 372 +++++++++
.../stream-vs-trace/docker/wait-for-healthy.sh | 43 +-
test/stress/stream-vs-trace/metrics.go | 351 +++++++++
test/stress/stream-vs-trace/schema_loader.go | 308 ++++++++
.../stream-vs-trace-performance-test-design.md | 729 +++++++++++++++++
test/stress/stream-vs-trace/stream_client.go | 137 ++++
.../stream-vs-trace/stream_vs_trace_suite_test.go | 168 ++++
.../stream-vs-trace/testdata/schema/README.md | 52 ++
.../stream-vs-trace/testdata/schema}/group.json | 19 +-
.../schema/stream_index_rule_bindings.json | 23 +
.../testdata/schema/stream_index_rules.json | 58 ++
.../testdata/schema/stream_schema.json | 65 ++
.../testdata/schema/trace_index_rule_bindings.json | 18 +
.../testdata/schema/trace_index_rules.json | 18 +
.../testdata/schema/trace_schema.json | 50 ++
test/stress/stream-vs-trace/trace_client.go | 137 ++++
ui/LICENSE | 68 +-
ui/package-lock.json | 861 +++++++++++----------
ui/src/components/IndexRuleBinding/Editor.vue | 2 +-
214 files changed, 11565 insertions(+), 4018 deletions(-)
copy banyand/dquery/{stream.go => trace.go} (55%)
delete mode 100644 banyand/internal/sidx/TODO.md
create mode 100644 banyand/internal/sidx/sync.go
copy pkg/fs/fs_suite_test.go => banyand/trace/constants.go (81%)
delete mode 100644 banyand/trace/trace_suite_test.go
copy banyand/{measure => trace}/write_index.go (58%)
copy dist/licenses/{license-go.uber.org-zap.txt =>
license-github.com-Masterminds-semver-v3.txt} (94%)
rename dist/licenses/{license-github.com-SkyAPM-clock.txt =>
license-github.com-benbjohnson-clock.txt} (100%)
copy dist/licenses/{license-github.com-cenkalti-backoff-v4.txt =>
license-github.com-cenkalti-backoff-v5.txt} (100%)
rename dist/licenses/{license-go.etcd.io-etcd-client-v2.txt =>
license-github.com-go-jose-go-jose-v4.txt} (100%)
copy dist/licenses/{license-github.com-golang-jwt-jwt-v4.txt =>
license-github.com-golang-jwt-jwt-v5.txt} (100%)
delete mode 100644
dist/licenses/license-github.com-grpc-ecosystem-go-grpc-middleware.txt
delete mode 100644
dist/licenses/license-github.com-grpc-ecosystem-go-grpc-prometheus.txt
delete mode 100644
dist/licenses/license-github.com-grpc-ecosystem-grpc-gateway.txt
delete mode 100644 dist/licenses/license-github.com-json-iterator-go.txt
delete mode 100644 dist/licenses/license-github.com-modern-go-reflect2.txt
copy dist/licenses/{ui-licenses/license-magic-string.txt =>
license-github.com-philhofer-fwd.txt} (95%)
delete mode 100644 dist/licenses/license-github.com-sourcegraph-conc.txt
rename dist/licenses/{license-github.com-modern-go-concurrent.txt =>
license-github.com-spiffe-go-spiffe-v2.txt} (100%)
rename dist/licenses/{license-github.com-golang-jwt-jwt-v4.txt =>
license-github.com-tinylib-msgp.txt} (88%)
rename dist/licenses/{license-go.etcd.io-etcd-raft-v3.txt =>
license-go.etcd.io-raft-v3.txt} (100%)
rename dist/licenses/{license-gopkg.in-yaml.v2.txt =>
license-go.yaml.in-yaml-v2.txt} (100%)
copy dist/licenses/{license-gopkg.in-yaml.v3.txt =>
license-go.yaml.in-yaml-v3.txt} (100%)
copy dist/licenses/{license-github.com-RoaringBitmap-roaring.txt =>
license-sigs.k8s.io-json.txt} (95%)
create mode 100644 pkg/query/logical/trace/index_filter_test.go
create mode 100644 pkg/query/logical/trace/trace_plan_distributed.go
copy banyand/liaison/grpc/api_version.go =>
pkg/query/logical/trace/trace_plan_merge.go (58%)
copy test/cases/{stream/data/input/having_non_indexed_arr.yaml =>
trace/data/input/having_query_tag_cond.yml} (79%)
delete mode 100644 test/e2e-v2/cases/cluster/storage-cases.yaml
delete mode 100644 test/e2e-v2/cases/profiling/trace/expected/traces-list.yml
copy test/e2e-v2/cases/{storage/expected/event-list.yml =>
profiling/trace/expected/traces-v2-list.yml} (51%)
rename test/e2e-v2/cases/storage/expected/{empty-traces-list.yml =>
empty-traces-v2-list.yml} (85%)
delete mode 100644 test/e2e-v2/cases/storage/expected/trace-users-detail.yml
delete mode 100644 test/e2e-v2/cases/storage/expected/traces-list.yml
create mode 100644 test/e2e-v2/cases/storage/expected/traces-v2-list.yml
copy test/integration/distributed/{query/query_suite_test.go =>
multi_segments/multi_segments_suite_test.go} (89%)
copy test/integration/standalone/{query/query_suite_test.go =>
multi_segments/multi_segments_suite_test.go} (89%)
create mode 100644 test/stress/stream-vs-trace/README.md
create mode 100644 test/stress/stream-vs-trace/benchmark_runner.go
create mode 100644 test/stress/stream-vs-trace/data_generator.go
create mode 100644 test/stress/stream-vs-trace/distribution.go
create mode 100644 test/stress/stream-vs-trace/docker/.gitignore
copy test/{ => stress/stream-vs-trace}/docker/Dockerfile (52%)
create mode 100644 test/stress/stream-vs-trace/docker/Makefile
create mode 100644 test/stress/stream-vs-trace/docker/README.md
copy pkg/run/channel_group_closer.go =>
test/stress/stream-vs-trace/docker/client_wrappers.go (50%)
create mode 100755 test/stress/stream-vs-trace/docker/collect-stats.sh
create mode 100644 test/stress/stream-vs-trace/docker/docker-compose.yml
create mode 100644 test/stress/stream-vs-trace/docker/docker_test.go
create mode 100644 test/stress/stream-vs-trace/docker/example-stats-output.md
create mode 100755 test/stress/stream-vs-trace/docker/run-docker-test.sh
create mode 100644 test/stress/stream-vs-trace/docker/schema_client.go
copy .github/workflows/slow-test.yml =>
test/stress/stream-vs-trace/docker/wait-for-healthy.sh (53%)
mode change 100644 => 100755
create mode 100644 test/stress/stream-vs-trace/metrics.go
create mode 100644 test/stress/stream-vs-trace/schema_loader.go
create mode 100644
test/stress/stream-vs-trace/stream-vs-trace-performance-test-design.md
create mode 100644 test/stress/stream-vs-trace/stream_client.go
create mode 100644 test/stress/stream-vs-trace/stream_vs_trace_suite_test.go
create mode 100644 test/stress/stream-vs-trace/testdata/schema/README.md
copy {pkg/test/stream/testdata =>
test/stress/stream-vs-trace/testdata/schema}/group.json (65%)
create mode 100644
test/stress/stream-vs-trace/testdata/schema/stream_index_rule_bindings.json
create mode 100644
test/stress/stream-vs-trace/testdata/schema/stream_index_rules.json
create mode 100644
test/stress/stream-vs-trace/testdata/schema/stream_schema.json
create mode 100644
test/stress/stream-vs-trace/testdata/schema/trace_index_rule_bindings.json
create mode 100644
test/stress/stream-vs-trace/testdata/schema/trace_index_rules.json
create mode 100644
test/stress/stream-vs-trace/testdata/schema/trace_schema.json
create mode 100644 test/stress/stream-vs-trace/trace_client.go