Environment: Azure Container Apps Job (workload profile D32-benchmark, 16 vCPU / 32 GiB)
Region: westus3 (same region as ClickHouse Cloud)
ClickHouse: Cloud Production Scale tier (2 replicas × 4 CPU × ~8 GiB)
Connection: HTTPS port 8443, Compression=true, set_async_insert=1, set_wait_for_async_insert=0
Job execution: oc-exp-1k-p32-7evdq5y
Image: ocexperimentacr.azurecr.io/storage-experiment:latest (commit e7cc5618 — cap final-merge parallelism at 4)
Timestamp: 2026-04-19T11:15 UTC

Backend: clickhouse, Scale: 100000 worlds, Environment: local
Streaming mode: totalWorlds=100000, chunkSize=1000 [PBP DISABLED] [parallel=32]
PBP sink: local at ./pbp-parquet

Streaming Run Report
--------------------
Total wall time:         2991.02 s
Simulation time:         1530.41 s
OC write time:            232.59 s
PBP write time:             0.00 s
Merge time:              1210.22 s
Peak working set:        16720.5 MB
Chunks completed:            100
OC rows (merged):        244,800
PBP rows (written):            0

Notes:
- First 100K attempt (oc-exp-1k-p32-8s0xvkb) failed at minute ~35 during the
  final merge with ClickHouse server-side MEMORY_LIMIT_EXCEEDED (Code: 241).
  Cause: N=32 parallel arrayFlatten queries each needing ~680 MB working set
  = ~22 GB, exceeding the Production Scale replica's ~14 GiB per-query budget.
- Fix (commit e7cc5618): cap final-merge parallelism at 4 regardless of how
  many workers run simulation and OC writes. Merge is server-bound, not
  client-bound, so extra client concurrency only hurt.
- Retry (this run) succeeded in 49.85 min with peak client RAM 16.7 GB.
