Files
zhuwenxing 734acf93f0 test: expand import and snapshot restore data integrity coverage (#53820)
## Summary

- Add Python client import coverage for nullable values, defaults, row
identity, scalar boundaries, vector encodings, dynamic fields, BM25,
geometry, and timestamps across supported file formats.
- Cover multi-file progress, empty-file commit/abort, malformed input,
and preservation of existing data after failed imports.
- Correct legacy import fixtures and assertions, including JSON field
NULLs and the distinction between non-finite and null array elements.
- Verify packed Storage V2 binlog restore after adding nullable
dense/sparse vectors. Native Storage V3 uses the snapshot export/restore
path instead.
- Strengthen the REST v2 L0 snapshot lifecycle test with per-row and
schema comparisons, NULL filtering, vector search, restore after
dropping the source snapshot and collection, reload checks, and
exported-object cleanup.

## Validation

Tested against Milvus commit `1ae8642b8b1` using `milvus-dev-cli` E2E
runners.

- REST v2 snapshot lifecycle: passed on Storage V2 (76.93s) and Storage
V3 (77.97s).
- Packed Storage V2 binlog restore: 2 passed (dense and sparse nullable
vectors).
- Nullable timestamp defaults: 3 passed (JSON, CSV, and Parquet).
- Targeted import and legacy bulk-insert runs covered nullable values,
defaults, partition keys, malformed files, vector encodings, scalar
boundaries, dynamic fields, BM25, and invalid array elements.
- Python import testcase collection after renaming: 60 cases collected.
- Changed snapshot testcase: Ruff formatting/lint, Python compilation,
and pytest collection passed. Renamed import testcase: Ruff lint, Python
compilation, and pytest collection passed.

Validation used targeted runs during development; the complete final
branch test selection has not been rerun as one suite. Snapshot
validation used serial REST runs. The default CI storage configuration
is not changed by this PR.

## Scope

Test-only changes. No production behavior changes.

---------

Signed-off-by: zhuwenxing <[email protected]>
2026-09-29 11:11:35 +08:00
..