fallintoplace opened a new pull request, #1959:
URL: https://github.com/apache/iceberg-go/pull/1959

   ## Summary
   
   - Fetch each remote plan-task frontier with up to 8 concurrent REST requests.
   - Keep breadth-first response order by storing each response at its handle 
index.
   - Keep the existing once-only handle expansion and cycle protection.
   - Add ordering and concurrency tests plus a fake REST latency benchmark.
   
   ## Benchmark
   
   Command:
   
   ```text
   go test ./catalog/rest -run '^$' -bench 
'^BenchmarkCollectScanTasks64Handles$' -benchtime=1x -count=5
   ```
   
   Apple M1 Pro, darwin/arm64, 64 plan-task handles, and 10 ms simulated server 
latency per handle:
   
   | Fetch mode | Result |
   | --- | ---: |
   | Serial baseline (limit 1) | 733 to 777 ms/op |
   | 8 workers | 90 to 93 ms/op |
   
   This is about an 8x reduction in the remote fetch portion. The 8-worker 
result is close to the expected 80 ms network floor, with HTTP and scheduling 
overhead.
   
   ## Tests
   
   - `go test ./...`
   - `go test -race ./catalog/rest -count=1`
   - `go vet ./catalog/rest`
   - `golangci-lint run --timeout=10m`
   


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