Enhancement
The planner preprocess procedure doesn't pass in the ctx context.Context. However, it's needed by #38274, as the stale-read preprocessor should send request to the pd with this ctx. The context is needed for killing the connection (and global deadline, tracing...).
It will bring a lot of changes to the related functions / tests. I don't know whether there are better ways to handle this.