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