cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-6567) StackOverflowError with big IN list
Date Fri, 10 Jan 2014 18:10:53 GMT

     [ 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)

Mime
View raw message