{"record":{"id":"a5e54bbbc289a319","repo":"influxdata/influxdb","slug":"failed-to-properly-configure-parquet-upload-0","errorCode":null,"errorMessage":"failed to properly configure parquet upload: {0}","messagePattern":"failed to properly configure parquet upload: (.+?)","errorType":"error_code","errorClass":"UploadError","httpStatus":null,"severity":"error","filePath":"core/parquet_file/src/storage.rs","lineNumber":62,"sourceCode":"///\n/// [`RecordBatch`]: arrow::record_batch::RecordBatch\n#[derive(Debug, Error)]\npub enum UploadError {\n    /// A codec failure during serialisation.\n    #[error(transparent)]\n    Serialise(#[from] CodecError),\n\n    /// An error during Parquet metadata conversion when attempting to\n    /// instantiate a valid [`IoxParquetMetaData`] instance.\n    #[error(\"failed to construct IOx parquet metadata: {0}\")]\n    Metadata(crate::metadata::Error),\n\n    /// Uploading the Parquet file to object store failed.\n    #[error(\"failed to upload to object storage: {0}\")]\n    Upload(#[from] object_store::Error),\n\n    /// Error in configuration.\n    #[error(\"failed to properly configure parquet upload: {0}\")]\n    Config(#[from] DataFusionError),\n}\n\nimpl From<UploadError> for DataFusionError {\n    fn from(value: UploadError) -> Self {\n        match value {\n            UploadError::Serialise(e) => {\n                Self::Context(String::from(\"serialize\"), Box::new(e.into()))\n            }\n            UploadError::Metadata(e) => Self::External(Box::new(e)),\n            UploadError::Upload(e) => Self::ObjectStore(Box::new(e)),\n            UploadError::Config(e) => Self::External(e.into()),\n        }\n    }\n}\n\n/// ID for an object store hooked up into DataFusion.\n#[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)]","sourceCodeStart":44,"sourceCodeEnd":80,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/core/parquet_file/src/storage.rs#L44-L80","documentation":"UploadError::Config, a #[from] DataFusionError wrapper for configuration errors when setting up parquet upload. Raised when the parquet upload path is configured with invalid options (e.g. invalid writer properties parsed into DataFusion config).","triggerScenarios":"Constructing the parquet upload sink with invalid configuration — e.g. malformed parquet writer options supplied through DataFusion config, invalid enum values, or out-of-range settings.","commonSituations":"Typo'd or unsupported parquet writer option keys in config, invalid compression names, max row group sizes that violate constraints, config supplied as an unsupported DataFusion type.","solutions":["Read the wrapped DataFusionError to see which configuration key/value was rejected","Fix the parquet writer options (valid compression codec, sane row group/page sizes) before constructing the upload sink","Validate configuration at startup, before any write is attempted","Check for DataFusion version changes that renamed or removed config options"],"exampleFix":"// before\n\"datafusion.execution.parquet.compression\" => \"brotli9x\" // invalid value\n// after\n\"datafusion.execution.parquet.compression\" => \"zstd(3)\" // valid config value","handlingStrategy":"validation","validationCode":"// validate parquet writer config at startup\nlet opts = ParquetOptions::try_from_config(&config)\n    .map_err(|e| format!(\"invalid parquet upload config: {e}\"))?;","typeGuard":null,"tryCatchPattern":"match res {\n    Err(UploadError::Config(e)) => {\n        error!(%e, \"parquet upload misconfigured; fix options before retrying\")\n    }\n    other => other?,\n}","preventionTips":["Validate parquet writer options at process startup, not first write","Use only documented DataFusion parquet config keys and value formats","Check DataFusion upgrade notes for renamed/removed config options"],"tags":["configuration","parquet","upload","datafusion"],"backgroundTag":"invalid-config-value","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}