diff --git a/Directory.Packages.props b/Directory.Packages.props index 6e9dcdfa6f..acdf451128 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -194,21 +194,29 @@ single stream rebuilds run the actual projection instead of silently falling through to conventional aggregation off the aggregate type; and the projection a scoped wrapper wraps is validated rather than only the wrapper, so an invalid configuration fails at startup for - every lifetime instead of only Singleton. --> - - + every lifetime instead of only Singleton. + JasperFx 2.39.2: jasperfx#630 (marten#5167) — the IEventDatabase batched extended-progression + contract now REQUIRES one row per transaction, and ExtendedProgressionWriter flushes each + batch ordered by shard name. A batch amortizes the CONNECTION, never the transaction: a + multi-row statement holds a row lock on every shard in the batch until it commits, so one + slow projection batch on one row stalled every other shard's telemetry on that database + (Marten's side of this is #5186, which does not depend on this bump). The ordering closes + the cross-writer deadlock hazard — the tracker is per-database and shared, and + BuildProjectionDaemonAsync is not cached, so two writers can race over the same rows. --> + + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - +