Windows CI takes ~28min vs ~18min on Linux, with some individual tests
running 10-50x slower due to Windows filesystem IO overhead. Since we
only need functional compatibility on Windows (not performance testing),
reduce iteration counts for the worst offenders:
- WAL quickcheck: 10 → 3 iterations (saves ~350s)
- Consensus manager proptests: 256 → 10 cases (saves ~100s)
- Deferred point tests: reduce loop combinations (saves ~250s)
- Gridstore test_behave_like_hashmap: 50k → 10k operations (saves ~200s)
Co-authored-by: Cursor Agent <agent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Adapt to breaking changes in fs4 1.0.0:
- `fs4::fs_std::FileExt` flattened to `fs4::FileExt` (segment.rs)
- Removed `fs4::FileExt` import from lib.rs — with Rust 1.89+
`File::try_lock()` is stabilized in std, so the fs4 trait is no
longer needed for exclusive locking
- `try_lock_exclusive()` → `try_lock()` via `fs_err::File` wrapper
with return type `Result<(), TryLockError>` (WouldBlock on contention)
- Removed `lock_contended_error()` — use `ErrorKind::WouldBlock`
On Windows, fs4 1.0.0 skips set_len inside allocate() when the
cluster-aligned allocation already covers the requested size. Add
explicit set_len calls after allocate() so the mmap has the correct
file extent.
The `fs4::available_space()` function used in shard/optimize.rs and
collection/disk_usage_watcher.rs is unchanged in 1.0.0.
Made-with: Cursor
Co-authored-by: Cursor Agent <agent@cursor.com>
Reduce test parameters across 5 areas to cut test runtime without
sacrificing coverage:
1. HNSW PQ tests: lower vector dimensionality from 131 to 64 for product
quantization variants, cutting PQ codebook training time (~31s -> ~8s)
2. HNSW index build: use 2 threads instead of 1 for index construction;
the tests only check accuracy above a threshold so determinism is not
required
3. Search attempts: reduce from 10 to 5 query vectors per test
4. Rescoring: skip the expensive re-upsert-all-as-zeros rescoring check
for PQ tests (already covered by scalar quantization variants)
5. Near-miss speedups:
- WAL: reduce QuickCheck iterations from 100 to 50
- Gridstore: halve operation counts, drop 64-byte block size case,
reduce proptest cases for gap search
- Continuous snapshot: reduce timeout from 20s to 10s
Made-with: Cursor
Co-authored-by: Cursor Agent <agent@cursor.com>