eBugs in Cloud Systems created CASSANDRA-15115:
--------------------------------------------------

             Summary: WindowsFailedSnapshotTracker.deleteOldSnapshots() throws 
RuntimeException when it failed to create a file
                 Key: CASSANDRA-15115
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15115
             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 {{throw}} statement 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/WindowsFailedSnapshotTracker.java

Line: 98

Class: {{RuntimeException}}

Error message: {{"Failed to create failed snapshot tracking file [%s]. 
Aborting"}}

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 {{deleteOldSnapshots()}} failed to create a file. 
Will this mismatch be a problem? For example, will the callers miss the 
possibility that {{deleteOldSnapshots()}} can fail to create a file because it 
does not throw any {{IOException}}? Or, will the callers try to handle other 
{{RuntimeException}} accidentally (and incorrectly) handle the file creation 
failure?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to