Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
e1fcd68
remove unrelated workflows
Mar 31, 2026
bb58322
run 10x
Mar 31, 2026
60594c2
01
Mar 31, 2026
56a0a56
Show more info about open queries
Mar 31, 2026
a40ae55
simplify logic
Mar 31, 2026
6d0340c
lint
Mar 31, 2026
70caa46
reduce logging to one line
Mar 31, 2026
119f586
store bigger queries?
Mar 31, 2026
42b6a38
dump & analyse gha logs to check what's going on
Mar 31, 2026
80665ad
exclude idle queries
Mar 31, 2026
90f65b0
ignore logs dir
Mar 31, 2026
a4ad01e
don't dump jobs in progress
Mar 31, 2026
3e8670e
add list of jobs in progress
Mar 31, 2026
677e526
analyse usefully
Mar 31, 2026
de9d72c
10 more jobs
Mar 31, 2026
3addc27
dump for completed RUNs
Mar 31, 2026
e551505
clearer output when no runs in progress
Mar 31, 2026
89b7f59
rename script
Mar 31, 2026
6ac0fd3
allow dump of specific run id
Mar 31, 2026
2ecffce
larger queries: take 2
Mar 31, 2026
95d171e
try something else
Mar 31, 2026
98ceffd
try --t
Mar 31, 2026
d06db12
only list in-progress ON THIS BRANCH
Apr 1, 2026
81f6b9e
PGOPTIONS
Apr 1, 2026
0f4017c
entrypoint
Apr 1, 2026
5a99f2a
wat
Apr 1, 2026
c72ba37
tryagin
Apr 1, 2026
b92011f
create db first
Apr 1, 2026
cce87b6
use postgres db
Apr 1, 2026
725e6f5
ps
Apr 1, 2026
26cae44
name=
Apr 1, 2026
ba99fbf
do it in bash
Apr 1, 2026
84db8e1
tuples
Apr 1, 2026
4f47c12
slep
Apr 1, 2026
b2ddb9b
restart
Apr 1, 2026
ca14a7b
timeout
Apr 1, 2026
adc8f23
smaller tmeout
Apr 1, 2026
238145c
no minust
Apr 1, 2026
0707e90
add some slep
Apr 1, 2026
b6b8be6
make after
Apr 1, 2026
6c471bc
nicer logging?
Apr 1, 2026
4611a5b
quieter
Apr 1, 2026
fd81d0c
quiet psql
Apr 1, 2026
54a27ef
psql no host
Apr 1, 2026
73c98eb
psql no user
Apr 1, 2026
7df3884
psql --command
Apr 1, 2026
c54dd61
bring back all the jobs
Apr 1, 2026
4db9afa
re-add localhost
Apr 1, 2026
299fecc
remove dodgy ar tpug
Apr 1, 2026
815ca61
username
Apr 1, 2026
e4cb2a3
spacing
Apr 1, 2026
fb2a93a
remove duplicated old err
Apr 1, 2026
07a75a5
non-OK response: include method & URL
Apr 1, 2026
47317e8
matrix
Apr 1, 2026
f0da124
restarting: don't suppress output
Apr 1, 2026
f5c83ff
pg_isready: don't suppress output
Apr 1, 2026
eaf5f2f
pg_isready: increase timeout
Apr 1, 2026
866b5cb
clearer non-OK response logging
Apr 1, 2026
2c59e99
log at soak-test level
Apr 1, 2026
d62ac49
a bit more logging
Apr 1, 2026
49d2be9
convert to PR
Apr 1, 2026
ed4007d
Merge branch 'master' into soak-test-test
Apr 1, 2026
aab836a
Inlclude error stack in response
Apr 1, 2026
663430f
more reliable?
Apr 1, 2026
c6e2732
only fetch logs for failed jobs
Apr 1, 2026
9363a5b
dump: support attempts
Apr 2, 2026
2ed2d2f
Include web links
Apr 2, 2026
5f0872f
fix analyse
Apr 2, 2026
50827a7
10x exportZipWithDataAndMedia() to try to force a failure
Apr 2, 2026
3c35f90
fail-fast
Apr 2, 2026
0aea819
Revert "10x exportZipWithDataAndMedia() to try to force a failure"
Apr 2, 2026
91747cb
allow 20 mins for connections to close
Apr 2, 2026
9241ebd
try again long zipping, but only once
Apr 2, 2026
9333a9d
clearer error
Apr 4, 2026
1c9a1cd
throw deliberately
Apr 4, 2026
95f29da
execute quicker
Apr 4, 2026
b565242
add another failure
Apr 4, 2026
7af2cf3
revert app code changes
Apr 4, 2026
4663227
bring back
Apr 4, 2026
e154f9b
fail zip quicker?
Apr 4, 2026
ec2a2e7
Merge branch 'master' into soak-test-test
Apr 4, 2026
496d5f7
try reduced loggging
Apr 4, 2026
6e344bf
reinstate matrix and long check for danglers
Apr 4, 2026
6d16a55
add description?
Apr 5, 2026
34dcc65
add run-name
Apr 5, 2026
771f6f7
more sensible timeouts?
Apr 5, 2026
5edd34c
sha & title
Apr 5, 2026
5a8843f
customise maxDrainDuration
Apr 5, 2026
8e4cf74
expect success
Apr 5, 2026
9abc538
add check for initial respons
Apr 5, 2026
df50316
add more logging
Apr 5, 2026
686ff9e
await
Apr 5, 2026
57e5f79
n=-1
Apr 5, 2026
6c1a733
mark selects
Apr 5, 2026
0c25e3b
expect less success
Apr 5, 2026
7fff26d
expect nothing
Apr 5, 2026
785a6c7
add more labvel
Apr 5, 2026
f68d242
count open requests
Apr 5, 2026
7298983
revert to original timeouts
Apr 25, 2026
39602ab
rebuild
Apr 25, 2026
42ca8c5
removed
Apr 25, 2026
126eb42
remove job name stuff
Apr 25, 2026
f2ddeb7
Merge branch 'master' into soak-test-test
Apr 25, 2026
8af9b2d
Merge branch 'master' into soak-test-test
alxndrsn Apr 25, 2026
67726cf
reduce changeset vs master
Apr 25, 2026
a68d110
increase maxDrainDuration
Apr 25, 2026
56bb5ca
increase check for open queries timeout
Apr 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 0 additions & 51 deletions .github/workflows/db-migrations.yml

