apache / apache/lucene

How to catch potential issues with the new Faiss vector format?

Open
#14,875 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

### Description

Opening this to discuss how we could catch issues (early on) with the new Faiss vector format (#14178) -- like memory leaks or bugs in Faiss itself, under more rigorous scenarios -- perhaps using long-running (or "monster" tests)

This is important because we're dealing with native code, without fine control over memory allocation and error handling -- and could result in the JVM crashing!

One such example is #14847, where we discovered an issue with attempting to index >2GB of vectors in a single field in a single segment (this issue was more on the codec side and how we passed data over to Faiss instead of the native part, but the above tests would help catch this nonetheless!)

Contributor guide

Open the contributing guide

Research direction

Start by reviewing issues #14178 and #14847 to understand the new Faiss vector format and the large-indexing failure. Define long-running or “monster” tests that exercise native Faiss handling under rigorous scenarios, with completion marked by coverage for memory leaks, Faiss errors, and JVM-crash risks.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, search, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.