eBugs in Cloud Systems created CASSANDRA-15113:
--------------------------------------------------
Summary: StorageService.decommission() throws RuntimeException
when interrupted
Key: CASSANDRA-15113
URL: https://issues.apache.org/jira/browse/CASSANDRA-15113
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/service/StorageService.java
Line: 4008
Class: {{RuntimeException}}
Error message: {{"Node interrupted while decommissioning"}}
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 an interrupt has occurred. Will this mismatch be a
problem? For example, will the callers miss the possibility that
{{StorageService.decommission()}} can be interrupted because it does not throw
any {{InterruptedException}}? Or, will the callers try to handle other
{{RuntimeException}} accidentally (and incorrectly) handle the interrupt?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]