Description
We always meet the "scanner not found" exception while using presto + kudu, even if we have set the timeout of scanner very large.
It turns out the scanner does not bound with the tserver which it first communicates with.
Here is the code in scanNextRows of java client:
final ServerInfo info = tablet.getReplicaSelectedServerInfo(nextRequest.getReplicaSelection(),
location);
It still trying to find the tserver by the locations and selection policy. So if the leader is changed and the next scan request is sent to the new leader, the tserver will response with the "scanner not found" exception.
We should make the scanner bound with the tserver, like how it does in c++ client.