Avatar for the prisma user
prisma
prisma-engines
BlogDocsChangelog

fix(qc-test-runner): fix a bunch of iTX issues in the test runner

#5419Merged
Comparing
push-ktwryquvxxps
(
354126e
) with
main
(
5b3691a
)
CodSpeed Performance Gauge
0%
Improvements
0
Regressions
0
Untouched
11
New
0
Dropped
0
Ignored
0

Benchmarks

Passed

medium_read
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark::medium_read
CodSpeed Performance Gauge
+1%
314.3 µs
312.1 µs
build (medium)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::schema_builder::build (medium)
CodSpeed Performance Gauge
0%
2.6 ms
2.6 ms
small_read
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark::small_read
CodSpeed Performance Gauge
0%
108 µs
107.7 µs
build (large)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::schema_builder::build (large)
CodSpeed Performance Gauge
0%
5.3 ms
5.3 ms
validate (medium)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::psl::validate (medium)
CodSpeed Performance Gauge
0%
15.4 ms
15.4 ms
build (small)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::schema_builder::build (small)
CodSpeed Performance Gauge
0%
305.2 µs
305.2 µs
mutation
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark::mutation
CodSpeed Performance Gauge
0%
6.3 ms
6.3 ms
validate (large)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::psl::validate (large)
CodSpeed Performance Gauge
0%
70.9 ms
70.9 ms
validate (small)
query-engine/schema/benches/schema_builder_bench.rs::benches::criterion_benchmark::psl::validate (small)
CodSpeed Performance Gauge
0%
2.3 ms
2.3 ms
deep_read_query
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark::deep_read_query
CodSpeed Performance Gauge
-1%
1.9 ms
1.9 ms
large_read
query-engine/request-handlers/benches/query_planning_bench.rs::benches::criterion_benchmark::large_read
CodSpeed Performance Gauge
-2%
1.5 ms
1.6 ms

Commits

Click on a commit to change the comparison range
Base
main
5b3691a
0%
fix(qc-test-runner): fix a bunch of iTX issues in the test runner - Handle transaction manager errors in `worker-transaction.ts` and return them as part of the response like QE does. - Similarly, handle user facing errors in batch requests and return them appropriately. Previously only errors in non-batch queries were handled. Unfortunately we can't pull this logic to the very top to ensure any and all user facing errors are caught because the expected format of errors in response is different for different methods. - Align the transaction defaults with Prisma Client and make them less aggressive. This fixes some test flakiness that happens when running the tests locally with `cargo test` without retries (those weren't a problem on CI because the retries configured for `cargo nextest` mitigated this problem). - Fix running non-transactional batches from within an interactive transaction. Previously they would be executed on the wrong connection. - Add an orderBy argument to the final select in `new::interactive_tx::interactive_tx::batch_queries_success`. We don't have compacting a batch implemented, and we run non-transactional batches concurrently and not sequentially in `qc-test-runner`. Since we don't guarantee any particular execution order for non-transactional batches (and neither does the database guarantee that the selection order would match the insertion order, it just usually happens to work in practice), the result that the test was failing with was equally correct. Closes: https://linear.app/prisma-company/issue/ORM-893/fix-remaining-interactive-transaction-tests Closes: https://linear.app/prisma-company/issue/ORM-961/transaction-failed-due-to-a-write-conflict-in-occ-update-many-test Closes: https://github.com/prisma/prisma-engines/pull/5326
354126e
1 day ago
by aqrln
© 2025 CodSpeed Technology
Home Terms PrivacyDocs