cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "J.B. Langston (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8559) OOM caused by large tombstone warning.
Date Wed, 04 Feb 2015 14:14:37 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-8559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14305113#comment-14305113
] 

J.B. Langston commented on CASSANDRA-8559:
------------------------------------------

I have seen another user hit this. In this case, the log message was triggered by a bad query
and an even worse data model, but it's too easy for new users to Cassandra to stumble across
this. If someone shoots themselves in the foot, we should try not to blow their whole leg
off.  So I'm +1 on having a limit to the amount of information we log.

> 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
>              Labels: tombstone
>             Fix For: 2.0.13
>
>         Attachments: Selection_048.png, cassandra-2.0.11-8559.txt, stacktrace.log
>
>
> 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 created two 777mb strings
to print the error message for a read query and then crashed OOM.
> {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)

Mime
View raw message