Skip to content

Commit 76ae555

Browse files
Merge remote-tracking branch 'origin/main' into dev-milind
2 parents e2f1ac0 + dcd31f3 commit 76ae555

6 files changed

Lines changed: 7 additions & 127 deletions

File tree

.github/workflows/accuracy_performance.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ on:
1212
paths:
1313
- 'asap-query-engine/**'
1414
- 'asap-planner-rs/**'
15-
- 'asap-summary-ingest/**'
1615
- 'asap-quickstart/**'
1716
- '.github/workflows/accuracy_performance.yml'
1817
- 'benchmarks/**'
@@ -67,15 +66,6 @@ jobs:
6766
cache-from: type=registry,ref=ghcr.io/projectasap/asap-planner-rs:buildcache
6867
cache-to: type=registry,ref=ghcr.io/projectasap/asap-planner-rs:buildcache,mode=max
6968

70-
- name: Build and push asap-summary-ingest
71-
uses: docker/build-push-action@v6
72-
with:
73-
context: asap-summary-ingest
74-
file: asap-summary-ingest/Dockerfile
75-
push: true
76-
tags: ghcr.io/projectasap/asap-summary-ingest:${{ steps.tag.outputs.value }}
77-
build-args: BASE_IMAGE=ghcr.io/projectasap/asap-base:latest
78-
7969
- name: Build and push asap-query-engine
8070
uses: docker/build-push-action@v6
8171
with:

