2.7 KiB
Important
This procedure requires restarting all minio server
processes
associated to the deployment at the same time. There is typically a
brief period of time during which API operations are interrupted or may
fail.
Applications using an S3-compatible SDK with built-in retry logic or which implement manual retry logic typically experience no notable interruption in services. For applications which cannot use retry-logic, consider scheduling a maintenance period to minimize interruption of services while performing this procedure.
/reference/minio-cli/minio-mc/mc-rm.rst /reference/minio-cli/minio-mc/mc-mv.rst /reference/minio-cli/minio-mc/mc-mirror.rst
|command| relies on the mc
removal API for deleting
objects. As part of removing the last object in a bucket prefix, mc
also recursively removes
each empty part of the prefix up to the bucket root. mc
only applies the recursive
removal to prefixes created implicitly as part of object write
operations - that is, the prefix was not created using an explicit
directory creation command such as mc mb
.
For example, consider a bucket photos
with the following
object prefixes:
photos/2021/january/myphoto.jpg
photos/2021/february/myotherphoto.jpg
photos/NYE21/NewYears.jpg
photos/NYE21
is the only prefix explicitly
created using mc mb
. All
other prefixes were implicitly created as part of writing the
object located at that prefix.
If an mc
command
removes myphoto.jpg
, the removal API automatically trims
the empty /january
prefix. If a subsequent mc
command removes
myotherphoto.jpg
, the removal API automatically trims both
the /february
prefix and the now-empty
/2021
prefix. If an mc
command removes NewYears.jpg
, the
/NYE21
prefix remains in place since it was
explicitly created.
If using |command| for operations on
a filesystem, mc
applies
this same behavior by recursively trimming empty directory paths up to
the root. However, the mc
remove API cannot distinguish between an explicitly
created directory path and an implicitly created one. If |command| deletes the last object at a
filesystem path, mc
recursively deletes all empty directories within that path up to the
root as part of the removal operation.