[ https://issues.apache.org/jira/browse/CASSANDRA-15269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sam Tunnicliffe updated CASSANDRA-15269: ---------------------------------------- Reviewers: Sam Tunnicliffe, Sam Tunnicliffe (was: Sam Tunnicliffe) Sam Tunnicliffe, Sam Tunnicliffe Status: Review In Progress (was: Patch Available) Sorry for the extremely late feedback on this, I was completely unaware of the ticket. Unfortunately, protocol v5 has been finalised so a change like this one would need to target v6. That said, I'm not really sure that a new exception code is necessary here. Technically, what is occurring _is_ a problem with function execution, that function being a {{NumericOperationFunction}}, which is a subclass of {{OperationFunction}} and ultimately {{AbstractFunction}}. So I don't think the {{FUNCTION_FAILURE}} response is actually incorrect. My suggestion would be that we fix the class cast exception, perhaps by having {{OEE}} extend {{FEE}, {{OperationFcts::getFunctionNameFromOperator}} can be used to obtain a {{FunctionName}} for the operation. > Cassandra fails to process OperationExecutionException which causes > ClassCastException > -------------------------------------------------------------------------------------- > > Key: CASSANDRA-15269 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15269 > Project: Cassandra > Issue Type: Bug > Components: CQL/Interpreter > Reporter: Liudmila Kornilova > Assignee: Liudmila Kornilova > Priority: Normal > > While working on CASSANDRA-15232 I noticed that OperationExecutionException > is not processed correctly. > How to reproduce the issue: > 1. {{create table d (numerator decimal primary key, denominator decimal);}} > 2. {{insert into d (numerator, denominator) values > (123456789112345678921234567893123456, 2);}} > 3. {{select numerator % denominator from d;}} > What happens: > 1. remainder operation throws ArithmeticException (BigDecimal:1854) > 2. The exception is wrapped in OperationExecutionException > 3. ClassCastException appears (OperationExecutionException cannot be cast to > FunctionExecutionException at ErrorMessage.java:280) > What should happen: > OperationExecutionException with message "the operation 'decimal % decimal' > failed: Division impossible" should be delivered to user > Note that after fixing CASSANDRA-15232 {{select numerator % denominator from > d;}} will produce correct result of remainder operation. > Currently I am not aware of other cases when OperationExecutionException may > be treated as FunctionExecutionException -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org