You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Dominic Letz (JIRA)" <ji...@apache.org> on 2015/01/05 06:20:34 UTC

[jira] [Created] (CASSANDRA-8559) OOM caused by large tombstone warning.

Dominic Letz created CASSANDRA-8559:
---------------------------------------

             Summary: OOM caused by large tombstone warning.
                 Key: CASSANDRA-8559
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8559
             Project: Cassandra
          Issue Type: Bug
          Components: Core
         Environment: 2.0.11 / 2.1
            Reporter: Dominic Letz
         Attachments: Selection_048.png

When running with high amount of tombstones the error message generation from CASSANDRA-6117 can lead to out of memory situation with the default setting.

Attached a heapdump viewed in visualvm showing how this construct is create a 777mb string to print the error message for a single read query.

{code}
        if (respectTombstoneThresholds() && columnCounter.ignored() > DatabaseDescriptor.getTombstoneWarnThreshold())
        {
            StringBuilder sb = new StringBuilder();
            CellNameType type = container.metadata().comparator;
            for (ColumnSlice sl : slices)
            {
                assert sl != null;

                sb.append('[');
                sb.append(type.getString(sl.start));
                sb.append('-');
                sb.append(type.getString(sl.finish));
                sb.append(']');
            }

            logger.warn("Read {} live and {} tombstoned cells in {}.{} (see tombstone_warn_threshold). {} columns was requested, slices={}, delInfo={}",
                        columnCounter.live(), columnCounter.ignored(), container.metadata().ksName, container.metadata().cfName, count, sb, container.deletionInfo());
        }
{code}





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