Igor Soarez created KAFKA-16363: ----------------------------------- Summary: Storage crashes if dir is unavailable Key: KAFKA-16363 URL: https://issues.apache.org/jira/browse/KAFKA-16363 Project: Kafka Issue Type: Sub-task Components: tools Affects Versions: 3.7.0 Reporter: Igor Soarez
The storage tool crashes if one of the configured log directories is unavailable. {code:java} sh-4.4# ./bin/kafka-storage.sh format --ignore-formatted -t $KAFKA_CLUSTER_ID -c server.properties [2024-03-11 17:51:05,391] ERROR Error while reading meta.properties file /data/d2/meta.properties (org.apache.kafka.metadata.properties.MetaPropertiesEnsemble) java.nio.file.AccessDeniedException: /data/d2/meta.properties at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106) at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:218) at java.base/java.nio.file.Files.newByteChannel(Files.java:380) at java.base/java.nio.file.Files.newByteChannel(Files.java:432) at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422) at java.base/java.nio.file.Files.newInputStream(Files.java:160) at org.apache.kafka.metadata.properties.PropertiesUtils.readPropertiesFile(PropertiesUtils.java:77) at org.apache.kafka.metadata.properties.MetaPropertiesEnsemble$Loader.load(MetaPropertiesEnsemble.java:135) at kafka.tools.StorageTool$.formatCommand(StorageTool.scala:431) at kafka.tools.StorageTool$.main(StorageTool.scala:95) at kafka.tools.StorageTool.main(StorageTool.scala) metaPropertiesEnsemble=MetaPropertiesEnsemble(metadataLogDir=Optional.empty, dirs={/data/d1: MetaProperties(version=1, clusterId=RwO2UIkmTBWltwRllP05aA, nodeId=101, directoryId=zm7fSw3zso9aR0AtuzsI_A), /data/metadata: MetaProperties(version=1, clusterId=RwO2UIkmTBWltwRllP05aA, nodeId=101, directoryId=eRO8vOP7ddbpx_W2ZazjLw), /data/d2: ERROR}) I/O error trying to read log directory /data/d2. {code} When configured with multiple directories, Kafka tolerates some of them (but not all) being inaccessible, so this tool should be able to handle the same scenarios without crashing. -- This message was sent by Atlassian Jira (v8.20.10#820010)