[jira] [Updated] (CASSANDRA-15116) CommitLogArchiver.construct() throws a RuntimeException when it failed to create a directory

2019-05-09 Thread Jon Meredith (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-15116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jon Meredith updated CASSANDRA-15116:
-
 Severity: Low
   Complexity: Low Hanging Fruit
Discovered By: User Report
Fix Version/s: 4.x
  Component/s: Local/Commit Log

> CommitLogArchiver.construct() throws a RuntimeException when it failed to 
> create a directory
> 
>
> Key: CASSANDRA-15116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15116
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local/Commit Log
>Reporter: eBugs
>Assignee: Jon Meredith
>Priority: Low
> Fix For: 4.x
>
>
> 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 indicate 
> different error conditions.
>  
> Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 
> File: 
> CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
> Line: 110
> {code:java}
> throw new RuntimeException("Unable to create directory: " + dir);{code}
>  
> {{RuntimeException}} is usually used to represent errors in the program logic 
> (think of one of its subclasses, {{NullPointerException}}), while the error 
> message indicates that {{construct()}} failed to create a directory. This 
> mismatch could be a problem. For example, the callers may miss the 
> possibility that {{construct()}} can fail to create a directory because it 
> does not throw any {{IOException}}. Or, the callers trying to handle other 
> {{RuntimeException}} may accidentally (and incorrectly) handle the directory 
> creation failure.



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15116) CommitLogArchiver.construct() throws a RuntimeException when it failed to create a directory

2019-05-06 Thread eBugs (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-15116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

eBugs updated CASSANDRA-15116:
--
Description: 
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 indicate different error conditions.

 

Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 

File: 
CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
 

{{RuntimeException}} is usually used to represent errors in the program logic 
(think of one of its subclasses, {{NullPointerException}}), while the error 
message indicates that {{construct()}} failed to create a directory. This 
mismatch could be a problem. For example, the callers may miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}. Or, the callers trying to handle other 
{{RuntimeException}} may accidentally (and incorrectly) handle the directory 
creation failure.

  was:
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.

 

Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 

File: 
CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
 

{{RuntimeException}} is usually used to represent errors in the program logic 
(think of one of its subclasses, {{NullPointerException}}), while the error 
message indicates that {{construct()}} failed to create a directory. This 
mismatch could be a problem. For example, the callers may miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}. Or, the callers trying to handle other 
{{RuntimeException}} may accidentally (and incorrectly) handle the directory 
creation failure.


> CommitLogArchiver.construct() throws a RuntimeException when it failed to 
> create a directory
> 
>
> Key: CASSANDRA-15116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15116
> Project: Cassandra
>  Issue Type: Bug
>Reporter: eBugs
>Priority: Normal
>
> 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 indicate 
> different error conditions.
>  
> Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 
> File: 
> CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
> Line: 110
> {code:java}
> throw new RuntimeException("Unable to create directory: " + dir);{code}
>  
> {{RuntimeException}} is usually used to represent errors in the program logic 
> (think of one of its subclasses, {{NullPointerException}}), while the error 
> message indicates that {{construct()}} failed to create a directory. This 
> mismatch could be a problem. For example, the callers may miss the 
> possibility that {{construct()}} can fail to create a directory because it 
> does not throw any {{IOException}}. Or, the callers trying to handle other 
> {{RuntimeException}} may accidentally (and incorrectly) handle the directory 
> creation failure.



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15116) CommitLogArchiver.construct() throws a RuntimeException when it failed to create a directory

2019-05-06 Thread eBugs in Cloud Systems (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-15116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

eBugs in Cloud Systems updated CASSANDRA-15116:
---
Description: 
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.

 

Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 

File: 
CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
 

{{RuntimeException}} is usually used to represent errors in the program logic 
(think of one of its subclasses, {{NullPointerException}}), while the error 
message indicates that {{construct()}} failed to create a directory. This 
mismatch could be a problem. For example, the callers may miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}. Or, the callers trying to handle other 
{{RuntimeException}} may accidentally (and incorrectly) handle the directory 
creation failure.

  was:
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.

 

Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 

File: 
CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
 

{{RuntimeException}} is usually used to represent errors in the program logic 
(think of one of its subclasses, {{NullPointerException}}), while the error 
message indicates that {{construct()}} failed to create a directory. Will this 
mismatch be a problem? For example, the callers may miss the possibility that 
{{construct()}} can fail to create a directory because it does not throw any 
{{IOException}}. Or, the callers trying to handle other {{RuntimeException}} 
may accidentally (and incorrectly) handle the directory creation failure.


