IN predicate in Cassandra CQL

Recently I was writing some CQL queries with IN predicate for Apache Cassandra and was surprised that this topic is not covered well on the Web. Here is some information that I found, mainly based on official documentation and this post by Ryan Svihla.
When you are using IN statement with partition key the coordinator node essentially transforms your request into multiple requests with single partition key each and sends them to corresponding nodes. If you have a large set in you IN predicate that can put a heavy load on coordinator node and in general will be slower than multiple individual requests directly from the client. That is kind of counterintuitive for those who came from traditional SQL world. In addition, if coordinator node goes down or times out you have to replay the whole requests rather than individual sub-requests in case of multiple requests from client. Thus don’t use IN statement with partition keys – use multiple async requests.
However if you are using IN statement on a clustering key within one partition that can actually improve performance because the query will be executed only on one node. In addition it would require seek on ordered elements stored continuously on a disk.
I will update the post with relevant benchmarks later.