mfyuce commented on PR #3516:
URL: https://github.com/apache/iggy/pull/3516#issuecomment-4766282575
The `partial_success: None` concern and the log-flood / misleading-async
comment were both addressed in the push from earlier today (commit cfd47d1d):
- `send_messages` is now a plain `fn` (no `.await`), counts drops silently
in the loop, and fires a single `warn!("dropped {dropped}/{total} {signal}
messages")` after the loop.
- Each service impl now populates the OTLP-spec rejection field
(`rejected_log_records`, `rejected_data_points`, `rejected_spans`) when the
drop count is nonzero.
On the `try_send` vs `send().await + timeout + RESOURCE_EXHAUSTED` question:
both are valid. The current approach uses non-blocking `try_send` and reports
drops via `partial_success`, which keeps the gRPC handler non-blocking and is
spec-compliant. The `RESOURCE_EXHAUSTED` path forces the client to back off and
retry, which avoids data loss but holds the gRPC connection open for up to the
timeout duration and can cause connection pile-up under sustained load. Happy
to switch if you prefer the stronger backpressure guarantee.
/ready
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]