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)