Full ERROR Message Example:
[2020-09-10 16:25:33,771] [STORAGE] [ERROR] [HintsWriteExecutor:1] CassandraDaemon.java:442 - Exception in thread Thread[HintsWriteExecutor:1,5,main] org.apache.cassandra.io.FSWriteError: java.io.IOException: Unable to open hint directory /tmp/cassandra/hints at org.apache.cassandra.hints.HintsCatalog.fsyncDirectory(HintsCatalog.java:167) at org.apache.cassandra.hints.HintsWriteExecutor$FsyncWritersTask.run(HintsWriteExecutor.java:204) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: Unable to open hint directory /tmp/cassandra/hints ... 8 common frames omitted [2020-09-10 16:25:33,771] [STORAGE] [ERROR] [BatchlogTasks:1] CassandraDaemon.java:442 - Exception in thread Thread[BatchlogTasks:1,5,main] java.lang.RuntimeException: java.util.concurrent.ExecutionException: FSWriteError in /tmp/cassandra/hints at org.apache.cassandra.hints.HintsWriteExecutor.fsyncWritersBlockingly(HintsWriteExecutor.java:107) at org.apache.cassandra.hints.HintsService.flushAndFsyncBlockingly(HintsService.java:200) at org.apache.cassandra.batchlog.BatchlogManager.processBatchlogEntries(BatchlogManager.java:313) at org.apache.cassandra.batchlog.BatchlogManager.replayFailedBatches(BatchlogManager.java:226) at org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:118) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:748) Caused by: java.util.concurrent.ExecutionException: FSWriteError in /tmp/cassandra/hints at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.cassandra.hints.HintsWriteExecutor.fsyncWritersBlockingly(HintsWriteExecutor.java:103) ... 12 common frames omitted Caused by: org.apache.cassandra.io.FSWriteError: java.io.IOException: Unable to open hint directory /tmp/cassandra/hints at org.apache.cassandra.hints.HintsCatalog.fsyncDirectory(HintsCatalog.java:167) at org.apache.cassandra.hints.HintsWriteExecutor$FsyncWritersTask.run(HintsWriteExecutor.java:204) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) ... 4 common frames omitted Caused by: java.io.IOException: Unable to open hint directory /tmp/cassandra/hints ... 8 common frames omitted
What does this error mean?
This error means that the hints directory could not be located, and as a result, the files in the directory could not be sync'd.
Why does this error occur?
This error means that Cassandra was unable to open the corresponding hints directory as configured, and was therefore unable to flush the in-memory hints to disk.
How do you fix this error?
You need to ensure that the hints directory as configured in the cassandra.yaml file exists, and that the cassandra-user account needs to have read / write permissions set on the directory, and any sub-directories (recursively).