Skip to content

Evaluate the aggregate overloads over the same rows in one query - #91

Merged
estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:test/batch-aggregate-overloads
Oct 25, 2026
Merged

estebanzimanyi merged 1 commit into
MobilityDB:mainfrom
estebanzimanyi:test/batch-aggregate-overloads

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

theOverloadAnswersWhatMobilityDBAnswers evaluates the cases of OVERLOADS that aggregate the same
rows as the columns of one query, each case still a test of its own reading its answer. A query
that fails is run again case by case through answer, so a failing case raises its own error.

Witness: each case was a query of its own, a job the mini-cluster plans and submits, so the class
spent its time on jobs rather than on aggregates; it was the largest class left in the binding's
test step after TopologicalPositionSurfaceTest shared its jobs.

Measured: the 268 cases aggregate 75 distinct sources of rows, so 268 jobs become 75 at most. On
the same machine and stack, AggregatesCatalogTest passes its 296 tests in 106.0 s, against 253.0 s
with a job per case; on the CI of main the class took 179.1 s of the step.

Why: a query per aggregate measures Flink's job submission, not the surface; sharing the jobs
keeps every case and every check.

theOverloadAnswersWhatMobilityDBAnswers evaluates the cases of OVERLOADS that aggregate the same
rows as the columns of one query, each case still a test of its own reading its answer. A query
that fails is run again case by case through answer, so a failing case raises its own error.

Witness: each case was a query of its own, a job the mini-cluster plans and submits, so the class
spent its time on jobs rather than on aggregates; it was the largest class left in the binding's
test step after TopologicalPositionSurfaceTest shared its jobs.

Measured: the 268 cases aggregate 75 distinct sources of rows, so 268 jobs become 75 at most. On
the same machine and stack, AggregatesCatalogTest passes its 296 tests in 106.0 s, against 253.0 s
with a job per case; on the CI of main the class took 179.1 s of the step.

Why: a query per aggregate measures Flink's job submission, not the surface; sharing the jobs
keeps every case and every check.
@estebanzimanyi
estebanzimanyi merged commit ce00057 into MobilityDB:main Oct 25, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the test/batch-aggregate-overloads branch October 25, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant