You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2016/08/31 15:47:20 UTC

[jira] [Updated] (CASSANDRA-12527) Stack Overflow returned to queries while upgrading

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

Sylvain Lebresne updated CASSANDRA-12527:
-----------------------------------------
         Reviewer: Tyler Hobbs
    Fix Version/s: 3.x
                   3.0.x
           Status: Patch Available  (was: Open)

Ah, a good old StackOverflow. Seems we should at least avoid to recurse here and attaching simple patch for that below.

I belive one can get there if a sstable has a lot of consecutive row or collection deletion (which is totally possibly, simply calling out the case that triggers this for the records).

| [12527-3.0|https://github.com/pcmanus/cassandra/commits/12527-3.0] | [utests|http://cassci.datastax.com/job/pcmanus-12527-3.0-testall] | [dtests|http://cassci.datastax.com/job/pcmanus-12527-3.0-dtest] |


> Stack Overflow returned to queries while upgrading
> --------------------------------------------------
>
>                 Key: CASSANDRA-12527
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12527
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Centos 7 x64
>            Reporter: Steve Severance
>            Assignee: Sylvain Lebresne
>             Fix For: 3.0.x, 3.x
>
>
> I am currently upgrading our cluster from 2.2.5 to 3.0.8.
> Some queries (not sure which) appear to be triggering a stack overflow:
> ERROR [SharedPool-Worker-2] 2016-08-24 04:34:52,464 Message.java:611 - Unexpected exception during request; channel = [id: 0x5ccb2627, /10.0.2.5:42925 => /10.0.2.10:9042]
> java.lang.StackOverflowError: null
>         at org.apache.cassandra.db.ClusteringComparator.compare(ClusteringComparator.java:131) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$LegacyBoundComparator.compare(LegacyLayout.java:1761) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$LegacyRangeTombstoneList.add(LegacyLayout.java:1835) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$LegacyRangeTombstoneList.addAll(LegacyLayout.java:1900) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:709) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
>         at org.apache.cassandra.db.LegacyLayout$3.computeNext(LegacyLayout.java:711) ~[apache-cassandra-3.0.8.jar:3.0.8]
> And it goes on like that. I don't know if this is a real issue or if it will subside once I am done the upgrade. Happy to provide more information where I can.



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