Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Correctness
-
Low
-
Low Hanging Fruit
-
User Report
-
All
-
Description
When a exception is thrown during the instantiation of the cassandra.custom_query_handler_class, depending on the exception thrown cassandra will simply log an info message and proceed with the bootstraping with the standard QueryHandler as a fallback measure: https://github.com/apache/cassandra/blob/cassandra-3.11.10/src/java/org/apache/cassandra/service/ClientState.java#L107
The end-user will never know if the custom QueryHandler is actually registered or not, unless he notices the info message on the logs.
Ideally, the message should be logged as error and JVM should stop as it cannot proceed according with the user expected configuration.
Scenario:
In our scenario, we have a custom QueryHandler that receives specific configuration, and we throw a ConfigurationException at instantiation time in case of any invalid config value. It is expected that cassandra stop the bootstraping instead of skipping the QH.