{"record":{"id":"30e105d98cae6b7b","repo":"rustfs/rustfs","slug":"volumenotempty","errorCode":"VolumeNotEmpty","errorMessage":"Volume not empty","messagePattern":"Volume not empty","errorType":"exception","errorClass":"StorageError","httpStatus":409,"severity":"error","filePath":"crates/ecstore/src/error/mod.rs","lineNumber":97,"sourceCode":"    DiskAccessDenied,\n    #[error(\"Drive is root\")]\n    DriveIsRoot,\n    #[error(\"Unformatted disk\")]\n    UnformattedDisk,\n    #[error(\"Corrupted format\")]\n    CorruptedFormat,\n    #[error(\"Corrupted backend\")]\n    CorruptedBackend,\n    #[error(\"Too many open files\")]\n    TooManyOpenFiles,\n    #[error(\"maximum versions exceeded, please delete few versions to proceed\")]\n    MaxVersionsExceeded,\n    #[error(\"inconsistent drive found\")]\n    InconsistentDisk,\n    #[error(\"drive does not support O_DIRECT\")]\n    UnsupportedDisk,\n    #[error(\"disk not a dir\")]\n    DiskNotDir,\n    #[error(\"drive still did not complete the request\")]\n    DiskOngoingReq,\n    #[error(\"path not found\")]\n    PathNotFound,\n    #[error(\"bit-rot hash algorithm is invalid\")]\n    BitrotHashAlgoInvalid,\n    #[error(\"Rename across devices not allowed, please fix your backend configuration\")]\n    CrossDeviceLink,\n    #[error(\"less data available than what was requested\")]\n    LessData,\n    #[error(\"more data was sent than what was advertised\")]\n    MoreData,\n    #[error(\"outdated XL meta\")]\n    OutdatedXLMeta,\n    #[error(\"part missing or corrupt\")]\n    PartMissingOrCorrupt,\n    #[error(\"short write\")]\n    ShortWrite,","sourceCodeStart":79,"sourceCodeEnd":115,"githubUrl":"https://github.com/rustfs/rustfs/blob/5dca076efed96e7b842de07c4c2111035ae7c7a2/crates/ecstore/src/error/mod.rs#L79-L115","documentation":"Sentinel StorageErr variant returned when deleting a volume (bucket directory) that still contains objects or metadata. It fires from the storage layer's volume-delete path after listing shows the directory is non-empty, guarding against accidental data loss during bucket removal.","triggerScenarios":"Thrown at crates/ecstore/src/error/mod.rs:97 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Refuse bucket deletion and surface BucketNotEmpty to the client per S3 semantics","Verify all objects (including delete markers and incomplete multipart uploads) are removed before retrying DeleteBucket","Audit lifecycle/ILM rules that may keep recreating objects under the prefix"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5dca076efed96e7b842de07c4c2111035ae7c7a2","analyzedAt":"2026-08-20T21:57:04.799Z","contentChangedAt":"2026-08-20T21:57:04.799Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}