> CommitLogArchiver.construct() throws a RuntimeException when it failed to 
> create a directory
> 
>
> Key: CASSANDRA-15116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15116
> Project: Cassandra
>  Issue Type: Bug
>Reporter: eBugs in Cloud Systems
>Priority: Normal
>
> 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.
>  
> Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 
> File: 
> CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
> Line: 110
> {code:java}
> throw new RuntimeException("Unable to create directory: " + dir);{code}
>  
> {{RuntimeException}} is usually used to represent errors in the program logic 
> (think of one of its subclasses, {{NullPointerException}}), while the error 
> message indicates that {{construct()}} failed to create a directory. This 
> mismatch could be a problem. For example, the callers may miss the 
> possibility that {{construct()}} can fail to create a directory because it 
> does not throw any {{IOException}}. Or, the callers trying to handle other 
> {{RuntimeException}} may accidentally (and incorrectly) handle the directory 
> creation failure.



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15116) CommitLogArchiver.construct() throws a RuntimeException when it failed to create a directory

2019-05-06 Thread eBugs in Cloud Systems (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-15116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

eBugs in Cloud Systems updated CASSANDRA-15116:
---
Description: 
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.

 

Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 

File: 
CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
 

{{RuntimeException}} is usually used to represent errors in the program logic 
(think of one of its subclasses, {{NullPointerException}}), while the error 
message indicates that {{construct()}} failed to create a directory. Will this 
mismatch be a problem? For example, the callers may miss the possibility that 
{{construct()}} can fail to create a directory because it does not throw any 
{{IOException}}. Or, the callers trying to handle other {{RuntimeException}} 
may accidentally (and incorrectly) handle the directory creation failure.

  was:
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 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/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
Reason: {{RuntimeException}} is usually used to represent errors in the program 
logic (think of one of its subclasses, {{NullPointerException}}), while the 
error message indicates that {{construct()}} failed to create a directory. Will 
this mismatch be a problem? For example, will the callers miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}? Or, will the callers trying to handle other 
{{RuntimeException}} accidentally (and incorrectly) handle the directory 
creation failure?


> CommitLogArchiver.construct() throws a RuntimeException when it failed to 
> create a directory
> 
>
> Key: CASSANDRA-15116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15116
> Project: Cassandra
>  Issue Type: Bug
>Reporter: eBugs in Cloud Systems
>Priority: Normal
>
> 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.
>  
> Version: Cassandra-3.11 (commit: 123113f7b887370a248669ee0db6fdf13df0146e) 
> File: 
> CASSANDRA-ROOT/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
> Line: 110
> {code:java}
> throw new RuntimeException("Unable to create directory: " + dir);{code}
>  
> {{RuntimeException}} is usually used to represent errors in the program logic 
> (think of one of its subclasses, {{NullPointerException}}), while the error 
> message indicates that {{construct()}} failed to create a directory. Will 
> this mismatch be a problem? For example, the callers may miss the possibility 
> that {{construct()}} can fail to create a directory because it does not throw 
> any {{IOException}}. Or, the callers trying to handle other 
> {{RuntimeException}} may accidentally (and incorrectly) handle the directory 
> creation failure.



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15116) CommitLogArchiver.construct() throws a RuntimeException when it failed to create a directory

2019-05-06 Thread eBugs in Cloud Systems (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-15116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

eBugs in Cloud Systems updated CASSANDRA-15116:
---
Description: 
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 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/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
Reason: {{RuntimeException}} is usually used to represent errors in the program 
logic (think of one of its subclasses, {{NullPointerException}}), while the 
error message indicates that {{construct()}} failed to create a directory. Will 
this mismatch be a problem? For example, will the callers miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}? Or, will the callers trying to handle other 
{{RuntimeException}} accidentally (and incorrectly) handle the directory 
creation failure?

  was:
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 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/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
Reason: {{RuntimeException}} is usually used to represent errors in the program 
logic (think of one of its subclasses, {{NullPointerException}}), while the 
error message indicates that {{construct()}} failed to create a directory. Will 
this mismatch be a problem? For example, will the callers miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}? Or, will the callers try to handle other 
{{RuntimeException}} accidentally (and incorrectly) handle the directory 
creation failure?


