fix(provider): heal finalized/safe block numbers ahead of highest header
Adapted from upstream 294e215. On startup, if the stored finalized or
safe block number is ahead of the highest header, reset it to the
highest header. Also update safe block number during pipeline unwind,
matching the existing finalized block number logic.
Co-Authored-By: joshieDo <93316087+joshieDo@users.noreply.github.com>
feat(otlp): set client-side timestamp on OTLP log records
The opentelemetry-appender-tracing bridge only sets observed_timestamp,
not timestamp. Backends receiving OTLP directly (without a collector)
use ingestion time, making duplicate log detection impossible when the
same log arrives twice with different ingestion times.
Adds a TimestampLogProcessor that sets timestamp = SystemTime::now()
on each log record before export.
Co-Authored-By: joshieDo <93316087+joshieDo@users.noreply.github.com>
fix: probe range support with GET instead of HEAD Accept-Ranges
Some servers support Range requests but don't advertise Accept-Ranges
in HEAD responses. Use a single-byte Range GET probe (bytes=0-0) and
check for 206 Partial Content + Content-Range header instead.
Co-Authored-By: zhygis <5236121+Zygimantass@users.noreply.github.com>