weaviate/weaviate · error
active-drop check: %w
Error message
active-drop check: %w
What it means
OnTaskCompleted wraps a failure of p.activeOverlappingDrop — the epoch/overlap check that determines whether a newer drop of the same collection is still running. If the check itself errors (schema query failure), finalize cannot safely decide whether to remove the schema marker, so the error is returned to let the scheduler retry the completion.
Source
Thrown at adapters/repos/db/drop_vector_index_provider.go:773
return fmt.Errorf("coverage check: %w", err)
}
if len(uncovered) > 0 {
// Count + sample only: on a large MT collection the full list is a
// multi-MB log line of tenant names.
logger.WithField("uncoveredCount", len(uncovered)).
WithField("sample", uncovered[:min(len(uncovered), 10)]).
Info("drop-vector: task-completion: shards not covered by this task (inactive at enqueue or created since); " +
"leaving schema marker — reconciliation re-enqueues once they are active")
p.nudgeReconcile()
return nil
}
// A replayed completion (LocalCallbacksDone=false) is epoch-blind: this task's
// finalize must not remove the marker of a NEWER drop of the same name that is
// still running — that would free the name while the newer op strips it.
if blocked, err := p.activeOverlappingDrop(task, payload); err != nil {
// Retry via the scheduler (see the delete-op failure above).
return fmt.Errorf("active-drop check: %w", err)
} else if blocked {
logger.Info("drop-vector: task-completion: a newer drop task on the same target is active; leaving its schema marker")
return nil
}
if err := p.schema.RemoveDroppedVectorConfig(p.serverCtx, payload.Collection, payload.Targets); err != nil {
// Retry via the scheduler (see the delete-op failure above). Acking a
// failed finalize write is the worst case of the four: the FINISHED
// record carries COMPLETE coverage, so every reconcile round would
// re-read "complete chain + standing marker" as closed-epoch residue
// and re-strip the whole collection, forever, while retained records
// accumulate.
return fmt.Errorf("removing VectorConfig entries: %w", err)
}
logger.Info("drop-vector: task-completion: dropped vector(s) removed from schema")
return nil
}
View on GitHub (pinned to 75aa4b6d11)
Solutions
- Rely on the scheduler retry: the completion callback will be replayed
- Investigate the wrapped cause (schema/sharding state unavailability)
- No manual action needed if transient — finalize is idempotent and deferred safely
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at adapters/repos/db/drop_vector_index_provider.go:773 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/93195d83eaa38d99.
Report an issue: GitHub.