cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-12351) IllegalStateException: empty rows returned when reading system.schema_keyspaces
Date Tue, 02 Aug 2016 10:49:21 GMT


Sylvain Lebresne commented on CASSANDRA-12351:

It's true we should probably call {{removedDeletedCF}} but I don't think I understand why
not doing so would break LegacySchemaTables. I mean, if {{removeDeleteldCF}} makes a difference
compared to just {{purgeTombstones}}, that imply the partition is empty and has only purgeable
top-level or range tombstones (those are the only things {{purgeTombstones}} removes). But
such partition shouldn't create any result on the CQL front, whether or not we do any purging,
and as {{UntypedResultSet}} uses the {{ResultSet}} processed by CQL, this shouldn't make any
difference to {{createKeyspaceFromSchemaPartition}}.

Anyway, I'm tempted to just revert CASSANDRA-11427 as it should never have been committed
in 2.2 in the first place and that's the 2nd problem it creates, but I'd rather understand
what's going on first. Could you provide steps to reproduce (or, even better, a unit test
or dtest to reproduce) since you seem to be able to?

> IllegalStateException: empty rows returned when reading system.schema_keyspaces
> -------------------------------------------------------------------------------
>                 Key: CASSANDRA-12351
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local Write-Read Paths
>            Reporter: mck
>            Assignee: mck
> After 2.2.6 the following error is thrown during startup, resulting in Cassandra not
> {noformat}
> - Exception encountered during startup
> java.lang.IllegalStateException: One row required, 0 found
> at org.apache.cassandra.cql3.UntypedResultSet$
> at org.apache.cassandra.schema.LegacySchemaTables.createKeyspaceFromSchemaPartition(
> at org.apache.cassandra.schema.LegacySchemaTables.createKeyspaceFromSchemaPartitions(
> at org.apache.cassandra.schema.LegacySchemaTables.readSchemaFromSystemTables(
> at org.apache.cassandra.config.Schema.loadFromDisk( ~[apache-cassandra-2.2.7.jar:2.2.7-SNAPSHOT]
> at org.apache.cassandra.config.Schema.loadFromDisk( ~[apache-cassandra-2.2.7.jar:2.2.7-SNAPSHOT]
> at org.apache.cassandra.service.CassandraDaemon.setup( [apache-cassandra-2.2.7.jar:2.2.7-SNAPSHOT]
> at org.apache.cassandra.service.CassandraDaemon.activate( [apache-cassandra-2.2.7.jar:2.2.7-SNAPSHOT]
> at org.apache.cassandra.service.CassandraDaemon.main( [apache-cassandra-2.2.7.jar:2.2.7-SNAPSHOT]
> {noformat}
> In {{LegacySchemaTables.readSchemaFromSystemTables(..)}} the call to {{getSchemaPartitionsForTable(KEYSPACES)}}
is now (since 2.2.6) returning more rows. The additional rows are empty.
> These rows are coming out of the row iterator post 2.2.6, where they were not in 2.2.6.
> This issue was raised on the mailing list [here|].

This message was sent by Atlassian JIRA

View raw message