incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Morton <>
Subject Question about ColumnFamily Id's
Date Wed, 20 Oct 2010 20:53:09 GMT
I was helping a guy who in the end had a mixed beta1 and beta2 cluster

I had a look around the code and have a couple of questions, just for my understanding. 

When ReadResponseSerialize is called to deserialize the response from a node, it calls the
RowSerializer which uses the ColumnFamilySerializer. If the CfId in the row is not known on
the node a UnserializableColumnFamilyException is thrown. It's an IOException sub class and
the error is treated as an Internal Error by the thrift generated Cassandra server. 

The read message sent to the node contains the Keyspace+CF names, and it returns it's CfID
in the response. 

It looks like if a node somehow has a different/bad schema it can cause reads to fail. Is
this correct? Could it's response be ignored if the read still meets the CL?

Next question was how nodes could ever get to have a different CfId for the same Keyspace+CF
pair?  It looks like the the CfId is never changed, so it would only happen if two node were
each given a schema update and could not communicate it with each other.

Am guessing the whole scenario is "unsupported" just trying to understand whats happening. 


  • Unnamed multipart/alternative (inline, None, 0 bytes)
    • Unnamed multipart/related (inline, None, 0 bytes)
View raw message