From 77750b8021550acaf7c1c879ce249c8dff3fd1ce Mon Sep 17 00:00:00 2001 From: "Jeremy D. Miller" Date: Tue, 7 Jul 2026 13:02:04 -0500 Subject: [PATCH] Rebuild concurrency cap companion: resolved MaxConcurrentRebuildsPerDatabase + descriptor population (jasperfx#420/#434/#463, epic jasperfx#486 WS3) - DocumentStore resolves IEventStore.MaxConcurrentRebuildsPerDatabase: explicit StoreOptions.DaemonSettings knob wins, else max(1, MaxPoolSize/8) derived from the SqlClient pool, else unbounded - TryCreateUsage populates EventStoreUsage.MaxConcurrentRebuildsPerDatabase for CritterWatch#309's rebuild dispatcher - JasperFx 2.23.0 pin (from 2.20.0); full Polecat.Tests green (1405/0, net9.0) Co-Authored-By: Claude Fable 5 --- Directory.Packages.props | 4 +- .../rebuild_concurrency_cap_resolution.cs | 82 +++++++++++++++++++ src/Polecat/DocumentStore.EventStore.cs | 33 ++++++++ 3 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 src/Polecat.Tests/rebuild_concurrency_cap_resolution.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index 7706c9bb..7811596e 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -22,8 +22,8 @@ IEventDatabase.QueryDeadLetterEventsAsync (dead-letter row drill-in), DeadLetterEvent.TenantId, and the tenant-aware daemon surface. Polecat implements the dead-letter row query + per-tenant FetchDeadLetterCountsAsync below. --> - - + +