weaviate/weaviate · error

parse start timestamp from %s

Error message

parse start timestamp from %s

What it means

Parsing the start timestamp of a merged-range commit log filename failed in parseFilename. The name matched a known suffix and contains an underscore, so it was treated as '{start}_{end}', but the part before '_' is not a valid base-10 integer. This indicates an unexpected/foreign file in the directory rather than a timestamp the writer itself produced.

Source

Thrown at adapters/repos/db/vector/hnsw/compact/file_discovery.go:223

		info.Type = FileTypeCondensed
		baseName = strings.TrimSuffix(name, suffixCondensed)
	case strings.HasSuffix(name, suffixSorted):
		info.Type = FileTypeSorted
		baseName = strings.TrimSuffix(name, suffixSorted)
	case strings.HasSuffix(name, suffixSnapshot):
		info.Type = FileTypeSnapshot
		baseName = strings.TrimSuffix(name, suffixSnapshot)
	default:
		info.Type = FileTypeRaw
	}

	// Parse timestamp(s) from base name
	// Format: {timestamp} or {start}_{end}
	if start, end, ok := strings.Cut(baseName, "_"); ok {
		// Merged range format: {start}_{end}
		startTS, err := strconv.ParseInt(start, 10, 64)
		if err != nil {
			return FileInfo{}, errors.Wrapf(err, "parse start timestamp from %s", name)
		}

		endTS, err := strconv.ParseInt(end, 10, 64)
		if err != nil {
			return FileInfo{}, errors.Wrapf(err, "parse end timestamp from %s", name)
		}

		info.StartTS = startTS
		info.EndTS = endTS
	} else {
		// Single timestamp format
		ts, err := strconv.ParseInt(baseName, 10, 64)
		if err != nil {
			return FileInfo{}, errors.Wrapf(err, "parse timestamp from %s", name)
		}

		info.StartTS = ts
		info.EndTS = ts

View on GitHub (pinned to 75aa4b6d11)

Solutions

  1. Move or remove the non-Weaviate file from the commit log directory
  2. Check for hand-edited or restored-with-rename commit log files and correct their names to {start}_{end}{suffix}
  3. If Weaviate itself produced the name, capture it and report — writers only emit valid timestamps
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at adapters/repos/db/vector/hnsw/compact/file_discovery.go:223 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/fb7f5cdb0b5aa35f. Report an issue: GitHub.