Message-ID: From: "beikov (@beikov)" To: "pgjdbc/pgjdbc" Date: Fri, 27 Mar 2026 12:25:46 +0000 Subject: Re: [pgjdbc/pgjdbc] PR #4010: [#2325] Execute queries as pipelined when running on virtual thread In-Reply-To: References: List-Id: X-GitHub-Author-Login: beikov X-GitHub-Comment-Id: 4142230704 X-GitHub-Comment-Type: issue_comment X-GitHub-Issue: 4010 X-GitHub-Repo: pgjdbc/pgjdbc X-GitHub-Type: comment X-GitHub-Url: https://github.com/pgjdbc/pgjdbc/pull/4010#issuecomment-4142230704 Content-Type: text/plain; charset=utf-8 Maybe someone here knows how virtual thread scheduling roughly works? If e.g. VT1 was blocked and there is a not yet started VT2 in the queue - when VT1 is ready again because a poller thread got data, will the scheduler schedule VT2 or VT1 again? So the question is, does the scheduler try to let every virtual thread act at least once, before scheduling a previously blocked thread again? If it does that, then there should be no utilization problem, and all operations will be sent before any result processing happens.