Hey all,

I've been seeing a very rare issue with schema change conflicts on 0.7.3 (I am 
serializing all schema changes to a single Cassandra node and waiting for them 
to finish before continuing). Occasionally a node in the cluster will never 
report the correct schema, and I think it may have to do with synchronization 
on DatabaseDescriptor.defsVersion.

As far as I can tell, it is a static variable accessed by multiple threads but 
is not protected by synchronized/volatile. I was able to write a test in which 
one thread never reads the modification done by another thread (as is expected 
by an unsynchronized variable). Should this be fixed or is there a higher level 
reason this does not need to be synchronized (in which case I should continue 
looking for the reason why my schemas don't agree)? Thanks.

-Jeffrey

Reply via email to