Description
RingCache always calls describe_ring, returning the entire cluster. Considering it's used in the context of writing from Hadoop (which is typically in a multi-DC configuration), this is often not desirable behavior. In some cases there may be high-latency connections between the analytics DC and other DCs.
I am attaching a patch that adds an optional config value to tell RingCache to use local nodes only, in which case it calls describe_local_ring instead. It also adds helpful failed host information to IOExceptions thrown in AbstractColumnFamilyOutputFormat.createAuthenticatedClient, CqlRecordWriter, and ColumnFamilyRecordWriter. This allows a user to more easily solve related connectivity issues.