On Monday, May 4, 2015 at 4:04:49 PM UTC-5, Michael Penick wrote:
> Consistency levels do not apply to schema changes because schema changes happen through a different mechanism than queries. When the driver returns the schema should be propagated to the cluster, unless the operation of propagating the schema times out (maximum schema agreement time is 10 seconds). You'll see this in the driver logs:
>
> "No schema agreement on live nodes after XXXX ms. Schema may not be up-to-date on some nodes."
Hi Mike,
We are seeing the same problem Robin reported, that shortly after a schema change has been performed that we'll get "unconfigured columnfamily" attempting to insert into it, so I don't think the schema has been fully propagated to the cluster after the driver returns.
There was an error message at one point along the lines of schema hasn't propagated yet, but I didn't capture the message and can't find it right now.
Looking for that message I also found quite a few null pointer exceptions in the logs, don't know if that's a problem or not. Here's one:
ERROR [CompactionExecutor:7159] 2015-05-04 17:14:04,571 CassandraDaemon.java:167 - Exception in thread Thread[CompactionExecutor:7159,1,main]
java.lang.NullPointerException: null
at org.apache.cassandra.service.CacheService$KeyCacheSerializer.serialize(CacheService.java:475) ~[apache-cassandra-2.1.3.jar:2.1.3]
at org.apache.cassandra.service.CacheService$KeyCacheSerializer.serialize(CacheService.java:463) ~[apache-cassandra-2.1.3.jar:2.1.3]
at org.apache.cassandra.cache.AutoSavingCache$Writer.saveCache(AutoSavingCache.java:274) ~[apache-cassandra-2.1.3.jar:2.1.3]
at org.apache.cassandra.db.compaction.CompactionManager$11.run(CompactionManager.java:1152) ~[apache-cassandra-2.1.3.jar:2.1.3]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_75]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[na:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_75]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_75]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]