apache / apache/skywalking

[Chore] Remove row-based query from Stream, Measure and Trace

Open
#13,998 0 comments 0 reactions 0 assignees View on GitHub
chore database
Dominant language
Java
Stars
25k
Forks
6.6k
Avg merge
10h 5m
Merged PRs (30d)
16

Description

## Summary
Remove the legacy **row-based query** code path from the Stream, Measure and Trace query engines in BanyanDB.

## Motivation
Row-based query is the old (per-row / per-data-point) execution path. The newer columnar / vectorized execution model has been the default for some time, and the row-based path is now dead weight: duplicated tests, larger binary, and a maintenance tax. Removing it shrinks the surface area and forces callers onto the supported code path.

## Scope
- Identify every reference to the row-based query path in:
- `banyand/internal/query` (or wherever the query engines live — verify during research).
- Public API / proto definitions, if row-mode is exposed there.
- Tests, fixtures, benchmarks.
- Remove the code paths, their flags / options, and any still-supported APIs.
- Update docs (`docs/concept/`, `docs/api-reference.md`) to drop row-mode mentions.
- Ensure all existing tests pass on the remaining code path.

## Tasks
1. **Research** — enumerate call sites and the public surface that exposes row-mode (CLI flags, HTTP/gRPC fields, env vars).
2. **Removal** — delete the row-mode code, its tests, and benchmarks.
3. **Compatibility** — if any documented option still names row-mode, return a clear error / 410 Gone for a transition period (decision in design step).
4. **Tests** — make sure CI is green after deletion; update coverage reports.
5. **Docs** — sweep docs and examples.

## Acceptance Criteria
- No remaining row-mode code, tests, or flags in the repo.
- All previously-passing tests still pass on the columnar/vectorized path.
- Docs no longer reference row-mode.
- Binary size / build time measurably reduced.

## Related
- Parent milestone: BanyanDB - 0.12.0 (#264)

Contributor guide

Open the contributing guide

Research direction

Start by searching banyand/internal/query and related query-engine locations for row-based references, then inspect public API or proto definitions, tests, fixtures, benchmarks, CLI flags, and documentation under docs/concept/ and docs/api-reference.md. Done means row-mode code, tests, flags, and documentation are removed, compatibility behavior is decided, and the existing test suite passes on the columnar/vectorized path.

Written by the indexing model from the issue text.

Assessment

Domain
databases
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.