Jackie-Jiang opened a new pull request, #20262:
URL: https://github.com/apache/pinot/pull/20262

   ## Summary
   
   A server sets up a table when it adds the first segment of it. Until then it 
has not loaded any of the optional segments it can be asked for, yet the query 
fails: the single-stage executor returns `SERVER_TABLE_MISSING`, and the 
multi-stage leaf throws `Failed to find data manager for table`. An optional 
segment is meant to be skipped without failing the query.
   
   The server now answers with an empty result when the table is not set up and 
the request has no segment the server must have:
   - `ServerQueryExecutorV1Impl` runs the query over the new 
`EmptyTableExecutionInfo`, so the result, the explain output and the response 
metadata are the same as for a table whose optional segments are all skipped.
   - `LogicalTableExecutionInfo` leaves out a physical table that is not set up 
and has only optional segments.
   - The multi-stage leaf builds its request without the table schema, which it 
only passes to the query optimizer, and lets the executor answer it. 
`ServerPlanRequestUtils` now looks up the table data manager in one place 
instead of three, and `compileInstanceRequest` loses its unused `tableConfig` 
parameter.
   
   A table that is not set up still fails the query when the request has a 
segment the server must have.
   
   ## Context
   
   The broker does not send such a request today. The routing table leaves out 
a server that would only get optional segments (the `TODO: allow servers only 
with optional segments` in `BaseBrokerRoutingManager`), and the multi-stage 
engine does not send optional segments yet. Both need servers that tolerate the 
request first, because brokers are upgraded before servers.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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