Skip to content

Vector index merge can hang #155190

@mw5h

Description

@mw5h

A deadlock exists between the memory accounting in the merger and the KV operations that vector indexing does to find the right location for a merged vector in the index. In constructMergeBatch(), we acquire a mutex on memory accounting and hold it until the batch is complete. Part of the encoding process for vector index entries is to do one or more KV operations to find the proper location in the index for the new entry, which can involve taking locks. If there is contention on one of the KV keys, a deadlock can result that is not detectable by KV's deadlock detection.

Jira issue: CRDB-55311

Metadata

Metadata

Assignees

Labels

C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.GA-blockerbranch-release-25.4Used to mark GA and release blockers and technical advisories for 25.4target-release-25.4.0target-release-26.1.0

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions