Skip to content

Commit 69f4882

Browse files
committed
Add debug workflow and output to diagnose CI test failure
1. Created new workflow 'test-telemetry-only.yml' that runs only the failing telemetry test with -n auto, mimicking real CI but much faster 2. Added debug output to test showing: - Client-side captured events - Number of futures/batches - Number of server responses - Server-reported successful events This will help identify why CI gets 88 events vs local 60 events. Signed-off-by: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 93c4004 commit 69f4882

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Test Telemetry Only (Debug)
2+
3+
on:
4+
push:
5+
branches:
6+
- fix/telemetry-lifecycle-issues-729-731
7+
pull_request:
8+
branches:
9+
- fix/telemetry-lifecycle-issues-729-731
10+
workflow_dispatch: # Allow manual trigger
11+
12+
jobs:
13+
test-telemetry:
14+
runs-on: ubuntu-latest
15+
environment: azure-prod
16+
env:
17+
DATABRICKS_SERVER_HOSTNAME: ${{ secrets.DATABRICKS_HOST }}
18+
DATABRICKS_HTTP_PATH: ${{ secrets.TEST_PECO_WAREHOUSE_HTTP_PATH }}
19+
DATABRICKS_TOKEN: ${{ secrets.DATABRICKS_TOKEN }}
20+
DATABRICKS_CATALOG: peco
21+
DATABRICKS_USER: ${{ secrets.TEST_PECO_SP_ID }}
22+
steps:
23+
- name: Check out repository
24+
uses: actions/checkout@v4
25+
26+
- name: Set up python
27+
id: setup-python
28+
uses: actions/setup-python@v5
29+
with:
30+
python-version: "3.10"
31+
32+
- name: Install Poetry
33+
uses: snok/install-poetry@v1
34+
with:
35+
virtualenvs-create: true
36+
virtualenvs-in-project: true
37+
installer-parallel: true
38+
39+
- name: Load cached venv
40+
id: cached-poetry-dependencies
41+
uses: actions/cache@v4
42+
with:
43+
path: .venv
44+
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ github.event.repository.name }}-${{ hashFiles('**/poetry.lock') }}
45+
46+
- name: Install dependencies
47+
run: poetry install --no-interaction --all-extras
48+
49+
- name: Run telemetry test only (with xdist auto to mimic real CI)
50+
run: |
51+
poetry run python -m pytest tests/e2e/test_concurrent_telemetry.py::TestE2ETelemetry::test_concurrent_queries_sends_telemetry -n auto -v -s

tests/e2e/test_concurrent_telemetry.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,18 @@ def execute_query_worker(thread_id):
151151
assert "errors" not in response or not response["errors"]
152152
if "numProtoSuccess" in response:
153153
total_successful_events += response["numProtoSuccess"]
154+
155+
# DEBUG: Print detailed counts to understand CI vs local difference
156+
print(f"\n{'='*60}")
157+
print(f"TELEMETRY DEBUG - Understanding 88 vs 60 discrepancy")
158+
print(f"{'='*60}")
159+
print(f"Client side captured_telemetry: {len(captured_telemetry)} events")
160+
print(f"Client side captured_futures: {len(captured_futures)} futures")
161+
print(f"Server side captured_responses: {len(captured_responses)} responses")
162+
print(f"Server reported total_successful_events: {total_successful_events}")
163+
print(f"Expected events: {num_threads * 2}")
164+
print(f"{'='*60}\n")
165+
154166
assert total_successful_events == num_threads * 2
155167

156168
assert (

0 commit comments

Comments
 (0)