apache/druid · error · IllegalArgumentException
error on uri
Error message
error on uri
What it means
RabbitStreamRecordSupplier.getPartitionIds failed to parse the configured stream URI: the URI string raised a URISyntaxException when connection parameters were extracted. The malformed URI (bad scheme, illegal characters, missing host, etc.) is rethrown as an IllegalArgumentException so the caller cannot proceed with an unusable stream location.
Solutions
- Check the wrapped URISyntaxException message for the exact parse failure and error index.
- Verify the stream URI in the ingestion spec follows the expected rabbitmq stream format (scheme://host:port/stream) with URL-escaped special characters.
- Remove stray whitespace or quotes from the configured URI.
- Test the URI with a standalone RabbitMQ stream client before restarting the task.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at extensions-contrib/rabbit-stream-indexing-service/src/main/java/org/apache/druid/indexing/rabbitstream/RabbitStreamRecordSupplier.java:467 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/d7ccb2d4662c3fe8.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-contrib/rabbit-stream-indexing-service/src/main/java/org/apache/druid/indexing/rabbitstream/RabbitStreamRecordSupplier.java:467
parameters.port(parsedURI.getPort());
}
if (this.password != null) {
parameters.password(password);
}
if (this.username != null) {
parameters.username(username);
}
Client client = getClient(parameters);
List<String> partitions = client.partitions(stream);
client.close();
return new HashSet<>(partitions);
}
catch (URISyntaxException e) {
throw new IllegalArgumentException("error on uri" + uri);
}
catch (Exception e) {
throw e;
}
}
@Override
public void close()
{
if (closed) {
return;
}
this.stopBackgroundFetch();
closed = true;
}
}
View on GitHub (pinned to 9b90983fd2)