platoneko opened a new issue, #10895: URL: https://github.com/apache/doris/issues/10895
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/incubator-doris/issues?q=is%3Aissue) and found no similar issues. ### Description In the current implementation, the process of reading a segment will repeatedly create multiple `FileReader`s for the same segment file, which will bring some unnecessary overhead (i.e., when creating S3FileReader, it will launch a GetHead request to get the size of S3 object). We can only create `FileReader` once in `Segment::open`, other data structures related to reading this segment can use the same `FileReader`. Because `FileReader:: read_at` operation is thread-safe, so we can read the same `FileReader` safely. ### Solution _No response_ ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org