This file was deleted.

49 changes: 0 additions & 49 deletions .github/workflows/oidc-e2e.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/oidc-integration.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/s3-e2e.yml

This file was deleted.

8 changes: 6 additions & 2 deletions .github/workflows/soak-test.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
name: Soak Test

on:
push:
branches: master
pull_request:

jobs:
soak-test:
strategy:
fail-fast: true
matrix:
x: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
y: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
timeout-minutes: 15
# TODO should we use the same container as circle & central?
runs-on: ubuntu-latest
Expand Down
55 changes: 0 additions & 55 deletions .github/workflows/standard-e2e.yml

This file was deleted.

37 changes: 0 additions & 37 deletions .github/workflows/standard-suite.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ node_modules/
.vscode
/junit-reports/
/config/development.json
/gha-logs/
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

discard when investigation complete


# context files for AI agents
AGENTS.md
Expand Down
57 changes: 57 additions & 0 deletions analyse-queries.js
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

discard when investigation complete

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#!/usr/bin/env node

const { execSync } = require('node:child_process');
const { readdirSync, readFileSync } = require('node:fs');

const log = (...args) => console.log('[analyse-queries]', ...args);

const rootDir = './gha-logs';

const [,,...args] = process.argv;
const runId = args.length ? args[0] : execSync(`ls -td ${rootDir}/* | head -1`, { encoding:'utf8' }).substring(rootDir.length + 1).trim();
log('run id:', runId);

const allActiveQueries = {};

for( const att of readdirSync(`${rootDir}/run-${runId}`)) {
for(const _f of readdirSync(`${rootDir}/run-${runId}/${att}`)) {
const f = `${rootDir}/run-${runId}/${att}/${_f}`;
log('Processing:', f);

const queryPrefix = 'Open queries: ';
const activeQueries = readFileSync(f, 'utf8')
.split('\n')
.filter(it => it.includes(queryPrefix))
.map(it => {
const [ prefix, json ] = it.split(queryPrefix);
return JSON.parse(json)
.filter(it => it.state !== 'idle')
.map(q => {
const logged_at = new Date(prefix.match(/2026-\S*Z/)[0]);
const query_start = new Date(q.query_start);
return {
...q,
logged_at,
query_start,
duration_so_far: logged_at.valueOf() - query_start.valueOf(),
};
});
});

const lastQueries = activeQueries.at(-1);
log(' last activeQueries:', lastQueries);

activeQueries
.flat()
.forEach(processQuery);
}

log(' Done.');
}

console.log('allActiveQueries:', JSON.stringify(allActiveQueries, null, 2));

function processQuery({ state, duration_so_far, query }) {
if(!allActiveQueries[query]) allActiveQueries[query] = duration_so_far;
allActiveQueries[query] = Math.max(allActiveQueries[query], duration_so_far);
}
Loading