[ https://issues.apache.org/jira/browse/KAFKA-16363?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Igor Soarez reassigned KAFKA-16363: ----------------------------------- Assignee: Igor Soarez > 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 > Assignee: Igor Soarez > Priority: Major > > 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)