> CommitLogArchiver.construct() throws a RuntimeException when it failed to 
> create a directory
> 
>
> Key: CASSANDRA-15116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15116
> Project: Cassandra
>  Issue Type: Bug
>Reporter: eBugs in Cloud Systems
>Priority: Normal
>
> 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 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/commitlog/CommitLogArchiver.java
> Line: 110
> {code:java}
> throw new RuntimeException("Unable to create directory: " + dir);{code}
> Reason: {{RuntimeException}} is usually used to represent errors in the 
> program logic (think of one of its subclasses, {{NullPointerException}}), 
> while the error message indicates that {{construct()}} failed to create a 
> directory. Will this mismatch be a problem? For example, will the callers 
> miss the possibility that {{construct()}} can fail to create a directory 
> because it does not throw any {{IOException}}? Or, will the callers trying to 
> handle other {{RuntimeException}} accidentally (and incorrectly) handle the 
> directory creation failure?



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15116) CommitLogArchiver.construct() throws a RuntimeException when it failed to create a directory

2019-05-05 Thread eBugs in Cloud Systems (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-15116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

eBugs in Cloud Systems updated CASSANDRA-15116:
---
Description: 
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 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/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
Reason: {{RuntimeException}} is usually used to represent errors in the program 
logic (think of one of its subclasses, {{NullPointerException}}), while the 
error message indicates that {{construct()}} failed to create a directory. Will 
this mismatch be a problem? For example, will the callers miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}? Or, will the callers try to handle other 
{{RuntimeException}} accidentally (and incorrectly) handle the directory 
creation failure?

  was:
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/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
Reason: {{RuntimeException}} is usually used to represent errors in the program 
logic (think of one of its subclasses, {{NullPointerException}}), while the 
error message indicates that {{construct()}} failed to create a directory. Will 
this mismatch be a problem? For example, will the callers miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}? Or, will the callers try to handle other 
{{RuntimeException}} accidentally (and incorrectly) handle the directory 
creation failure?


> CommitLogArchiver.construct() throws a RuntimeException when it failed to 
> create a directory
> 
>
> Key: CASSANDRA-15116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15116
> Project: Cassandra
>  Issue Type: Bug
>Reporter: eBugs in Cloud Systems
>Priority: Normal
>
> 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 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/commitlog/CommitLogArchiver.java
> Line: 110
> {code:java}
> throw new RuntimeException("Unable to create directory: " + dir);{code}
> Reason: {{RuntimeException}} is usually used to represent errors in the 
> program logic (think of one of its subclasses, {{NullPointerException}}), 
> while the error message indicates that {{construct()}} failed to create a 
> directory. Will this mismatch be a problem? For example, will the callers 
> miss the possibility that {{construct()}} can fail to create a directory 
> because it does not throw any {{IOException}}? Or, will the callers try to 
> handle other {{RuntimeException}} accidentally (and incorrectly) handle the 
> directory creation failure?



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15116) CommitLogArchiver.construct() throws a RuntimeException when it failed to create a directory

2019-05-05 Thread eBugs in Cloud Systems (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-15116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

eBugs in Cloud Systems updated CASSANDRA-15116:
---
Description: 
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/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
Reason: {{RuntimeException}} is usually used to represent errors in the program 
logic (think of one of its subclasses, {{NullPointerException}}), while the 
error message indicates that {{construct()}} failed to create a directory. Will 
this mismatch be a problem? For example, will the callers miss the possibility 
that {{construct()}} can fail to create a directory because it does not throw 
any {{IOException}}? Or, will the callers try to handle other 
{{RuntimeException}} accidentally (and incorrectly) handle the directory 
creation failure?

  was:
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/commitlog/CommitLogArchiver.java

Line: 110
{code:java}
throw new RuntimeException("Unable to create directory: " + dir);{code}
Reason: {{RuntimeException}} is usually used to represent errors in the program 
logic (think of one of its subclasses, {{NullPointerException}}), while the 
error message indicates that {{construct()}} failed to create a directory. Will 
this mismatch be a problem? For example, will the callers miss the possibility 
that {{construct()}} 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 directory creation failure?


> CommitLogArchiver.construct() throws a RuntimeException when it failed to 
> create a directory
> 
>
> Key: CASSANDRA-15116
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15116
> Project: Cassandra
>  Issue Type: Bug
>Reporter: eBugs in Cloud Systems
>Priority: Normal
>
> 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/commitlog/CommitLogArchiver.java
> Line: 110
> {code:java}
> throw new RuntimeException("Unable to create directory: " + dir);{code}
> Reason: {{RuntimeException}} is usually used to represent errors in the 
> program logic (think of one of its subclasses, {{NullPointerException}}), 
> while the error message indicates that {{construct()}} failed to create a 
> directory. Will this mismatch be a problem? For example, will the callers 
> miss the possibility that {{construct()}} can fail to create a directory 
> because it does not throw any {{IOException}}? Or, will the callers try to 
> handle other {{RuntimeException}} accidentally (and incorrectly) handle the 
> directory creation failure?



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

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org