feat(clp-s): Change behaviour for kv-ir ingestion to warn and continue on error#733
Conversation
WalkthroughThis change updates the error handling mechanism within the Changes
Sequence Diagram(s)sequenceDiagram
participant Parser as JsonParser::parse_from_ir
participant CurlFunc as check_and_log_curl_error
participant Writer as ArchiveWriter/Decompressor
Parser->>Parser: Attempt deserialization of kv-ir log events
alt Error Encountered
Parser->>Parser: Log error with SPDLOG_WARN (includes stream path)
Parser->>CurlFunc: Call check_and_log_curl_error
alt Return value is true
Parser->>Writer: Close writer and decompressor
Parser->>Parser: Return false
else Return value is false
Parser->>Parser: Treat error as end-of truncated stream
Parser->>Parser: Break from loop
end
end
Possibly related PRs
Suggested reviewers
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (1)`**/*.{cpp,hpp,java,js,jsx,tpp,ts,tsx}`: - Prefer `false == ...
🧠 Learnings (1)components/core/src/clp_s/JsonParser.cpp (5)⏰ Context from checks skipped due to timeout of 90000ms (5)
🔇 Additional comments (2)
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
a5b3404 to
d5bcac3
Compare
Description
Properly handling kv-ir requires us to support ingesting truncated kv-ir streams, which can come about when workers producing those streams crash.
This PR modifies ingestion behaviour to handle most kv-ir deserialization errors by logging a warning and continuing on to the next stream. The only exceptions are that
Checklist
breaking change.
Validation performed
Summary by CodeRabbit