eBugs in Cloud Systems created CASSANDRA-15114:
--------------------------------------------------
Summary: CompactionAwareWriter.getWriteDirectory() throws
RuntimeException when running out of disk space
Key: CASSANDRA-15114
URL: https://issues.apache.org/jira/browse/CASSANDRA-15114
Project: Cassandra
Issue Type: Bug
Reporter: eBugs in Cloud Systems
Dear Cassandra developers, we are developing a tool to detect exception-related
bugs in Java. Our prototype has spotted the following two {{throw}} statements
whose exception class and error message seem to indicate different error
conditions. Since we are not very familiar with Cassandra's internal work flow,
could you please help us to verify if this is a bug, i.e., will the callers
have trouble handling the exception, and will the users/admins have trouble
diagnosing the failure?
Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e)
File:
CASSANDRA-ROOT/src/java/org/apache/cassandra/db/compaction/writers/CompactionAwareWriter.java
Line: 222 & 231
Class: {{RuntimeException}}
Error messages:
# {{"Not enough space to write %s to %s (%s available)"}}
# {{"Not enough disk space to store %s"}}
Reason: {{RuntimeException}} is usually used to represent errors in the program
logic (think of one of its subclasses, {{NullPointerException}}), while the
error messages indicate that the Cassandra node is running out of disk space.
Will this mismatch be a problem? For example, will the callers miss the
possibility that {{getWriteDirectory()}} can run out of disk space because it
does not throw any {{IOException}}? Or, will the callers try to handle other
{{RuntimeException}} accidentally (and incorrectly) handle the out of disk
space scenario?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]