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

  1. Treat any occurrence as a bug in builder setup logic — report it rather than patching call sites
  2. 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)