Azure / Azure/elastic-db-tools

Return quickly from ExecuteReader and stream child readers back

Open
#54 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
147
Forks
108
PR merge metrics
No merged PRs in 30d

Description

Currently MultiShardCommand.ExecuteReader waits until all child readers are competed. We can optimize by returning more quickly:

PartialResults: return from ExecuteReader when the first reader is received, or throw if all readers return an exception
CompleteResults: need to consider this further, but the simplest option is to return from ExecuteReader when the first reader is received, or throw when the first exception is received (whichever happens first)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at MultiShardCommand.ExecuteReader and trace how child readers and exceptions are collected for PartialResults and CompleteResults. Compare the current wait-for-all behavior with the requested first-reader and exception paths. Done means the return and throw timing is defined and implemented for both result modes, with coverage for the specified reader and exception cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.