fix(vector): don't inflate qdrant-error metric on embed drops (#893 r3)
Round-3 review on PR #893: - record_qdrant_operation("upsert","error") now fires only when the exhausted retry was actually a Qdrant failure (reason=="qdrant"); an embed/connection failure exhausts retries before Qdrant is called, so attributing it to mcp_qdrant_operations_total{error} inflated that signal. The cause is still captured by record_ingest_dropped. - Add test_mistral_embed_retries_on_5xx: exercises the full Mistral retry path (5xx SDKError then success), not just the predicate. - Add test_generate_does_not_retry_on_bad_request: generate() fast-fails on a permanent 4xx. - Move astrolabe_vector_ingest_dropped_total's definition into the astrolabe_ pipeline-metrics block (was in the mcp_ section). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
8f7a8432f5
commit
c4b6d4a017
@@ -161,18 +161,6 @@ vector_sync_processing_duration_seconds = Histogram(
|
||||
buckets=(0.1, 0.5, 1.0, 2.5, 5.0, 10.0, 30.0, 60.0),
|
||||
)
|
||||
|
||||
# Documents dropped after exhausting in-process indexing retries (the scanner
|
||||
# re-picks them on a later full scan, so this is "dropped for this cycle", not
|
||||
# "lost forever"). Labelled by classified cause so the embed-drop rate from a
|
||||
# transient backend-pod rollover (connection/timeout) is alertable distinctly
|
||||
# from a persistent fault (card 309). astrolabe_ prefix: pipeline metric.
|
||||
vector_ingest_dropped_total = Counter(
|
||||
"astrolabe_vector_ingest_dropped_total",
|
||||
"Documents dropped after exhausting indexing retries, by cause",
|
||||
# reason: connection | timeout | rate_limit | server | qdrant | other
|
||||
["reason"],
|
||||
)
|
||||
|
||||
vector_sync_queue_size = Gauge(
|
||||
"mcp_vector_sync_queue_size",
|
||||
"Current number of documents in processing queue",
|
||||
@@ -284,6 +272,18 @@ document_parse_failed_total = Counter(
|
||||
["reason"], # reason: timeout | oom | error
|
||||
)
|
||||
|
||||
# Documents dropped after exhausting in-process indexing retries (the scanner
|
||||
# re-picks them on a later full scan, so this is "dropped for this cycle", not
|
||||
# "lost forever"). Labelled by classified cause so the embed-drop rate from a
|
||||
# transient backend-pod rollover (connection/timeout) is alertable distinctly
|
||||
# from a persistent fault (card 309).
|
||||
vector_ingest_dropped_total = Counter(
|
||||
"astrolabe_vector_ingest_dropped_total",
|
||||
"Documents dropped after exhausting indexing retries, by cause",
|
||||
# reason: connection | timeout | rate_limit | server | qdrant | other
|
||||
["reason"],
|
||||
)
|
||||
|
||||
# --- Tier-0 classifier (shadow mode) -----------------------------------------
|
||||
#
|
||||
# The classifier runs a cheap pre-pass per PDF and recommends a starting tier.
|
||||
|
||||
Reference in New Issue
Block a user