Looks good. Two nits:
- We probably should default to KEYS_ONLY rather than ALL to mimic our current default (and besides, having row cache opt-in seems like a saner default since for some CF it can do more harm than good).
- CliClient.showKeyspace() uses "cache:". Let's use "caching:" for consistency sake.
you can reuse old cache settings for that purpose
Using the old settings on the long run would be weird and confusing, but I do am slightly worried about the pain on upgrade that the new global caches will incur to users, and it could be nice on upgrade to automatically set the value of this option for existing column families based on the preceding setting (basically use the information of whether this CF used to be cached or not). This may not be completely trivial though.