.github/workflows/docker.yml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ on:
1010
paths:
1111
- 'asap-common/installation/**'
1212
- 'asap-planner-rs/**'
13-
- 'asap-summary-ingest/**'
1413
- 'asap-query-engine/**'
1514
- 'asap-tools/queriers/prometheus-client/**'
1615
- 'asap-tools/data-sources/prometheus-exporters/fake_exporter/fake_exporter_rust/**'
@@ -89,22 +88,6 @@ jobs:
8988
cache-to: ${{ (startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch') && 'type=registry,ref=ghcr.io/projectasap/asap-planner-rs:buildcache,mode=max' || '' }}
9089

9190

92-
# --- Summary Ingest (Python, depends on base) ---
93-
- name: Build summary-ingest image
94-
run: |
95-
docker build \
96-
-t asap-summary-ingest:local \
97-
-f asap-summary-ingest/Dockerfile \
98-
asap-summary-ingest
99-
100-
- name: Push summary-ingest image
101-
if: startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch'
102-
run: |
103-
docker tag asap-summary-ingest:local ghcr.io/projectasap/asap-summary-ingest:${{ steps.tag.outputs.value }}
104-
docker tag asap-summary-ingest:local ghcr.io/projectasap/asap-summary-ingest:latest
105-
docker push ghcr.io/projectasap/asap-summary-ingest:${{ steps.tag.outputs.value }}
106-
docker push ghcr.io/projectasap/asap-summary-ingest:latest
107-
10891
# --- Prometheus Client (Python, depends on base) ---
10992
- name: Build prometheus-client image
11093
run: |

.github/workflows/python.yml

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches: [ main ]
66
paths:
7-
- 'asap-summary-ingest/**'
87
- 'asap-tools/queriers/prometheus-client/**'
98
- 'asap-tools/**'
109
- 'asap-tools/data-sources/prometheus-exporters/**'
@@ -15,7 +14,6 @@ on:
1514
types: [opened, synchronize, reopened, ready_for_review]
1615
branches: [ main ]
1716
paths:
18-
- 'asap-summary-ingest/**'
1917
- 'asap-tools/queriers/prometheus-client/**'
2018
- 'asap-tools/**'
2119
- 'asap-tools/data-sources/prometheus-exporters/**'
@@ -37,7 +35,6 @@ jobs:
3735
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
3836
runs-on: ubuntu-latest
3937
outputs:
40-
summary_ingest: ${{ steps.filter.outputs.summary_ingest }}
4138
prometheus_client: ${{ steps.filter.outputs.prometheus_client }}
4239
utilities: ${{ steps.filter.outputs.utilities }}
4340
prometheus_exporters: ${{ steps.filter.outputs.prometheus_exporters }}
@@ -48,9 +45,6 @@ jobs:
4845
id: filter
4946
with:
5047
filters: |
51-
summary_ingest:
52-
- 'asap-summary-ingest/**'
53-
- 'asap-common/dependencies/py/**'
5448
prometheus_client:
5549
- 'asap-tools/queriers/prometheus-client/**'
5650
- 'asap-common/dependencies/py/**'
@@ -64,35 +58,6 @@ jobs:
6458
- 'asap-tools/execution-utilities/**'
6559
- 'asap-common/dependencies/py/**'
6660
67-
test-summary-ingest:
68-
needs: detect-changes
69-
if: needs.detect-changes.outputs.summary_ingest == 'true'
70-
runs-on: ubuntu-latest
71-
strategy:
72-
matrix:
73-
python-version: ["3.8", "3.9", "3.10", "3.11"]
74-
steps:
75-
- uses: actions/checkout@v4
76-
- name: Set up Python ${{ matrix.python-version }}
77-
uses: actions/setup-python@v4
78-
with:
79-
python-version: ${{ matrix.python-version }}
80-
- name: Install dependencies
81-
run: |
82-
python -m pip install --upgrade pip
83-
pip install black==24.8.0 flake8==6.1.0
84-
if [ -f asap-summary-ingest/requirements.txt ]; then pip install -r asap-summary-ingest/requirements.txt; fi
85-
- name: Check formatting with Black
86-
working-directory: asap-summary-ingest
87-
run: black --check --diff .
88-
- name: Lint with flake8
89-
working-directory: asap-summary-ingest
90-
run: |
91-
# Stop the build if there are Python syntax errors or undefined names
92-
flake8 . --config=../.flake8 --count --select=E9,F63,F7,F82 --show-source --statistics
93-
# Exit-zero treats all errors as warnings
94-
flake8 . --config=../.flake8 --count --exit-zero --max-complexity=10 --statistics
95-
9661
test-prometheus-client:
9762
needs: detect-changes
9863
if: needs.detect-changes.outputs.prometheus_client == 'true'

benchmarks/docker-compose.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,5 @@ services:
1313
asap-planner-rs:
1414
image: ghcr.io/projectasap/asap-planner-rs:${ASAP_IMAGE_TAG}
1515

16-
asap-summary-ingest:
17-
image: ghcr.io/projectasap/asap-summary-ingest:${ASAP_IMAGE_TAG}
18-
1916
queryengine:
2017
image: ghcr.io/projectasap/asap-query-engine:${ASAP_IMAGE_TAG}

benchmarks/scripts/ingest_wait.sh

Lines changed: 7 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,18 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
# ingest_wait.sh — waits for the asap-demo Arroyo pipeline to reach RUNNING
5-
# state, then sleeps to allow sketches to accumulate before verifying that the
6-
# query engine has ingested data.
4+
# ingest_wait.sh — waits for the query engine to accumulate sketches before
5+
# benchmarking. With the precompute engine, the query engine begins computing
6+
# immediately on startup, so we just sleep and then verify data is present.
77

8-
ARROYO_URL="http://localhost:5115/api/v1/pipelines"
98
QE_URL="http://localhost:8088/api/v1/query"
10-
PIPELINE_NAME="asap-demo"
11-
MAX_PIPELINE_WAIT=600 # seconds — Arroyo must compile Rust UDFs; allow extra time
12-
ACCUMULATE_SLEEP=90 # seconds after pipeline is running
13-
SLEEP=5
9+
ACCUMULATE_SLEEP=90 # seconds for sketches to accumulate
1410

15-
# ── 1. Wait for asap-demo pipeline to reach RUNNING ─────────────────────────
16-
echo "[ingest_wait] Waiting for Arroyo pipeline '${PIPELINE_NAME}' to reach RUNNING state ..."
17-
elapsed=0
18-
while true; do
19-
state=$(curl -sf --max-time 10 "${ARROYO_URL}" 2>/dev/null \
20-
| python3 -c "
21-
import sys, json
22-
try:
23-
data = json.load(sys.stdin)
24-
# 'data' key may be null when no pipelines exist; use 'or []' to handle that
25-
pipelines = data if isinstance(data, list) else (data.get('data') or [])
26-
for p in pipelines:
27-
name = str(p.get('name') or p.get('id') or '')
28-
# Normalise hyphens/underscores so 'asap-demo' matches 'asap_demo'
29-
if '${PIPELINE_NAME}'.replace('-', '_') in name.replace('-', '_'):
30-
state = p.get('state')
31-
stop = p.get('stop', '')
32-
# Arroyo signals a running pipeline via state=null and stop='none'
33-
if state is None and stop == 'none':
34-
print('Running')
35-
elif state is not None:
36-
print(str(state))
37-
else:
38-
print('stopped')
39-
break
40-
else:
41-
# No matching pipeline found yet — print nothing so caller retries
42-
pass
43-
except Exception:
44-
pass
45-
" 2>/dev/null || true)
46-
47-
if [ "${state}" = "Running" ] || [ "${state}" = "RUNNING" ] || [ "${state}" = "running" ]; then
48-
echo "[ingest_wait] Pipeline '${PIPELINE_NAME}' is RUNNING (${elapsed}s elapsed)"
49-
break
50-
fi
51-
52-
if [ "${elapsed}" -ge "${MAX_PIPELINE_WAIT}" ]; then
53-
echo "[ingest_wait] ERROR: Pipeline '${PIPELINE_NAME}' did not reach RUNNING within ${MAX_PIPELINE_WAIT}s (last state: '${state:-unknown}')" >&2
54-
# Dump pipeline list for diagnosis
55-
echo "[ingest_wait] Current Arroyo pipeline list:" >&2
56-
curl -sf --max-time 10 "${ARROYO_URL}" 2>/dev/null | python3 -m json.tool 2>/dev/null >&2 || true
57-
exit 1
58-
fi
59-
60-
echo "[ingest_wait] Pipeline state: '${state:-not found}' — retrying in ${SLEEP}s (${elapsed}s elapsed) ..."
61-
sleep "${SLEEP}"
62-
elapsed=$(( elapsed + SLEEP ))
63-
done
64-
65-
# ── 2. Allow sketches to accumulate ─────────────────────────────────────────
66-
echo "[ingest_wait] Pipeline running. Sleeping ${ACCUMULATE_SLEEP}s for sketches to accumulate ..."
11+
# ── 1. Allow sketches to accumulate ─────────────────────────────────────────
12+
echo "[ingest_wait] Sleeping ${ACCUMULATE_SLEEP}s for sketches to accumulate ..."
6713
sleep "${ACCUMULATE_SLEEP}"
6814

69-
# ── 3. Verify query engine has data ─────────────────────────────────────────
15+
# ── 2. Verify query engine has data ─────────────────────────────────────────
7016
echo "[ingest_wait] Verifying query engine has data ..."
7117
response=$(curl -sf --max-time 10 \
7218
"${QE_URL}?query=avg%28sensor_reading%29" 2>/dev/null || true)

benchmarks/scripts/wait_for_stack.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ wait_for_url() {
2828
}
2929

3030
wait_for_url "Prometheus" "http://localhost:9090/-/healthy"
31-
wait_for_url "Arroyo API" "http://localhost:5115/api/v1/pipelines"
3231
wait_for_url "QueryEngine" "http://localhost:8088/api/v1/query?query=vector(1)"
3332

3433
echo "[wait_for_stack] All services are healthy."

0 commit comments

Comments
 (0)