-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resume Driver on cancelled or early finished #120020
Conversation
857b697
to
f250e18
Compare
c22faad
to
955aa6b
Compare
Hi @dnhatn, I've created a changelog YAML for you. |
Pinging @elastic/es-analytical-engine (Team:Analytics) |
9d435c3
to
5843e29
Compare
Hi @dnhatn, I've created a changelog YAML for you. |
This reverts commit 03c65d0100314855345ad16625c9ab543f74a7c2.
I tested this against #118122 and it seems to work fine and eliminated the need for |
x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/Driver.java
Outdated
Show resolved
Hide resolved
x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/Driver.java
Outdated
Show resolved
Hide resolved
x-pack/plugin/esql/compute/src/main/java/org/elasticsearch/compute/operator/Operator.java
Outdated
Show resolved
Hide resolved
Thanks, Stas, for testing this patch! Thanks, Nik, for the feedback - it makes sense. I've made two changes:
|
💚 Backport successful
|
Today, when a Driver is put to sleep or scheduled but the thread pool is busy with other tasks, canceling the Driver must wait until the Driver is awakened and scheduled for another loop, or until the thread pool completes the tasks ahead of it. A similar issue occurs with early finishes. This change enables preemptive early finishes or cancellations of the Driver without waiting for another run loop.
* Resume Driver on cancelled or early finished (#120020) Today, when a Driver is put to sleep or scheduled but the thread pool is busy with other tasks, canceling the Driver must wait until the Driver is awakened and scheduled for another loop, or until the thread pool completes the tasks ahead of it. A similar issue occurs with early finishes. This change enables preemptive early finishes or cancellations of the Driver without waiting for another run loop. * compile
Today, when a Driver is put to sleep or scheduled but the thread pool is busy with other tasks, canceling the Driver must wait until the Driver is awakened and scheduled for another loop, or until the thread pool completes the tasks ahead of it. A similar issue occurs with early finishes.
This change enables preemptive early finishes or cancellations of the Driver without waiting for another run loop.