vectordotdev/vector · error
all required builder params specified
Error message
all required builder params specified
What it means
Not a real failure: this string is the panic message of an expect() that documents an invariant, not an error path. The surrounding code confirms every required SqsClient builder field was already supplied, so the builder's build() cannot reject the request; the expect text merely explains why the unwrap is safe for the SQS message request in run_once.
Solutions
- Treat any occurrence as a bug in builder setup logic — report it rather than patching call sites
- Ensure client/queue_url/entries parameters passed into the builder are always set before build() is called
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at src/sources/aws_s3/sqs.rs:486 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of vectordotdev/vector@bdb87aeaa4 (2026-09-16).
Data as JSON: /api/errors/8c315ad363a97de3.
Report an issue: GitHub.
Appendix: source
Thrown at src/sources/aws_s3/sqs.rs:486
.clone()
.unwrap_or_else(|| "<unknown>".to_owned());
match self.handle_sqs_message(message.clone()).await {
Ok(()) => {
emit!(SqsMessageProcessingSucceeded {
message_id: &message_id
});
if self.state.delete_message {
trace!(
message = "Queued SQS message for deletion.",
id = message_id,
receipt_handle = receipt_handle,
);
delete_entries.push(
DeleteMessageBatchRequestEntry::builder()
.id(message_id.clone())
.receipt_handle(receipt_handle)
.build()
.expect("all required builder params specified"),
);
}
}
Err(err) => {
match err {
ProcessingError::FileTooOld { .. } => {
emit!(SqsMessageProcessingSucceeded {
message_id: &message_id
});
if let Some(deferred) = &self.state.deferred {
trace!(
message = "Forwarding message to deferred queue.",
id = message_id,
receipt_handle = receipt_handle,
deferred_queue = deferred.queue_url,
);
deferred_entries.push(View on GitHub (pinned to bdb87aeaa4)