You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benjamin Lerer (Jira)" <ji...@apache.org> on 2021/09/02 08:21:00 UTC

[jira] [Commented] (CASSANDRA-15269) Cassandra fails to process OperationExecutionException which causes ClassCastException

    [ https://issues.apache.org/jira/browse/CASSANDRA-15269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17408670#comment-17408670 ] 

Benjamin Lerer commented on CASSANDRA-15269:
--------------------------------------------

[~bereng] Sorry, for the delay. There are a simple way to trigger the {{ClassCastException}} without changing anything to the code.
I pushed a new version of the patch [here|https://github.com/apache/cassandra/commit/473e67199eb29f831000782ab25cdf56629af1c8]. CI results: [j8|https://app.circleci.com/pipelines/github/blerer/cassandra/191/workflows/d85e9e9f-7b7e-4d4b-83d2-53a6515a7c50] and [j11|https://app.circleci.com/pipelines/github/blerer/cassandra/191/workflows/4b73dbbb-1451-426e-8217-0af2fef0bf55]

Tell me if the changes look good to you.   

> 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: Berenguer Blasi
>            Priority: Normal
>             Fix For: 4.0.x
>
>
> 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org