After initialize_mem_wal, every FTS query logs "ERROR Index __lance_mem_wal has no fields"
Maintainers usually reply within 2 days
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 86/100
Research direction
Start in lance rust/lance/src/index.rs around load_scalar_index at lines 2479-2490, then compare the system-index check in lance-index/src/lib.rs:89. Run the reproduction in $S/hunt/datashapes/memwal2.py and verify that FTS queries no longer emit errors for __lance_mem_wal while still returning the expected result.
Written by the indexing model from the issue text.
Description
Bug bash: Ready to fix
Bug bash priority: Low · critical-fix: no
From the FTS for Code bug bash (2026-10-01), findings: datashapes-6.md. Repros ran against released artifacts (pylance 12.0.0 / 13.0.0b18, lancedb 0.39.0 / 0.40.0b12, @lancedb/lancedb 0.40.0-beta.12) unless stated. $S is the bug bash scratch dir.
- Category: bug
- Environment: pylance local, Python 3.12, Linux arm64
- Artifacts: pylance 13.0.0b18 and pylance 12.0.0 (same output)
- Target tracker: GitHub
lance-format/lance
Repro
Script: $S/hunt/datashapes/memwal2.py
ds = lance.write_dataset(pa.table({"id": pa.array([0], pa.int64()), "c": ["def getUserName(): pass"]}), d + "/t")
ds.create_scalar_index("c", "INVERTED", analyzer="code", split_identifiers=True, name="c_idx")
ds = lance.dataset(d + "/t")
ds.initialize_mem_wal(maintained_indexes=["c_idx"], unsharded=True)
ds = lance.dataset(d + "/t")
ds.to_table(full_text_query="user", columns=["id"])
--- init mem_wal
--- FTS query
[2026-10-01T21:14:44Z ERROR lance::index] Index __lance_mem_wal has no fields
[2026-10-01T21:14:44Z ERROR lance::index] Index __lance_mem_wal has no fields
[2026-10-01T21:14:44Z ERROR lance::index] Index __lance_mem_wal has no fields
result [0]
--- list_indices
['__lance_mem_wal', 'c_idx']
The query result is correct, but each FTS query prints three ERROR lines. These look like corruption to users and to log alerting.
Expected behavior
No error log for the system MemWAL index, which never has fields by design.
Suspected root cause
load_scalar_index skips field-less indices but exempts only FRAG_REUSE_INDEX_NAME from the error log (lance rust/lance/src/index.rs:2479-2490). MEM_WAL_INDEX_NAME (__lance_mem_wal, imported at index.rs:32) is also field-less and is not exempted.
Fix direction
Exempt MEM_WAL_INDEX_NAME (or any system index) from that log, for example by reusing the system-index check in lance-index/src/lib.rs:89.
- Dominant language
- Rust
- Stars
- 7.2k
- Forks
- 882
- Avg merge
- 4d 18h
- Merged PRs (30d)
- 263
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lance-format/lance
-
perf: miniblock binary decode copies the chunk's value bytes instead of slicing themPossibly taken @LuciferYang claimed this 3 days ago. Openperformance
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
lance-format/lance#9928 ·
Maintainers usually reply within 2 days
-
bug: querying a bloom filter built from a zero-length bitset panicsPossibly taken @LuciferYang claimed this 22 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
lance-format/lance#9539 ·
Maintainers usually reply within 2 days
-
bug: main does not compile, MinHash calls build_prefilter without the metrics argumentPossibly taken @lance-gatefixer claimed this 22 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
lance-format/lance#9506 · 1 comment ·
Maintainers usually reply within 2 days
-
perf: mapping row offsets rescans the fragment for every offset when deletions are set-backedPossibly taken @LuciferYang claimed this 22 days ago. Openperformance
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
lance-format/lance#9498 ·
Maintainers usually reply within 2 days
-
bug: skip_transpose is ignored for IVF_HNSW_PQPossibly taken @LuciferYang claimed this 27 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
lance-format/lance#9418 ·
Maintainers usually reply within 2 days
All issues in lance-format/lance
Similar issues
-
documentation good first issue
Difficulty 2/5 Half a day Newbie friendliness 72/100
sujithputta02/Esapay#13 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
tursodatabase/turso#10002 ·
Maintainers usually reply within 1 day
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
topgrade-rs/topgrade#2419 ·
Maintainers usually reply within 1 day
-
review-bot
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
midagedev/bloomery#318 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Chia-Network/clvm_rs#863 ·
Maintainers usually reply within 1 day