Skip to content

Commit a1b134c

Browse files
dfa1claude
andcommitted
docs(todo): track missing Java→Rust interop tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 222a995 commit a1b134c

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

TODO.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,24 @@
4242
metadata (e.g. `RLEMetadata`, `RunEndMetadata`) has no upstream `.proto`; tag mismatches
4343
silently produce zero/default values in proto3. Add value-level assertions (not just
4444
`rowCount > 0`) to integration tests to catch silent corruption.
45+
- [ ] **Add missing Java-writes→Rust-reads interop tests**`JavaWritesRustReadsIntegrationTest`
46+
currently covers: `vortex.primitive` (I32/I64/F32/F64/F16), `vortex.varbin`, `vortex.dict`,
47+
`vortex.fsst`, `fastlanes.*`/`vortex.alp`/`vortex.alprd` (via cascading OHLC).
48+
Missing encodings (prioritised by byte-ordering / proto risk):
49+
- **`vortex.varbinview`** — 16-byte view struct has inlined data + prefix field; byte-order bug
50+
would survive Java-only round-trip but break Rust read
51+
- **`vortex.list` / `vortex.listview`** — proto tag mismatch already found once (U32 not U16);
52+
write path exercises `elements_len` + `offset_ptype` serialisation
53+
- **`vortex.zstd`** — frame format + optional dict; Rust strict about frame magic
54+
- **`vortex.sparse`** — patches offset encoding has endianness assumptions
55+
- **`vortex.zigzag`** — signed int codec, simple but untested end-to-end
56+
- **`vortex.runend`** — RLE with varying ptypes
57+
- **`vortex.bool` / `vortex.bytebool`** — boolean columns
58+
- **`vortex.constant`** — constant-value arrays
59+
- **`vortex.null`** — null columns
60+
- **`fastlanes.rle`** — RLE encoding
61+
Pattern: `VortexWriter.create(ch, SCHEMA, WriteOptions.defaults(), List.of(new XxxEncoding()))`
62+
then `readStringColumn` / `readLongColumn` via JNI. Run with `./mvnw verify -pl integration -am`.
4563
- [ ] lots of repetitions like in every test
4664
```java
4765
private static final DType I64 = new DType.Primitive(PType.I64, false);

0 commit comments

Comments
 (0)