raghav-reglobe commented on PR #70465:
URL: https://github.com/apache/doris/pull/70465#issuecomment-6791853933

   Pushed bf68410, which addresses a local review of this PR:
   
   - **Clients that read `locations[0]`.** `test_flight_native_variant` and 
`test_flight_parallel_partitions` connect to the first location of every 
endpoint, including for the `SET`s they send, and so does the Java sample. They 
now redeem an endpoint with no location on the client that issued the ticket, 
as the Flight SQL JDBC driver does. That works under either value of the 
setting; BE-held results are still read at their location.
   - **The SHOW branch.** `DorisFlightSqlProducerTest` now covers the branch 
where the statement caches its own result on the session (SHOW, EXPLAIN), under 
both values. The BE-held test now checks both values too.
   - **The bug case end to end.** The new `FlightSqlFeResultLocationTest` 
starts a real Flight SQL server whose FE advertises an address the client 
cannot reach. By default, a client that follows endpoint locations cannot read 
a metadata result; with the setting on, it reads it over the connection that 
issued the ticket.
   - **A regression suite.** The new `test_fe_result_empty_location` is 
`nonConcurrent`, because `setFeConfigTemporary` changes every FE. With the 
setting turned on, a metadata request and a `SHOW` carry no location and are 
read on the issuing connection, by a plain Flight SQL client and by the JDBC 
driver. A `SELECT` keeps its BE address. The suite then checks the same 
requests after the setting is restored.
   - **Wording.** The config description and the Javadoc now say what the FE 
actually serves: the cached result of a statement that is not a query, and the 
answer to a metadata request, computed at DoGet for the session that presents 
the ticket. They also say that only a client which redeems a location-less 
endpoint on its own connection fetches over it.
   
   Tested:
   - FE build and checkstyle pass, as do the 19 Arrow Flight FE test classes 
(172 tests), at this head.
   - `test_fe_result_empty_location`, `test_flight_native_variant`, 
`test_flight_parallel_partitions` and `test_table_types_over_arrow_flight` pass 
on a single-node cluster. The cluster ran a build with the same FE change; the 
suites were taken from this head, and the setting was switched on and back off 
during the run.
   


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