When Kudu scans have predicates pushed to Kudu, the base implementation of ScanNode.getInputCardinality() is wrong:
getConjuncts() won't contain the predicates pushed to Kudu. If such a query has a limit and there aren't any conjuncts applied at the scan node, then this function will return the limit as the input cardinality mistakenly.
This can result in a query running with the "small query" optimization when it should not be, i.e. it runs on a single node with a single scanner thread.