You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Olivier Michallat (JIRA)" <ji...@apache.org> on 2014/11/07 20:42:35 UTC

[jira] [Comment Edited] (CASSANDRA-8276) Unusable prepared statement with 65k parameters

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

Olivier Michallat edited comment on CASSANDRA-8276 at 11/7/14 7:42 PM:
-----------------------------------------------------------------------

To add context, we are aware that preparing a statement with 65535 parameters sounds like a very bad idea. However, the protocol allows it, and if the statement is generated through some kind of abstraction layer, I can see how this could get misused (for instance, with IN statements).

If that many parameters cause some sort of exhaustion server-side, we could force a more sensible limit driver-side.


was (Author: omichallat):
I might add that we are aware that preparing a statement with 65535 parameters is a ridiculous idea. However, the protocol allows it, and if the statement is generated through some kind of abstraction layer, I can see how this could get misused (for instance, with IN statements).

If that many parameters cause some sort of exhaustion server-side, we could force a more sensible limit driver-side.

> Unusable prepared statement with 65k parameters
> -----------------------------------------------
>
>                 Key: CASSANDRA-8276
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8276
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra 2.0.10
> Java driver 2.0.8-SNAPSHOT
>            Reporter: Pierre Laporte
>
> We had an issue ([JAVA-515|https://datastax-oss.atlassian.net/browse/JAVA-515]) in the java-driver when the number of parameters in a statement is greater than the supported limit (65k).
> I added a limit-test to verify that prepared statements with 65535 parameters were accepted by the driver, but ran into an issue on the Cassandra side.
> Basically, the test runs forever, because the driver receives an inconsistent answer from Cassandra.  When we prepare the statement, C* answers that it is correctly prepared, however when we try to execute it, we receive a {{UNPREPARED}} answer.
> [Here is the code|https://github.com/datastax/java-driver/blob/JAVA-515/driver-core/src/test/java/com/datastax/driver/core/PreparedStatementTest.java#L448] to reproduce the issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)