u70b3 commented on issue #66025:
URL: https://github.com/apache/doris/issues/66025#issuecomment-5181932128

   Hi, I'd like to pick this up. The N+1 comes from `getTables()` calling 
`getTableNamesWithLock()` (one remote enumeration) and then 
`getTableNullable()` per table, which in bypass mode re-enters 
`findTableNamePairWithoutCache()` → a full `listTableNames()` per table.
   
   Fix: in the bypass branch, enumerate once via 
`listTableNames(sessionContext)` and build all tables from that single 
snapshot, keeping the case-insensitive conflict check and the first-win dedup 
semantics.
   
   Local verification: a unit test counting remote listings shows 4 
enumerations for 3 tables before the fix and exactly 1 after. Will open a PR 
shortly.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to