Skip to content

feat: add distributed counting semaphore with multi-provider support - #117

Merged
steingran merged 7 commits into
mainfrom
feat/semaphore
Jul 5, 2026
Merged

feat: add distributed counting semaphore with multi-provider support#117
steingran merged 7 commits into
mainfrom
feat/semaphore

fix(semaphore): harden Consul, Redis, and SQL Server providers (#142)

156dac2
Select commit
Loading
Failed to load commit list.
Codecov / codecov/project succeeded Jul 5, 2026 in 0s

72.95% (-1.83%) compared to 08a6da9

View this Pull Request on Codecov

72.95% (-1.83%) compared to 08a6da9

Details

Codecov Report

❌ Patch coverage is 70.93363% with 797 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.95%. Comparing base (08a6da9) to head (156dac2).

Files with missing lines Patch % Lines
.../MultiLock.ZooKeeper/ZooKeeperSemaphoreProvider.cs 49.40% 154 Missing and 17 partials ⚠️
...viders/MultiLock.Consul/ConsulSemaphoreProvider.cs 60.35% 100 Missing and 13 partials ⚠️
...reBlobStorage/AzureBlobStorageSemaphoreProvider.cs 56.44% 88 Missing and 10 partials ⚠️
src/MultiLock/SemaphoreService.cs 79.05% 60 Missing and 20 partials ⚠️
...ultiLock.FileSystem/FileSystemSemaphoreProvider.cs 68.14% 66 Missing and 13 partials ⚠️
...ultiLock.PostgreSQL/PostgreSqlSemaphoreProvider.cs 78.35% 58 Missing and 5 partials ⚠️
.../MultiLock.SqlServer/SqlServerSemaphoreProvider.cs 80.67% 52 Missing and 5 partials ⚠️
...roviders/MultiLock.Redis/RedisSemaphoreProvider.cs 80.00% 28 Missing and 3 partials ⚠️
....ZooKeeper/ZooKeeperServiceCollectionExtensions.cs 0.00% 22 Missing ⚠️
...ostgreSQL/PostgreSQLServiceCollectionExtensions.cs 0.00% 15 Missing ⚠️
... and 12 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #117      +/-   ##
==========================================
- Coverage   74.78%   72.95%   -1.83%     
==========================================
  Files          36       65      +29     
  Lines        2237     4974    +2737     
  Branches      293      608     +315     
==========================================
+ Hits         1673     3629    +1956     
- Misses        451     1142     +691     
- Partials      113      203      +90     
Files with missing lines Coverage Δ
src/MultiLock/Exceptions/SemaphoreException.cs 100.00% <100.00%> (ø)
src/MultiLock/Exceptions/SemaphoreFullException.cs 100.00% <100.00%> (ø)
...MultiLock/Exceptions/SemaphoreProviderException.cs 100.00% <100.00%> (ø)
.../MultiLock/Exceptions/SemaphoreTimeoutException.cs 100.00% <100.00%> (ø)
src/MultiLock/SemaphoreChangedEventArgs.cs 100.00% <100.00%> (ø)
src/MultiLock/SemaphoreInfo.cs 100.00% <100.00%> (ø)
src/MultiLock/SemaphoreOptions.cs 100.00% <100.00%> (ø)
src/MultiLock/SemaphoreServiceExtensions.cs 100.00% <100.00%> (ø)
src/MultiLock/SemaphoreStatus.cs 100.00% <100.00%> (ø)
...ureBlobStorage/AzureBlobStorageSemaphoreOptions.cs 100.00% <100.00%> (ø)
... and 31 more

... and 4 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 08a6da9...156dac2. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.