weaviate/weaviate · error

write commits for node %d

Error message

write commits for node %d

What it means

HNSW compaction (mergeSorted): writing the merged commit entries for one node to the new WAL/segment file failed. The node ID identifies which entry's write failed; the compaction cycle aborts with the wrapped I/O error.

Source

Thrown at adapters/repos/db/vector/hnsw/compact/compactor.go:533

	if err := c.writeGlobalCommits(walWriter, merger.GlobalCommits()); err != nil {
		return errors.Wrap(err, "write global commits")
	}

	// Write node commits
	for {
		if isAborted(shouldAbort) {
			return ErrCompactionAborted
		}
		nc, err := merger.Next()
		if err != nil {
			return errors.Wrap(err, "get next from merger")
		}
		if nc == nil {
			break
		}

		if err := c.writeNodeCommits(walWriter, nc); err != nil {
			return errors.Wrapf(err, "write commits for node %d", nc.NodeID)
		}
	}

	if err := sfw.Commit(); err != nil {
		return errors.Wrap(err, "commit merged file")
	}

	// Delete source files after successful merge
	for _, f := range filesToMerge {
		if err := c.fs.Remove(f.Path); err != nil && !os.IsNotExist(err) {
			c.logger.WithField("file", f.Path).Warnf("failed to delete source file after merge: %v", err)
		}
	}

	c.logger.WithFields(logrus.Fields{
		"action":       "hnsw_compactor_merge",
		"output":       outFilename,
		"merged_count": len(filesToMerge),

View on GitHub (pinned to 75aa4b6d11)

When it happens

Trigger: Thrown at adapters/repos/db/vector/hnsw/compact/compactor.go:533 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04). Data as JSON: /api/errors/6637106e36f5bd4e. Report an issue: GitHub.