Skip to content

feat: add insert batch and streaming rate controls - #813

Merged
XuanYang-cn merged 10 commits into
zilliztech:mainfrom
jamesgao-jpg:insert_rate_batch_size_control
Aug 24, 2026
Merged

feat: add insert batch and streaming rate controls#813
XuanYang-cn merged 10 commits into
zilliztech:mainfrom
jamesgao-jpg:insert_rate_batch_size_control

Conversation

@jamesgao-jpg

@jamesgao-jpg jamesgao-jpg commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

This upstream PR supersedes jamesgao-jpg/VectorDBBench#3.

  • add task-level insert_batch_size across CLI, REST, frontend, datasets, runners, metrics, and load-reuse identity
  • keep streaming_insert_rate case-specific and validate that it is positive, at least the batch size, and divisible by it
  • replace NUM_PER_BATCH and the Cloud Insert-specific batch option with the common task setting
  • separate MemoryDB pipeline buffering as --memorydb-pipeline-batch-size, while accepting the legacy serialized field
  • preserve semantic qrel documents in capped FTS corpora by preparing the selected corpus before timed insertion; unfiltered loads still omit filter_id

Compatibility

  • new CLI options: --insert-batch-size and --streaming-insert-rate
  • removed CLI option: --cloud-insert-batch-size
  • old result files migrate Cloud Insert custom_case.batch_size and metric num_per_batch values into TaskConfig.insert_batch_size
  • backend-native request caps and sub-batching remain unchanged
  • capped FTS datasets use a temporary prepared corpus so qrel selection does not require a full raw-corpus scan during timed insertion

Verification

  • make lint
  • make unittest
  • 86 focused contract, CLI, runner, frontend, rate, reuse, and Cloud Insert tests
  • python -m pytest -q tests/test_fts_dataset.py (32 passed)
  • python -m pytest -q tests/test_frontend_run_settings.py (5 passed)
  • Milvus 2.6.20 functional probe: configured batch size 7 produced three 7-row insert calls, inserted 21/21 rows, completed indexing, and returned search results
  • server-hosted Streamlit smoke test: both insert controls rendered and browser console had no errors

Signed-off-by: jamesgao-jpg james.gao@zilliz.com

jamesgao-jpg

This comment was marked as outdated.

Replace environment and CloudInsert-specific batch sizing with a task-level
insert batch size shared by CLI, REST, frontend, datasets, and runners. Keep
streaming insert rate case-specific and validate its relationship to batching.

Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
@jamesgao-jpg
jamesgao-jpg force-pushed the insert_rate_batch_size_control branch from c4d3bd6 to 302f569 Compare August 12, 2026 03:59
jamesgao-jpg and others added 3 commits August 12, 2026 09:52
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
jamesgao-jpg and others added 4 commits August 13, 2026 12:41
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
Merging zilliztech#843 reintroduced config.NUM_PER_BATCH, which the insert-batch-size
control feature removed. Route the AOSS serverless bulk chunk size through
the task-level insert_batch_size instead, keeping the default of 100 and
the non-positive guard.

Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>

@XuanYang-cn XuanYang-cn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address the two inline findings before merging.

Comment thread vectordb_bench/backend/dataset.py Outdated
Comment thread vectordb_bench/frontend/config/dbCaseConfigs.py Outdated
Materialize capped qrel-preserving documents during dataset preparation and stream the prepared corpus for filtered and unfiltered loads. This keeps semantic ground truth retrievable without scanning the full raw corpus during timed insertion.

Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
@jamesgao-jpg
jamesgao-jpg force-pushed the insert_rate_batch_size_control branch from 641cb39 to 64771cd Compare August 24, 2026 06:08
Lower the streaming insert rate control minimum to one and rely on the existing batch/rate validation for valid combinations.

Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
@sre-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jamesgao-jpg, XuanYang-cn

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@XuanYang-cn
XuanYang-cn merged commit 08fabb2 into zilliztech:main Aug 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants