Description
The Spark Cassandra Connector uses dsecribe_splits_ex to deterimine token information about the C* cluster. On 2.1.4 this behaves normally and responds in a few milliseconds. On 2.1.5 the function blocks while compaction is running which basically makes the function unusable. Under the hood this function access sstable information using selectAndReference. A debugging session led us to determine that the error occurred because the code would simply spin (unable to gain references to compacting tables) while compaction was happening.
A fix was tested and proposed:
https://github.com/belliottsmith/cassandra/tree/fix-spinning