You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "T Jake Luciani (JIRA)" <ji...@apache.org> on 2015/08/06 16:25:06 UTC

[jira] [Created] (CASSANDRA-10001) Bug in encoding of sstables

T Jake Luciani created CASSANDRA-10001:
------------------------------------------

             Summary: Bug in encoding of sstables
                 Key: CASSANDRA-10001
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10001
             Project: Cassandra
          Issue Type: Bug
            Reporter: T Jake Luciani
            Priority: Blocker
             Fix For: 3.0 beta 1


Fixing the compaction dtest I noticed we aren't encoding map data correctly in sstables.

The following code fails from newly committed {{ compaction_test.py:TestCompaction_with_SizeTieredCompactionStrategy.large_compaction_warning_test}}

{code}
 session.execute("CREATE TABLE large(userid text PRIMARY KEY, properties map<int, text>) with compression = {}")
        for i in range(200):  # ensures partition size larger than compaction_large_partition_warning_threshold_mb                                                                                                               
            session.execute("UPDATE ks.large SET properties[%i] = '%s' WHERE userid = 'user'" % (i, get_random_word(strlen)))

        ret = session.execute("SELECT properties from ks.large where userid = 'user'")
        assert len(ret) == 1
	self.assertEqual(200, len(ret[0][0].keys()))
{code}


The last assert is failing with only 91 keys.  The large values are causing flushes vs staying in the memtable so the issue is somewhere in the serialization of collections in sstables.



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