You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2026/09/16 09:26:58 UTC

(skywalking-banyandb) branch feat/measure-tag-aggregation updated (5b0e85401 -> 0268c8aee)

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

hanahmily pushed a change to branch feat/measure-tag-aggregation
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git


 discard 5b0e85401 docs(design): add tag aggregation and time bucketing design for 0.12.0
 discard 9832c7199 chore(deps): close canopy and mcp Dependabot CVEs
     add 411a39414 feat(index): walk stored documents natively for migration source reads (#1318)
     add 5763487c9 Fix flaky measure dump round-trip test ordering (#1320)
     add 9f1ea3527 Bound the vectorized stream Top-N merge by limit+offset (#1322)
     add 6a2eaf616 feat(liaison): authorize data, streaming writes and ByDBQL by BanyanDB group (#1321)
     add 0d1314fcf chore(deps): close canopy and mcp Dependabot CVEs (#1329)
     add 2f39fb53d fix(canopy): enforce readonly role on /monitoring/* proxy (#1330)
     add a48ab167d Fix FODC proxy `/metrics` returning partial data or timing out when concurrent scrapes overlap. (#1328)
     add 5d9a84380 Unify the logging configuration across every BanyanDB binary (#1332)
     add 59805944d feat(index): select stored documents by exact term and cut schema walks over to it (#1325)
     add 05db202ae Update topk related log to error level (#1336)
     add e5f77574b perf(stream): bound the filtered index-order vectorized Top-N merge (#1331)
     add c664390cd Pre setting logging level before flags parse (#1337)
     add b4a602fce fix: honor log level for native metrics (#1338)
     add 17da65800 fix(trace): enforce time ranges for non-timestamp sorted queries (#1333)
     add 836466083 chore(deps): bump mcp and canopy npm packages for CVEs (#1342)
     add 31b32ca25 feat(index): page repair tuples natively and cut Property repair over to them (#1335)
     add fad0afa0d Update schema registry client init retry strategy (#1344)
     add 0f49ae0c8 fix(metadata): re-fetch discovery nodes before Start during PreRun (#1349)
     add 35009f696 chore: slim AGENTS.md to focused project agent guidance (#1348)
     add d28ff6277 fix(query): bound Property/Stream/Trace query allocations (#1334)
     add 9241fb2f3 fix(bydbql): reject deeply nested WHERE parentheses to prevent stack overflow (#1343)
     add 7f5e29fcf fix(metadata): tolerate unreachable peers in DNS discovery ListNode so non-meta nodes no longer deadlock in PreRun (#1354)
     add a86a15bd7 fix(observability): stop liaison gauge from stealing memory_state schema (#1346)
     add 46d6c56fb Fix wrong shard ID report in `collectDataInfo` protocol (#1357)
     add 082ab2c3b fix(storage): add cancellable jittered retry for snapshot syncers in stream, measure, and trace (#1352)
     add 6542c5be6 fix(validate): allowlist path-safe names and bound proto validate.rules (#1358)
     add 403396797 chore: remove the row-based query path from measure, stream and trace (#1326)
     add 0268c8aee docs(design): add tag aggregation and time bucketing design for 0.12.0

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (5b0e85401)
            \
             N -- N -- N   refs/heads/feat/measure-tag-aggregation (0268c8aee)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/workflows/e2e.yml                          |   86 +-
 .github/workflows/slow-test.yml                    |    2 +
 .gitignore                                         |    3 +
 AGENTS.md                                          |  325 +--
 CHANGES.md                                         |   32 +
 TRACE_QUERY_TIME_RANGE_DESIGN.md                   |  400 ++++
 api/data/codec.go                                  |   17 +-
 api/data/codec_test.go                             |   41 +-
 api/data/frame_counters_test.go                    |   36 +-
 api/data/stream_frame_test.go                      |   53 +-
 api/data/trace_frame_test.go                       |   57 +-
 api/proto/banyandb/bydbql/v1/query.proto           |    5 +-
 api/proto/banyandb/common/v1/common.proto          |  103 +-
 api/proto/banyandb/database/v1/schema.proto        |  124 +-
 api/proto/banyandb/measure/v1/query.proto          |   20 +-
 api/proto/banyandb/measure/v1/topn.proto           |   23 +-
 api/proto/banyandb/measure/v1/write.proto          |    5 +-
 .../banyandb/pipeline/v1/trace_pipeline.proto      |    6 +-
 api/proto/banyandb/property/v1/property.proto      |   14 +-
 api/proto/banyandb/property/v1/rpc.proto           |   24 +-
 api/proto/banyandb/stream/v1/query.proto           |   18 +-
 api/proto/banyandb/trace/v1/query.proto            |   18 +-
 api/proto/banyandb/trace/v1/write.proto            |    5 +-
 api/validate/validate.go                           |  255 ++-
 api/validate/validate_test.go                      |  113 +
 banyand/backup/backup.go                           |    3 +-
 banyand/backup/lifecycle/lifecycle.go              |    3 +-
 banyand/backup/restore.go                          |    3 +-
 banyand/cmd/migration/main.go                      |   20 +-
 banyand/dquery/measure.go                          |   60 +-
 banyand/dquery/measure_test.go                     |  123 +-
 banyand/internal/dump/measure/suite_test.go        |   35 +-
 banyand/internal/migration/unionsidx.go            |  163 +-
 .../migration/unionsidx_native_source_test.go      |  328 +++
 banyand/internal/migration/unionsidx_test.go       |   44 +
 banyand/internal/sidx/interfaces.go                |   27 +-
 banyand/internal/sidx/merge.go                     |   28 +-
 banyand/internal/sidx/query.go                     |   80 +-
 banyand/internal/sidx/query_memory_guard_test.go   |   48 +
 banyand/internal/sidx/sidx.go                      |   30 +-
 banyand/internal/sidx/timestamp_test.go            |  140 ++
 banyand/internal/storage/syncer.go                 |   61 +
 banyand/internal/storage/syncer_test.go            |   89 +
 banyand/liaison/grpc/bydbql.go                     |   40 +-
 banyand/liaison/grpc/methodpolicy.go               |  127 +-
 banyand/liaison/grpc/methodpolicy_contract_test.go |   83 +-
 banyand/liaison/grpc/metrics.go                    |   10 +-
 banyand/liaison/grpc/property.go                   |   41 +-
 banyand/liaison/grpc/property_capacity.go          |   43 +
 banyand/liaison/grpc/property_capacity_test.go     |   72 +
 .../grpc/property_charge_regression_test.go        |   56 +
 banyand/liaison/grpc/query_admission.go            |   96 +
 .../liaison/grpc/query_admission_review_test.go    |  182 ++
 banyand/liaison/grpc/query_admission_transport.go  |   44 +
 banyand/liaison/grpc/rbac_bydbql.go                |   77 +
 .../liaison/grpc/rbac_bydbql_observability_test.go |  116 ++
 banyand/liaison/grpc/rbac_data_contract_test.go    | 1090 ++++++++++
 banyand/liaison/grpc/rbac_extractors.go            |  132 +-
 banyand/liaison/grpc/rbac_frames.go                |  144 ++
 banyand/liaison/grpc/rbac_frames_invalid_test.go   |   90 +
 banyand/liaison/grpc/rbac_schema_contract_test.go  |   53 +-
 banyand/liaison/grpc/server.go                     |    4 +
 banyand/liaison/grpc/stream.go                     |   23 +
 banyand/liaison/grpc/trace.go                      |   19 +
 banyand/measure/block_batch_benchmark_test.go      |    2 +-
 banyand/measure/collect_data_info_shard_id_test.go |   96 +
 banyand/measure/measure.go                         |   30 +-
 banyand/measure/metadata.go                        |    6 +-
 banyand/measure/migration_indexmode_copy.go        |  133 +-
 banyand/measure/migration_indexmode_copy_test.go   |    9 +
 .../migration_indexmode_native_source_test.go      |  375 ++++
 banyand/measure/migration_verify.go                |  123 +-
 banyand/measure/query_batch_top_test.go            |  130 ++
 banyand/measure/svc_data.go                        |   13 +-
 banyand/measure/svc_liaison.go                     |   10 +-
 banyand/measure/svc_standalone.go                  |   17 +-
 banyand/measure/syncer.go                          |    3 +-
 banyand/measure/write_data_segmentref_test.go      |    8 +-
 banyand/metadata/client.go                         |   32 +-
 banyand/metadata/discovery/dns/dns.go              |   44 +-
 banyand/metadata/discovery/dns/dns_test.go         |   16 +-
 banyand/metadata/discovery/dns/level_test.go       |   65 +
 banyand/metadata/discovery/dns/prerun_test.go      |  172 ++
 banyand/metadata/discovery/file/file.go            |   18 +-
 banyand/metadata/discovery/file/file_test.go       |   45 +
 banyand/metadata/schema/property/client.go         |    6 +
 banyand/metadata/schema/property/converter_test.go |   21 +
 .../schema/reader/e2e_native_schema_walk_test.go   |  384 ++++
 .../schema/reader/native_fixture_nidx01d_test.go   |  358 ++++
 banyand/metadata/schema/reader/reader.go           |  162 +-
 .../schema/reader/testdata/nidx01d/provenance.json |   83 +
 .../testdata/nidx01d/shard-0/000000000002.seg      |  Bin 0 -> 1810 bytes
 .../testdata/nidx01d/shard-0/000000000002.snp      |  Bin 0 -> 48 bytes
 .../schema/schemaserver/repair_service_test.go     |    2 +-
 banyand/property/db/db.go                          |    6 +-
 banyand/property/db/e2e_native_repair_test.go      |  407 ++++
 banyand/property/db/query_capacity.go              |   30 +
 banyand/property/db/query_capacity_test.go         |  122 ++
 banyand/property/db/repair.go                      |  237 +--
 banyand/property/db/repair_test.go                 |   44 +-
 banyand/property/db/shard.go                       |   10 +-
 banyand/property/listener.go                       |   29 +-
 banyand/protector/protector.go                     |   52 +-
 banyand/protector/query_admission_report_test.go   |   64 +
 banyand/protector/query_budget.go                  |  386 ++++
 banyand/protector/query_budget_review_test.go      |  159 ++
 banyand/protector/query_budget_test.go             |  107 +
 banyand/protector/query_reservation_test.go        |  145 ++
 banyand/protector/query_scan_budget_test.go        |  193 ++
 banyand/query/processor.go                         |  243 +--
 banyand/query/query.go                             |    8 +
 banyand/query/tracing_test.go                      |   47 +-
 banyand/queue/sub/sub.go                           |    5 +-
 banyand/stream/benchmark_test.go                   |  203 --
 banyand/stream/block.go                            |   98 -
 banyand/stream/collect_data_info_shard_id_test.go  |   96 +
 banyand/stream/metadata.go                         |    6 +-
 banyand/stream/query.go                            |  324 +--
 banyand/stream/query_by_idx.go                     |  360 ----
 banyand/stream/query_by_idx_test.go                |  325 ---
 banyand/stream/query_by_ts.go                      |  304 ---
 banyand/stream/query_by_ts_test.go                 |  266 ---
 banyand/stream/query_vectorized.go                 |    7 +
 banyand/stream/query_vectorized_parity_test.go     |  645 +++---
 banyand/stream/query_vectorized_test.go            |  208 --
 .../stream/query_vectorized_topn_filter_test.go    |  245 +++
 banyand/stream/stream.go                           |    3 +-
 banyand/stream/svc_liaison.go                      |    3 +-
 banyand/stream/svc_standalone.go                   |    7 +-
 banyand/stream/syncer.go                           |    3 +-
 banyand/stream/testdata/parity_boundary.yaml       |  330 +++
 .../stream/testdata/parity_large_single_block.yaml | 1517 ++++++++++++++
 banyand/stream/testdata/parity_topn_desc.yaml      |   27 +
 .../testdata/parity_topn_multiseries_asc.yaml      |   47 +
 banyand/stream/tracing.go                          |   35 -
 banyand/stream/vectorized_flag_test.go             |   57 +
 banyand/stream/write_data_segmentref_test.go       |    8 +-
 banyand/trace/collect_data_info_shard_id_test.go   |   96 +
 banyand/trace/metadata.go                          |    6 +-
 banyand/trace/query.go                             |  288 ++-
 banyand/trace/query_test.go                        |   94 +
 banyand/trace/query_time_benchmark_test.go         |  355 ++++
 banyand/trace/query_vectorized.go                  |    5 +
 banyand/trace/query_vectorized_test.go             |    4 +-
 banyand/trace/streaming_pipeline.go                |  781 -------
 banyand/trace/streaming_pipeline_test.go           |  838 --------
 banyand/trace/svc_liaison.go                       |    8 +-
 banyand/trace/svc_standalone.go                    |   11 +-
 banyand/trace/syncer.go                            |    3 +-
 banyand/trace/trace.go                             |   11 +-
 banyand/trace/vectorized_bench_test.go             |   79 -
 banyand/trace/vectorized_flag_test.go              |   41 +
 banyand/trace/vectorized_parity_test.go            |  124 +-
 banyand/trace/write_data_segmentref_test.go        |    8 +-
 bydbctl/internal/cmd/measure_test.go               |   27 +-
 canopy/package-lock.json                           | 2170 ++++----------------
 canopy/package.json                                |    2 +-
 canopy/server/package.json                         |    4 +-
 canopy/server/src/plugins/proxy.ts                 |    5 +-
 canopy/server/test/bff.test.ts                     |   25 +
 canopy/web/package.json                            |    2 +-
 canopy/web/src/pages/LoginPage.test.tsx            |    6 +-
 canopy/web/src/test-setup.ts                       |    2 +-
 canopy/web/tsconfig.json                           |    4 +-
 dist/LICENSE                                       |   15 +-
 .../mcp-licenses/license-express-rate-limit.txt    |   13 +-
 ...cense-negotiator-node-modules-content-type.txt} |    0
 docs/api-reference.md                              |   10 +-
 docs/operation/configuration.md                    |    4 +-
 docs/operation/observability/logging.md            |   24 +-
 docs/operation/observability/tracing.md            |    4 +-
 docs/operation/security.md                         |   32 +-
 docs/operation/troubleshooting/error-checklist.md  |    1 -
 .../measure-vec-flag-off-rollback.md               |   71 -
 docs/operation/troubleshooting/query.md            |    2 +-
 docs/operation/upgrade.md                          |   46 +-
 docs/soak/g5d-phase-d-summary.md                   |    7 +
 docs/soak/g5d-runbook.md                           |    7 +
 docs/soak/g9f-runbook.md                           |    7 +
 docs/soak/trace-soak-runbook.md                    |   80 +-
 fodc/agent/internal/cmd/root.go                    |   10 +-
 fodc/proxy/cmd/proxy/main.go                       |   13 +-
 fodc/proxy/internal/grpc/service.go                |    3 +
 .../proxy/internal/grpc/service_concurrent_test.go |   77 +
 .../internal/integration/failure_scenarios_test.go |   84 +-
 fodc/proxy/internal/metrics/aggregator.go          |  128 +-
 .../internal/metrics/aggregator_concurrent_test.go |  156 ++
 fodc/proxy/internal/metrics/aggregator_test.go     |   31 +-
 go.mod                                             |    4 +-
 go.sum                                             |    4 +-
 mcp/LICENSE                                        |   13 +-
 mcp/package-lock.json                              | 1495 +++++++++-----
 mcp/package.json                                   |    4 +-
 pkg/bydbql/bydbql_test.go                          |   16 +
 pkg/bydbql/parser.go                               |   47 +
 pkg/cmdsetup/data.go                               |    2 +-
 pkg/cmdsetup/liaison.go                            |    1 +
 pkg/cmdsetup/liaison_protector_test.go             |   54 +
 pkg/cmdsetup/root.go                               |    5 +-
 pkg/cmdsetup/standalone.go                         |    2 +-
 pkg/index/inverted/internal/nativeice/nativeice.go |  675 +++++-
 .../inverted/internal/nativeice/nativeice_test.go  |   27 +
 .../inverted/internal/nativeice/repair_page.go     |  673 ++++++
 .../internal/nativeice/repair_page_test.go         |   79 +
 pkg/index/inverted/internal/nativeice/selection.go |  393 ++++
 .../nativeice/selection_pinning_unix_test.go       |   65 +
 .../internal/nativeice/selection_review_test.go    |  103 +
 pkg/index/inverted/inverted.go                     |  137 +-
 pkg/index/inverted/inverted_series.go              |  114 +-
 pkg/index/inverted/native_dependency_test.go       |   13 +
 pkg/index/inverted/native_fixture_nidx01c_test.go  |  331 +++
 pkg/index/inverted/native_fixture_nidx01e_test.go  |  342 +++
 pkg/index/inverted/native_multichunk_walk_test.go  |   97 +
 pkg/index/inverted/native_nidx01b_boundary_test.go |   34 +-
 pkg/index/inverted/native_nidx01c_walk_test.go     |  463 +++++
 .../inverted/native_nidx01d_selection_test.go      |  543 +++++
 .../inverted/native_nidx01e_tuple_page_test.go     |  663 ++++++
 pkg/index/inverted/nidx01d_review_test.go          |   45 +
 pkg/index/inverted/query_scan_budget_test.go       |   86 +
 pkg/index/inverted/repair_page.go                  |  170 ++
 pkg/index/inverted/repair_page_tdd_test.go         |  135 ++
 .../inverted/testdata/nidx01c/provenance.json      |   90 +
 .../testdata/nidx01c/sourceA/000000000002.seg      |  Bin 0 -> 1638 bytes
 .../testdata/nidx01c/sourceA/000000000003.snp      |  Bin 0 -> 66 bytes
 .../testdata/nidx01c/sourceB/000000000001.snp      |  Bin 0 -> 48 bytes
 .../testdata/nidx01c/sourceB/000000000002.seg      |  Bin 0 -> 1241 bytes
 .../inverted/testdata/nidx01e/provenance.json      |  103 +
 .../testdata/nidx01e/shard-0/000000000002.seg      |  Bin 0 -> 2508 bytes
 .../testdata/nidx01e/shard-0/000000000003.snp      |  Bin 0 -> 66 bytes
 pkg/logger/setting.go                              |   94 +-
 pkg/logger/setting_test.go                         |  143 ++
 pkg/meter/native/collection.go                     |   14 +-
 pkg/meter/native/provider.go                       |   10 +-
 pkg/meter/native/provider_test.go                  |   33 +
 pkg/meter/native/vec.go                            |    2 +-
 pkg/panicdiag/lintrawgo/baseline.txt               |    1 -
 pkg/query/budget.go                                |   88 +
 pkg/query/budget_result_test.go                    |   58 +
 pkg/query/executor/interface.go                    |   24 +-
 pkg/query/limit.go                                 |   30 +
 pkg/query/limit_test.go                            |   68 +
 pkg/query/logical/measure/measure_analyzer.go      |  246 ---
 pkg/query/logical/measure/measure_plan.go          |  119 --
 .../logical/measure/measure_plan_aggregation.go    |  369 ----
 .../logical/measure/measure_plan_distributed.go    |  644 ------
 pkg/query/logical/measure/measure_plan_groupby.go  |  299 ---
 .../measure/measure_plan_indexscan_local.go        |  519 -----
 .../measure/measure_plan_indexscan_local_test.go   |  163 --
 pkg/query/logical/measure/measure_plan_merge.go    |  176 --
 pkg/query/logical/measure/measure_plan_top.go      |  168 --
 pkg/query/logical/measure/measure_top.go           |  174 --
 pkg/query/logical/measure/measure_top_test.go      |  130 --
 pkg/query/logical/measure/schema.go                |   37 +-
 .../logical/measure/sortable_data_points.go}       |   39 +-
 pkg/query/logical/measure/sorted_miterator.go      |  195 ++
 ...istributed_test.go => sorted_miterator_test.go} |  131 --
 pkg/query/logical/stream/stream_analyzer.go        |   53 +-
 .../logical/stream/stream_plan_distributed.go      |    6 +-
 .../logical/stream/stream_plan_indexscan_local.go  |  141 +-
 .../stream_plan_indexscan_local_vectorized.go      |  186 +-
 .../stream_plan_indexscan_local_vectorized_test.go |  125 +-
 pkg/query/logical/stream/stream_plan_merge.go      |   36 +-
 .../stream/stream_plan_projection_coords_test.go   |  116 ++
 pkg/query/logical/stream/stream_plan_tag_filter.go |   38 +-
 .../stream/stream_plan_topn_pushdown_test.go       |  242 +++
 pkg/query/logical/trace/index_filter_test.go       |   45 +
 pkg/query/logical/trace/trace_analyzer.go          |   11 +-
 pkg/query/logical/trace/trace_plan_distributed.go  |    6 +-
 pkg/query/logical/trace/trace_plan_tag_filter.go   |    6 +-
 pkg/query/model/model.go                           |  198 --
 pkg/query/model/model_test.go                      | 1245 -----------
 pkg/query/transport_scope.go                       |   82 +
 pkg/query/transport_scope_test.go                  |   41 +
 pkg/query/vectorized/measure/bench_test.go         |    2 +-
 pkg/query/vectorized/measure/config.go             |    8 +-
 pkg/query/vectorized/measure/config_test.go        |    5 +-
 pkg/query/vectorized/measure/diff_test.go          |    8 +-
 pkg/query/vectorized/measure/plan/dispatch.go      |  130 +-
 pkg/query/vectorized/measure/plan/dispatch_test.go |  179 +-
 .../vectorized/measure/plan/distributed_test.go    |   28 +-
 pkg/query/vectorized/measure/plan/executor_test.go |    2 +-
 pkg/query/vectorized/measure/plan/plan.go          |    6 +-
 pkg/query/vectorized/retained_bytes.go             |  116 ++
 pkg/query/vectorized/retained_bytes_test.go        |   26 +
 pkg/query/vectorized/stream/config.go              |   32 +-
 pkg/query/vectorized/stream/config_test.go         |   19 +-
 pkg/query/vectorized/stream/distinct.go            |    7 +-
 .../stream/operators_test_helpers_test.go          |   64 +
 pkg/query/vectorized/stream/pipeline.go            |   28 +-
 pkg/query/vectorized/stream/sorted_merge.go        |  130 +-
 .../vectorized/stream/sorted_merge_bench_test.go   |  190 ++
 pkg/query/vectorized/stream/sorted_merge_test.go   |  163 ++
 pkg/query/vectorized/stream/tag_filter.go          |  171 ++
 .../vectorized/stream/tag_filter_bound_test.go     |  131 ++
 pkg/query/vectorized/stream/tag_filter_dup_test.go |  285 +++
 pkg/query/vectorized/stream/tag_filter_test.go     |  253 +++
 pkg/query/vectorized/trace/config.go               |   18 +-
 pkg/query/vectorized/trace/config_test.go          |    4 -
 pkg/test/helpers/constant.go                       |    2 +
 pkg/test/setup/setup.go                            |   34 +-
 scripts/soak-vectorized.sh                         |   50 +-
 .../property/data/input/{all.ql => all_max_int.ql} |    2 +-
 .../data/input/{limit.yaml => all_max_int.yaml}    |    2 +-
 .../data/input/{all.ql => all_max_uint.ql}         |    2 +-
 .../data/input/{limit.yaml => all_max_uint.yaml}   |    2 +-
 test/cases/property/property.go                    |    2 +
 test/cases/stream/data/data.go                     |   12 +-
 .../data/input/{all.ql => all_above_window.ql}     |    1 +
 .../data/input/{all.yaml => all_above_window.yaml} |    1 +
 ... => sort_duration_filter_range_limit_offset.ql} |    1 +
 ...> sort_duration_filter_range_limit_offset.yaml} |    8 +-
 ...> sort_duration_filter_range_limit_offset.yaml} |   22 +-
 test/cases/stream/stream.go                        |   15 +
 ...rder_timestamp.yml => time_range_trace_001.yml} |   16 +-
 test/cases/trace/trace.go                          |   13 +
 test/e2e-v2/cases/cluster/docker-compose.yml       |    6 +-
 .../e2e-v2/cases/event/banyandb/docker-compose.yml |    2 +-
 .../lifecycle/data-generator/docker-compose.yml    |    2 +-
 test/e2e-v2/cases/lifecycle/data-generator/gen.sh  |    7 +
 .../lifecycle/dns-discovery/banyandb-cluster.yaml  |  372 ++++
 test/e2e-v2/cases/lifecycle/dns-discovery/e2e.yaml |  131 ++
 .../dns-discovery/kind.yaml.tpl}                   |    7 +
 .../dns-discovery}/provider-consumer.yaml          |   10 +-
 .../lifecycle/dns-discovery/skywalking-values.yaml |   56 +
 test/e2e-v2/cases/lifecycle/e2e.yaml               |   98 -
 .../cases/lifecycle/expected/traces-list.yml       |   40 +-
 .../{ => file-discovery}/docker-compose.yml        |   34 +-
 .../banyandb => lifecycle/file-discovery}/e2e.yaml |   26 +-
 .../lifecycle/{ => file-discovery}/nodes.yaml      |    0
 test/e2e-v2/cases/lifecycle/lifecycle-cases.yaml   |   46 +
 test/e2e-v2/cases/log/banyandb/docker-compose.yml  |    2 +-
 .../profiling/trace/banyandb/docker-compose.yml    |    2 +-
 .../rbac-cluster/check-rbac-cluster-stress.sh      |  219 ++
 .../cases/rbac-cluster/check-rbac-cluster.sh       |  284 +++
 test/e2e-v2/cases/rbac-cluster/docker-compose.yml  |  146 ++
 .../e2e.yaml => rbac-cluster/e2e-stress.yaml}      |   32 +-
 test/e2e-v2/cases/{rbac => rbac-cluster}/e2e.yaml  |   33 +-
 .../{rbac => rbac-cluster}/expected/success.yaml   |    0
 .../cases/{cluster => rbac-cluster}/nodes.yaml     |    4 +-
 .../{rbac => rbac-cluster}/security-revoked.yaml   |   15 +-
 .../security.yaml}                                 |   12 +-
 test/e2e-v2/cases/rbac/check-rbac-data.sh          |  543 +++++
 test/e2e-v2/cases/rbac/check-rbac-schema.sh        |    8 +-
 test/e2e-v2/cases/rbac/check-rbac.sh               |    8 +-
 test/e2e-v2/cases/rbac/e2e.yaml                    |    8 +
 test/e2e-v2/cases/rbac/security.yaml               |    7 +-
 .../istio/banyandb/banyandb-deployment-vec.yaml    |   61 -
 .../istio/banyandb/banyandb-deployment.yaml        |    9 +-
 .../rover/process/istio/banyandb/e2e-banyandb.yaml |    2 +-
 .../cases/storage/banyandb/docker-compose.yml      |    2 +-
 .../cases/zipkin/banyandb/docker-compose.yml       |    2 +-
 .../distributed/query/vectorized_stream_test.go    |   29 +-
 .../distributed/query/vectorized_test.go           |   43 +-
 .../distributed/query/vectorized_trace_test.go     |   20 +-
 test/integration/distributed/querybench/README.md  |   12 +-
 .../distributed/querybench/benchmark_test.go       |  115 +-
 test/integration/distributed/querybench/config.go  |   15 +-
 .../distributed/querybench/config_test.go          |   42 +-
 .../distributed/querybench/orchestrate.sh          |    2 +-
 test/integration/distributed/querybench/report.go  |   62 +-
 .../distributed/querybench/report_test.go          |   18 +-
 .../distributed/querybench/run-docker.sh           |    2 +-
 .../distributed/querybench/soak_test.go            |    8 +-
 .../distributed/rbac/rbac_suite_test.go            |   42 +-
 test/integration/distributed/rbac/rbac_test.go     |  311 +++
 .../standalone/observability/measure_helper.go     |   37 +-
 .../observability/native_metrics_test.go           |  147 +-
 .../standalone/other/rbac/rbac_global_test.go      |   12 -
 .../rbac_data_suite_test.go}                       |   24 +-
 .../standalone/other/rbac_data/rbac_data_test.go   |  698 +++++++
 .../other/rbac_schema/rbac_schema_test.go          |   18 -
 .../standalone/query/vectorized_stream_test.go     |   18 +-
 .../standalone/query/vectorized_test.go            |   30 +-
 .../standalone/query/vectorized_trace_test.go      |   17 +-
 test/soak/docker-compose.soak-distributed.yaml     |   15 +-
 test/soak/docker-compose.soak.yaml                 |    7 +-
 376 files changed, 26213 insertions(+), 14753 deletions(-)
 create mode 100644 TRACE_QUERY_TIME_RANGE_DESIGN.md
 create mode 100644 banyand/internal/migration/unionsidx_native_source_test.go
 create mode 100644 banyand/internal/sidx/query_memory_guard_test.go
 create mode 100644 banyand/internal/storage/syncer.go
 create mode 100644 banyand/internal/storage/syncer_test.go
 create mode 100644 banyand/liaison/grpc/property_capacity.go
 create mode 100644 banyand/liaison/grpc/property_capacity_test.go
 create mode 100644 banyand/liaison/grpc/property_charge_regression_test.go
 create mode 100644 banyand/liaison/grpc/query_admission.go
 create mode 100644 banyand/liaison/grpc/query_admission_review_test.go
 create mode 100644 banyand/liaison/grpc/query_admission_transport.go
 create mode 100644 banyand/liaison/grpc/rbac_bydbql.go
 create mode 100644 banyand/liaison/grpc/rbac_bydbql_observability_test.go
 create mode 100644 banyand/liaison/grpc/rbac_data_contract_test.go
 create mode 100644 banyand/liaison/grpc/rbac_frames.go
 create mode 100644 banyand/liaison/grpc/rbac_frames_invalid_test.go
 create mode 100644 banyand/measure/collect_data_info_shard_id_test.go
 create mode 100644 banyand/measure/migration_indexmode_native_source_test.go
 create mode 100644 banyand/measure/query_batch_top_test.go
 create mode 100644 banyand/metadata/discovery/dns/level_test.go
 create mode 100644 banyand/metadata/discovery/dns/prerun_test.go
 create mode 100644 banyand/metadata/schema/reader/e2e_native_schema_walk_test.go
 create mode 100644 banyand/metadata/schema/reader/native_fixture_nidx01d_test.go
 create mode 100644 banyand/metadata/schema/reader/testdata/nidx01d/provenance.json
 create mode 100644 banyand/metadata/schema/reader/testdata/nidx01d/shard-0/000000000002.seg
 create mode 100644 banyand/metadata/schema/reader/testdata/nidx01d/shard-0/000000000002.snp
 create mode 100644 banyand/property/db/e2e_native_repair_test.go
 create mode 100644 banyand/property/db/query_capacity.go
 create mode 100644 banyand/property/db/query_capacity_test.go
 create mode 100644 banyand/protector/query_admission_report_test.go
 create mode 100644 banyand/protector/query_budget.go
 create mode 100644 banyand/protector/query_budget_review_test.go
 create mode 100644 banyand/protector/query_budget_test.go
 create mode 100644 banyand/protector/query_reservation_test.go
 create mode 100644 banyand/protector/query_scan_budget_test.go
 create mode 100644 banyand/stream/collect_data_info_shard_id_test.go
 delete mode 100644 banyand/stream/query_by_idx.go
 delete mode 100644 banyand/stream/query_by_idx_test.go
 delete mode 100644 banyand/stream/query_by_ts.go
 delete mode 100644 banyand/stream/query_by_ts_test.go
 create mode 100644 banyand/stream/query_vectorized_topn_filter_test.go
 create mode 100644 banyand/stream/testdata/parity_boundary.yaml
 create mode 100644 banyand/stream/testdata/parity_large_single_block.yaml
 create mode 100644 banyand/stream/testdata/parity_topn_desc.yaml
 create mode 100644 banyand/stream/testdata/parity_topn_multiseries_asc.yaml
 create mode 100644 banyand/stream/vectorized_flag_test.go
 create mode 100644 banyand/trace/collect_data_info_shard_id_test.go
 create mode 100644 banyand/trace/query_time_benchmark_test.go
 delete mode 100644 banyand/trace/vectorized_bench_test.go
 create mode 100644 banyand/trace/vectorized_flag_test.go
 copy dist/licenses/mcp-licenses/{license-body-parser-node-modules-content-type.txt => license-negotiator-node-modules-content-type.txt} (100%)
 delete mode 100644 docs/operation/troubleshooting/measure-vec-flag-off-rollback.md
 create mode 100644 fodc/proxy/internal/grpc/service_concurrent_test.go
 create mode 100644 fodc/proxy/internal/metrics/aggregator_concurrent_test.go
 create mode 100644 pkg/cmdsetup/liaison_protector_test.go
 create mode 100644 pkg/index/inverted/internal/nativeice/repair_page.go
 create mode 100644 pkg/index/inverted/internal/nativeice/repair_page_test.go
 create mode 100644 pkg/index/inverted/internal/nativeice/selection.go
 create mode 100644 pkg/index/inverted/internal/nativeice/selection_pinning_unix_test.go
 create mode 100644 pkg/index/inverted/internal/nativeice/selection_review_test.go
 create mode 100644 pkg/index/inverted/native_fixture_nidx01c_test.go
 create mode 100644 pkg/index/inverted/native_fixture_nidx01e_test.go
 create mode 100644 pkg/index/inverted/native_multichunk_walk_test.go
 create mode 100644 pkg/index/inverted/native_nidx01c_walk_test.go
 create mode 100644 pkg/index/inverted/native_nidx01d_selection_test.go
 create mode 100644 pkg/index/inverted/native_nidx01e_tuple_page_test.go
 create mode 100644 pkg/index/inverted/nidx01d_review_test.go
 create mode 100644 pkg/index/inverted/query_scan_budget_test.go
 create mode 100644 pkg/index/inverted/repair_page.go
 create mode 100644 pkg/index/inverted/repair_page_tdd_test.go
 create mode 100644 pkg/index/inverted/testdata/nidx01c/provenance.json
 create mode 100644 pkg/index/inverted/testdata/nidx01c/sourceA/000000000002.seg
 create mode 100644 pkg/index/inverted/testdata/nidx01c/sourceA/000000000003.snp
 create mode 100644 pkg/index/inverted/testdata/nidx01c/sourceB/000000000001.snp
 create mode 100644 pkg/index/inverted/testdata/nidx01c/sourceB/000000000002.seg
 create mode 100644 pkg/index/inverted/testdata/nidx01e/provenance.json
 create mode 100644 pkg/index/inverted/testdata/nidx01e/shard-0/000000000002.seg
 create mode 100644 pkg/index/inverted/testdata/nidx01e/shard-0/000000000003.snp
 create mode 100644 pkg/logger/setting_test.go
 create mode 100644 pkg/meter/native/provider_test.go
 create mode 100644 pkg/query/budget.go
 create mode 100644 pkg/query/budget_result_test.go
 create mode 100644 pkg/query/limit.go
 create mode 100644 pkg/query/limit_test.go
 delete mode 100644 pkg/query/logical/measure/measure_analyzer.go
 delete mode 100644 pkg/query/logical/measure/measure_plan.go
 delete mode 100644 pkg/query/logical/measure/measure_plan_aggregation.go
 delete mode 100644 pkg/query/logical/measure/measure_plan_distributed.go
 delete mode 100644 pkg/query/logical/measure/measure_plan_groupby.go
 delete mode 100644 pkg/query/logical/measure/measure_plan_indexscan_local.go
 delete mode 100644 pkg/query/logical/measure/measure_plan_indexscan_local_test.go
 delete mode 100644 pkg/query/logical/measure/measure_plan_merge.go
 delete mode 100644 pkg/query/logical/measure/measure_plan_top.go
 delete mode 100644 pkg/query/logical/measure/measure_top.go
 delete mode 100644 pkg/query/logical/measure/measure_top_test.go
 copy pkg/{convert/string.go => query/logical/measure/sortable_data_points.go} (56%)
 create mode 100644 pkg/query/logical/measure/sorted_miterator.go
 rename pkg/query/logical/measure/{measure_plan_distributed_test.go => sorted_miterator_test.go} (66%)
 create mode 100644 pkg/query/logical/stream/stream_plan_projection_coords_test.go
 create mode 100644 pkg/query/logical/stream/stream_plan_topn_pushdown_test.go
 delete mode 100644 pkg/query/model/model_test.go
 create mode 100644 pkg/query/transport_scope.go
 create mode 100644 pkg/query/transport_scope_test.go
 create mode 100644 pkg/query/vectorized/retained_bytes.go
 create mode 100644 pkg/query/vectorized/retained_bytes_test.go
 create mode 100644 pkg/query/vectorized/stream/sorted_merge_bench_test.go
 create mode 100644 pkg/query/vectorized/stream/tag_filter.go
 create mode 100644 pkg/query/vectorized/stream/tag_filter_bound_test.go
 create mode 100644 pkg/query/vectorized/stream/tag_filter_dup_test.go
 create mode 100644 pkg/query/vectorized/stream/tag_filter_test.go
 copy test/cases/property/data/input/{all.ql => all_max_int.ql} (97%)
 copy test/cases/property/data/input/{limit.yaml => all_max_int.yaml} (98%)
 copy test/cases/property/data/input/{all.ql => all_max_uint.ql} (97%)
 copy test/cases/property/data/input/{limit.yaml => all_max_uint.yaml} (98%)
 copy test/cases/stream/data/input/{all.ql => all_above_window.ql} (98%)
 copy test/cases/stream/data/input/{all.yaml => all_above_window.yaml} (98%)
 copy test/cases/stream/data/input/{gen_feat_duration_asc_filter_none_limit2_offset1_proj_explicit_group_single_3.ql => sort_duration_filter_range_limit_offset.ql} (95%)
 copy test/cases/stream/data/input/{gen_tree_depth2_contradict_and.yaml => sort_duration_filter_range_limit_offset.yaml} (93%)
 copy test/cases/stream/data/want/{gen_leaf_match_db.instance.yaml => sort_duration_filter_range_limit_offset.yaml} (93%)
 copy test/cases/trace/data/want/{duration_range_and_ipv4_order_timestamp.yml => time_range_trace_001.yml} (72%)
 create mode 100644 test/e2e-v2/cases/lifecycle/dns-discovery/banyandb-cluster.yaml
 create mode 100644 test/e2e-v2/cases/lifecycle/dns-discovery/e2e.yaml
 copy test/e2e-v2/cases/{fodc/kind.yaml => lifecycle/dns-discovery/kind.yaml.tpl} (73%)
 copy test/e2e-v2/cases/{fodc => lifecycle/dns-discovery}/provider-consumer.yaml (94%)
 create mode 100644 test/e2e-v2/cases/lifecycle/dns-discovery/skywalking-values.yaml
 delete mode 100644 test/e2e-v2/cases/lifecycle/e2e.yaml
 rename test/e2e-v2/cases/lifecycle/{ => file-discovery}/docker-compose.yml (68%)
 copy test/e2e-v2/cases/{storage/banyandb => lifecycle/file-discovery}/e2e.yaml (68%)
 rename test/e2e-v2/cases/lifecycle/{ => file-discovery}/nodes.yaml (100%)
 create mode 100644 test/e2e-v2/cases/lifecycle/lifecycle-cases.yaml
 create mode 100644 test/e2e-v2/cases/rbac-cluster/check-rbac-cluster-stress.sh
 create mode 100755 test/e2e-v2/cases/rbac-cluster/check-rbac-cluster.sh
 create mode 100644 test/e2e-v2/cases/rbac-cluster/docker-compose.yml
 copy test/e2e-v2/cases/{rbac/e2e.yaml => rbac-cluster/e2e-stress.yaml} (53%)
 copy test/e2e-v2/cases/{rbac => rbac-cluster}/e2e.yaml (55%)
 copy test/e2e-v2/cases/{rbac => rbac-cluster}/expected/success.yaml (100%)
 copy test/e2e-v2/cases/{cluster => rbac-cluster}/nodes.yaml (94%)
 copy test/e2e-v2/cases/{rbac => rbac-cluster}/security-revoked.yaml (69%)
 copy test/e2e-v2/cases/{rbac/security-revoked.yaml => rbac-cluster/security.yaml} (78%)
 create mode 100755 test/e2e-v2/cases/rbac/check-rbac-data.sh
 delete mode 100644 test/e2e-v2/cases/rover/process/istio/banyandb/banyandb-deployment-vec.yaml
 copy bydbctl/internal/tui/app/run_view.go => test/integration/distributed/rbac/rbac_suite_test.go (55%)
 create mode 100644 test/integration/distributed/rbac/rbac_test.go
 copy test/integration/standalone/other/{rbac/rbac_suite_test.go => rbac_data/rbac_data_suite_test.go} (50%)
 create mode 100644 test/integration/standalone/other/rbac_data/rbac_data_test.go