rustfs/rustfs · error · ParseConfigError
IO Error:{0}
Error message
IO Error:{0} What it means
ParseConfigError wrapper for an underlying std::io::Error raised while reading the notification configuration stream (the parser reads from an io::Read source). The io error is embedded; it distinguishes transport/read failure from XML content problems, so callers can retry the read instead of reporting invalid XML.
Source
Thrown at crates/notify/src/rules/xml_config.rs:51
#[error("There can only be one 'suffix' in the filter rule")]
DuplicateSuffixFilter,
#[error("Missing event name")]
MissingEventName,
#[error("Duplicate event name:{0}")]
DuplicateEventName(String), // EventName is usually an enum, and here String is used to represent its text
#[error("Repeated queue configuration: ID={0:?}, ARN={1}")]
DuplicateQueueConfiguration(Option<String>, String),
#[error("Unsupported configuration types (e.g. Lambda, Topic)")]
UnsupportedConfiguration,
#[error("ARN not found:{0}")]
ArnNotFound(String),
#[error("Unknown area:{0}")]
UnknownRegion(String),
#[error("ARN parsing error:{0}")]
ArnParseError(#[from] ArnError),
#[error("TargetID parsing error:{0}")]
TargetIDParseError(#[from] TargetIDError),
#[error("IO Error:{0}")]
IoError(#[from] std::io::Error),
#[error("Region mismatch: Configure region {config_region}, current region {current_region}")]
RegionMismatch { config_region: String, current_region: String },
#[error("ARN {0} Not found in the provided list")]
ArnValidation(String),
}
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct FilterRule {
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "Value")]
pub value: String,
}
impl FilterRule {
fn validate(&self) -> Result<(), ParseConfigError> {
if !self.name.eq_ignore_ascii_case("prefix") && !self.name.eq_ignore_ascii_case("suffix") {View on GitHub (pinned to 35af688cd9)
Solutions
- Check the wrapped I/O error (truncated body, broken stream, permissions)
- Resend/reload the configuration once the I/O condition is fixed
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at crates/notify/src/rules/xml_config.rs:51 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rustfs/rustfs@35af688cd9 (2026-08-20).
Data as JSON: /api/errors/5ee4e729fc259667.
Report an issue: GitHub.