Skip to content

Print build metadata during startup#11

Merged
hubcio merged 1 commit intomasterfrom
print_build_metadata
Sep 9, 2023
Merged

Print build metadata during startup#11
hubcio merged 1 commit intomasterfrom
print_build_metadata

Conversation

@hubcio
Copy link
Copy Markdown
Contributor

@hubcio hubcio commented Sep 9, 2023

Added printing of relevant build metadata during
startup of iggy-server. This should help debug
problems in the future.

Added printing of relevant build metadata during
startup of iggy-server. This should help debug
problems in the future.
@hubcio hubcio force-pushed the print_build_metadata branch from 9dfed7f to 5428ad4 Compare September 9, 2023 10:13
Copy link
Copy Markdown
Contributor

@spetz spetz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be certainly helpful when debugging the issues :)

@hubcio hubcio merged commit 162cf73 into master Sep 9, 2023
@hubcio hubcio deleted the print_build_metadata branch September 9, 2023 10:27
ryerraguntla referenced this pull request in ryerraguntla/iggy-1 Feb 23, 2026
…stall

fix: stale Cargo cache causing hwloc linker failure on macOS
mlevkov added a commit to mlevkov/iggy that referenced this pull request Mar 21, 2026
Functional changes addressing hubcio's review feedback:

apache#1  Consuming iterator: all 4 send methods now iterate `for message in
    messages` (owned) instead of `for message in &messages` with
    `.clone()` on payloads. Uses `std::mem::replace` to extract payload
    while keeping message intact for `build_envelope()`.

apache#2  DRY refactor: extracted `send_per_message()` — shared per-message
    loop with circuit breaker, partial delivery accounting, and payload
    size enforcement. `send_individual()` and `send_raw()` are now thin
    closures over the shared method.

apache#4  Pre-built HeaderMap: headers are parsed once in `open()` after
    validation, stored as `reqwest::header::HeaderMap`, and cloned per
    request in `send_with_retry()`. Removes `request_builder()` method.

apache#5  UUID v8: `format_u128_as_uuid()` now uses `Uuid::new_v8()` to set
    proper RFC 4122 version/variant bits. Adds `uuid` dep with `v8`
    feature.

apache#6  HashSet for success_status_codes: O(1) lookup in the hot path
    (`send_with_retry()`) instead of O(n) Vec scan.

apache#7  Zero-alloc UUID: `Uuid::to_string()` uses stack-allocated formatting
    (resolved by apache#5's Uuid switch).

apache#9  Forward iggy message headers: `build_envelope()` includes
    `iggy_headers` in metadata when `ConsumedMessage.headers` is present.
    Uses `to_string_value()` for human-readable key/value strings.

apache#10 Success/transient overlap warning: `open()` warns when
    `success_status_codes` overlap with transient retry codes (429, 5xx).

apache#11 Worst-case latency doc: `consume()` doc comment documents
    `batch_length * (max_retries + 1) * max_retry_delay` formula.

62 unit tests pass, zero clippy warnings.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants