[ 
https://issues.apache.org/jira/browse/CASSANDRA-6567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-6567:
----------------------------------------

    Attachment: 6567.txt

Attaching trivial patch to avoid the recursion. The patch is against 1.2: it's 
probably less likely in 1.2 since you can't easily prepare IN, but it's still 
possible if you try hard enough and the patch is trivial so ...

> StackOverflowError with big IN list
> -----------------------------------
>
>                 Key: CASSANDRA-6567
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6567
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Cassandra 2.0.4 Java Driver 2.0 rc2
>            Reporter: Dmitry Shohov
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 1.2.14, 2.0.5
>
>         Attachments: 6567.txt
>
>
> Cassandra throws StackOverflowError when binding big list in prepared query  
> in IN parameter
> Stack trace:
> java.lang.StackOverflowError
>         at 
> org.apache.cassandra.utils.FastByteComparisons$LexicographicalComparerHolder$UnsafeComparer.compareTo(FastByteComparisons.java:110)
>         at 
> org.apache.cassandra.utils.FastByteComparisons.compareTo(FastByteComparisons.java:41)
>         at 
> org.apache.cassandra.utils.FBUtilities.compareUnsigned(FBUtilities.java:216)
>         at 
> org.apache.cassandra.utils.ByteBufferUtil.compareUnsigned(ByteBufferUtil.java:89)
>         at 
> org.apache.cassandra.db.marshal.LongType.compareLongs(LongType.java:54)
>         at org.apache.cassandra.db.marshal.LongType.compare(LongType.java:36)
>         at org.apache.cassandra.db.marshal.LongType.compare(LongType.java:28)
>         at 
> org.apache.cassandra.db.ArrayBackedSortedColumns.binarySearch(ArrayBackedSortedColumns.java:170)
>         at 
> org.apache.cassandra.db.ArrayBackedSortedColumns.binarySearch(ArrayBackedSortedColumns.java:152)
>         at 
> org.apache.cassandra.db.ArrayBackedSortedColumns.getColumn(ArrayBackedSortedColumns.java:89)
>         at 
> org.apache.cassandra.cql3.statements.SelectStatement$1$1.computeNext(SelectStatement.java:825)
>         at 
> org.apache.cassandra.cql3.statements.SelectStatement$1$1.computeNext(SelectStatement.java:826)
>         at 
> org.apache.cassandra.cql3.statements.SelectStatement$1$1.computeNext(SelectStatement.java:826)
>         at 
> org.apache.cassandra.cql3.statements.SelectStatement$1$1.computeNext(SelectStatement.java:826)
>         at .... many more same line stack elements
> Would be nice to change the logic to exclude manual paging in such cases



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to