cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kurt Greaves (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-12590) Segfault reading secondary index
Date Fri, 02 Sep 2016 02:09:20 GMT

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

Kurt Greaves commented on CASSANDRA-12590:
------------------------------------------

Jeff,

Schema is the following, there are also some materialised views I haven't included but we're
fairly sure they are irrelevant. As mentioned by Cameron, the segfault occurs when reading
the deviceconnectionididx secondary index. From what we've seen the query to the secondary
index is fine (i.e we've seen it crash when querying using 'aaaaaaaa') so we believe it's
something to do with the rows that are returned from the secondary index query.

We're in process of writing a patch that logs all writes to the table so we can find out what
is contained within the row that causes the crash.

CREATE TABLE service.device (
    mac text PRIMARY KEY,
    bootsequenceid bigint,
    connected timeuuid,
    connectionid text,
    coordinator boolean,
    created timeuuid,
    disconnected timeuuid,
    eventsequence bigint,
    externalip text,
    groupid text,
    householdid text,
    householdlocationid text,
    hwversion text,
    internalip text,
    servicehost text,
    servicehostuuid timeuuid,
    model text,
    playerid text,
    port text,
    roomname text,
    satellite boolean,
    secure boolean,
    sessionid text,
    userid text,
    swversion text,
    swversionmajor int,
    swversionminor int,
    visible boolean,
    websocketcontrolurl text
) WITH bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy',
'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99PERCENTILE';
CREATE INDEX deviceconnectionididx ON service.device (connectionid);

> Segfault reading secondary index
> --------------------------------
>
>                 Key: CASSANDRA-12590
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12590
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local Write-Read Paths
>         Environment: Occurs on Cassandra 3.5 and 3.7
>            Reporter: Cameron Zemek
>
> Getting segfaults when reading secondary index as follows:
> J 9272 C2 org.apache.cassandra.dht.LocalPartitioner$LocalToken.compareTo(Lorg/apache/cassandra/dht/Token;)I
(53 bytes) @ 0x00007fd7354749b7 [0x00007fd735474840+0x177]
> J 5661 C2 org.apache.cassandra.db.DecoratedKey.compareTo(Ljava/lang/Object;)I (9 bytes)
@ 0x00007fd7351b35b8 [0x00007fd7351b3440+0x178]
> J 14205 C2 java.util.concurrent.ConcurrentSkipListMap.doGet(Ljava/lang/Object;)Ljava/lang/Object;
(142 bytes) @ 0x00007fd736404dd8 [0x00007fd736404cc0+0x118]
> J 17764 C2 org.apache.cassandra.db.SinglePartitionReadCommand.queryMemtableAndDiskInternal(Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
(635 bytes) @ 0x00007fd736e09638 [0x00007fd736e08720+0xf18]
> J 17808 C2 org.apache.cassandra.index.internal.CassandraIndexSearcher.search(Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
(68 bytes) @ 0x00007fd736e01a48 [0x00007fd736e012a0+0x7a8]
> J 14217 C2 org.apache.cassandra.db.ReadCommand.executeLocally(Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
(219 bytes) @ 0x00007fd736417c1c [0x00007fd736416fa0+0xc7c]
> J 14585 C2 org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow()V
(337 bytes) @ 0x00007fd736541e6c [0x00007fd736541d60+0x10c]
> J 14584 C2 org.apache.cassandra.service.StorageProxy$DroppableRunnable.run()V (48 bytes)
@ 0x00007fd7357957b4 [0x00007fd735795760+0x54]
> J 9648% C2 org.apache.cassandra.concurrent.SEPWorker.run()V (253 bytes) @ 0x00007fd735938d8c
[0x00007fd7359356e0+0x36ac]
> Which I have translated to the codepath:
> org.apache.cassandra.dht.LocalPartitioner (Line 139)
> org.apache.cassandra.db.DecoratedKey (Line 85)
> java.util.concurrent.ConcurrentSkipListMap (Line 794)
> org.apache.cassandra.db.SinglePartitionReadCommand (Line 498)
> org.apache.cassandra.index.internal.CassandraIndexSearcher (Line 60)
> org.apache.cassandra.db.ReadCommand (Line 367)



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

Mime
View raw message