You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added a bounded lane action executor that separates reading/claiming from action execution.
Added ExecutionQueueCapacity globally and per lane for claimed actions waiting on execution slots.
Added executor diagnostics for claimed actions, waiting execution count, executing count, saturation, and oldest waiting execution age by lane.
Added integration coverage for non-blocking queue readers, real MaxDegreeOfParallelism enforcement, recovery through the executor, and bounded executor backpressure.
Added MuleIntent and IMuleClient.EnqueueManyAsync(...) for registering multiple durable intents with a single client call.
Added batch storage insertion support for Mule storage providers.
Added SQL Server integration coverage for batch enqueue, direct completion updates, and batch cleanup deletes.
Added Mule.DurableActions.FastLane.InMemory, an optional in-process buffer that acknowledges enqueue after buffer write and flushes intents and terminal states to durable storage in batches.
Added Mule.DurableActions.FastLane.Redis, an optional Redis-backed FastLane buffer for multi-replica high-throughput workloads.
Added IMuleDurableStorage so optional buffering providers can decorate active storage without losing access to the final durable provider.
Added IMuleBatchTerminalStorage so durable providers can persist terminal state transitions in batches.
Added FastLane InMemory integration coverage for buffered execution and ordered intent-before-terminal durable flushes.
Added optional Redis integration coverage for buffered execution and ordered durable flushes.
Changed
Changed immediate dispatch and recovery workers to lock/claim actions, enqueue them into the lane executor, and continue admitting work instead of executing actions inline.
Changed WorkerCount semantics to represent readers/claimers per lane while MaxDegreeOfParallelism controls actual concurrent execution.
Changed recovery dispatch to pass claimed actions to the lane executor as a batch.
Changed SQL Server completion, failure, and cleanup paths to use direct SQL statements instead of loading tracked entities for each operation.
Changed EF Core indexes to include status-based locked recovery and completed cleanup paths.
Changed FastLane Redis claim and completion paths to use Lua scripts and batched flush confirmation to reduce Redis round trips.