This is an automated email from the ASF dual-hosted git repository.
vincbeck pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new b0cfa1e1b1b Stop the EKS executor concurrency test from starving its
own builders (#75197)
b0cfa1e1b1b is described below
commit b0cfa1e1b1bc2d7e1518b1bb65e41400c0fbfd43
Author: Pankaj Singh <[email protected]>
AuthorDate: Tue Oct 20 17:32:20 2026 +0530
Stop the EKS executor concurrency test from starving its own builders
(#75197)
The watcher thread spun on os.environ.get without yielding, holding the GIL
against the client-building threads. The test took about 95 seconds locally
and exceeded its 60 second timeout in the lowest-dependencies CI job.
---
.../amazon/tests/unit/amazon/aws/executors/eks/test__client_factory.py | 3 +++
1 file changed, 3 insertions(+)
diff --git
a/providers/amazon/tests/unit/amazon/aws/executors/eks/test__client_factory.py
b/providers/amazon/tests/unit/amazon/aws/executors/eks/test__client_factory.py
index 29ffa632d0c..45306e27316 100644
---
a/providers/amazon/tests/unit/amazon/aws/executors/eks/test__client_factory.py
+++
b/providers/amazon/tests/unit/amazon/aws/executors/eks/test__client_factory.py
@@ -21,6 +21,7 @@ import os
import signal
import tempfile
import threading
+import time
from base64 import b64encode
from concurrent.futures import ThreadPoolExecutor
from pathlib import Path
@@ -152,6 +153,8 @@ class TestGetEksKubeClient:
def watch():
while building.is_set():
seen.add(os.environ.get("AWS_STS_REGIONAL_ENDPOINTS"))
+ # A bare spin loop holds the GIL against the builders and can
push the test past its timeout.
+ time.sleep(0.001)
building.set()
watcher = threading.Thread(target=watch)