Description
spans.update_annotations() always emits a WARNING log:
Flight update response missing counts | project='...' request_type='ANNOTATION' total_spans=1 spans_processed=None spans_updated=1 spans_failed=None success_rate=None error_count=0
The annotation writes succeed (spans_updated=1), but spans_processed is None because the Flight gRPC response doesn't populate that field.
Source
arize/spans/client.py line ~1453:
spans_processed = getattr(response, "spans_processed", None)
# ...
if spans_processed is None or spans_updated is None:
logger.warning("Flight update response missing counts", extra=metrics)
The response object from the server doesn't include spans_processed, so getattr returns None, triggering the warning on every successful write.
Impact
- Every annotation write produces a spurious WARNING log line
- Noisy in production log monitoring (CloudWatch, etc.)
- Annotations are written correctly — this is cosmetic
Environment
- arize SDK: 8.16.0
- Python: 3.13
- Using
spans.update_annotations() with single-span DataFrames
Suggestion
Either:
- Populate
spans_processed in the Flight server response for annotation writes, or
- Downgrade to
logger.debug when spans_updated is present and spans_processed is missing (successful write, just missing metadata)
Description
spans.update_annotations()always emits aWARNINGlog:The annotation writes succeed (
spans_updated=1), butspans_processedisNonebecause the Flight gRPC response doesn't populate that field.Source
arize/spans/client.pyline ~1453:The response object from the server doesn't include
spans_processed, sogetattrreturnsNone, triggering the warning on every successful write.Impact
Environment
spans.update_annotations()with single-span DataFramesSuggestion
Either:
spans_processedin the Flight server response for annotation writes, orlogger.debugwhenspans_updatedis present andspans_processedis missing (successful write, just missing metadata)