[
https://issues.apache.org/jira/browse/HDDS-13866?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Attila Doroszlai updated HDDS-13866:
------------------------------------
Summary: Use component-specific default directory for Ratis (was: Ozone
datanode startup exception on colocated hosts locked the storage
directory:./ratis/)
> Use component-specific default directory for Ratis
> --------------------------------------------------
>
> Key: HDDS-13866
> URL: https://issues.apache.org/jira/browse/HDDS-13866
> Project: Apache Ozone
> Issue Type: Improvement
> Components: Ozone CLI
> Affects Versions: 2.0.0
> Reporter: Soumitra Sulav
> Assignee: Gargi Jaiswal
> Priority: Major
> Labels: installer, pull-request-available
> Fix For: 2.2.0
>
>
>
> Common properties set on a colocated host for SCM/OM HA and datanodes.
> {code:java}
> <property>
> <name>hdds.datanode.dir</name>
> <value>DATA_BASE/data/dn</value> </property>
> <property>
> <name>dfs.container.ratis.datanode.storage.dir</name>
> <value>DATA_BASE/data/ratis</value> </property>
> <property>
> <name>ozone.metadata.dirs</name>
> <value>DATA_BASE/meta/data</value> </property>
> <property>
> <name>ozone.scm.datanode.id.dir</name>
> <value>DATA_BASE/meta/scm</value> </property>
> <property>
> <name>ozone.om.ratis.snapshot.dir</name>
> <value>DATA_BASE/meta/ratis</value>
> </property>
> <property>
> <name>ozone.om.db.dirs</name>
> <value>DATA_BASE/meta/om</value>
> </property>{code}
> Error seen in datanode logs
> {code:java}
> 2025-11-01 12:33:10,363 [main] INFO
> org.apache.hadoop.ozone.container.common.volume.MutableVolumeSet: Added
> Volume : /data/ozone/data/dn/hdds to VolumeSet
> 2025-11-01 12:33:10,366 [main] WARN
> org.apache.hadoop.hdds.server.ServerUtils: Storage directory for Ratis is not
> configured. It is a good idea to map this to an SSD disk. Falling back to
> ozone.metadata.dirs
> 2025-11-01 12:33:10,372 [main] INFO
> org.apache.hadoop.hdds.fs.SaveSpaceUsageToFile: Cached usage info found in
> /data/ozone/meta/data/ratis/scmUsed: 4231168 at 2025-11-01T12:33:06.540Z{code}
>
> {code:java}
> 2025-11-01 12:33:15,551 [a3f6b64c-0d96-4997-aaa4-ecf78411ab1c-impl-thread1]
> ERROR org.apache.ratis.server.storage.RaftStorageDirectory: It appears that
> another process has already locked the storage directory:
> /data/ozone/meta/data/ratis/b4d30077-850e-3900-91cf-d0d586af6951
> java.nio.channels.OverlappingFileLockException
> at
> org.apache.ratis.server.storage.RaftStorageDirectoryImpl.tryLock(RaftStorageDirectoryImpl.java:226)
> at
> org.apache.ratis.server.storage.RaftStorageDirectoryImpl.lambda$lock$0(RaftStorageDirectoryImpl.java:193)
> at
> org.apache.ratis.util.JavaUtils.lambda$attempt$7(JavaUtils.java:212)
> at org.apache.ratis.util.JavaUtils.attempt(JavaUtils.java:225)
> at org.apache.ratis.util.JavaUtils.attempt(JavaUtils.java:212)
> at org.apache.ratis.util.FileUtils.attempt(FileUtils.java:45)
> at
> org.apache.ratis.server.storage.RaftStorageDirectoryImpl.lock(RaftStorageDirectoryImpl.java:193)
> at
> org.apache.ratis.server.storage.RaftStorageDirectoryImpl.analyzeStorage(RaftStorageDirectoryImpl.java:156)
> at
> org.apache.ratis.server.storage.RaftStorageImpl.analyzeAndRecoverStorage(RaftStorageImpl.java:106)
> at
> org.apache.ratis.server.storage.RaftStorageImpl.initialize(RaftStorageImpl.java:66)
> at
> org.apache.ratis.server.storage.StorageImplUtils$Op.recover(StorageImplUtils.java:176)
> at
> org.apache.ratis.server.storage.StorageImplUtils$Op.run(StorageImplUtils.java:129)
> at
> org.apache.ratis.server.storage.StorageImplUtils.initRaftStorage(StorageImplUtils.java:100)
> at
> org.apache.ratis.server.impl.ServerState.lambda$new$2(ServerState.java:118)
> at
> org.apache.ratis.util.MemoizedCheckedSupplier.get(MemoizedCheckedSupplier.java:68)
> at
> org.apache.ratis.server.impl.ServerState.initialize(ServerState.java:140)
> at
> org.apache.ratis.server.impl.RaftServerImpl.start(RaftServerImpl.java:387)
> at
> org.apache.ratis.util.ConcurrentUtils.accept(ConcurrentUtils.java:203)
> at
> org.apache.ratis.util.ConcurrentUtils.lambda$null$4(ConcurrentUtils.java:182)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
> at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> at java.base/java.lang.Thread.run(Thread.java:840) {code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]