Skip to content

Let SQL Server and PostgreSQL primaries be upgraded - #5921

Merged
warwickschroeder merged 1 commit into
masterfrom
warwick/ef-upgrade-storage-gate
Sep 25, 2026
Merged

warwickschroeder merged 1 commit into
masterfrom
warwick/ef-upgrade-storage-gate

Conversation

@warwickschroeder

@warwickschroeder warwickschroeder commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

What this fixes

SCMU and the PowerShell module refused to upgrade any primary not on RavenDB, and an upgrade could fail when a stopped instance took more than 5 seconds to release its files. Both now go through. Neither tool can create a SQL Server or PostgreSQL primary yet, and -Force is unchanged.

  • The upgrade check allows any supported storage engine, so RavenDB 3.5 and unknown persisters are still refused.
  • SCMU only asks for a maintenance port when the storage engine uses one.
  • Every installer stop waits up to 60 seconds, not 5, for the instance to release its files.

Tests

  • ServiceControlInstaller.Engine.UnitTests/Validation/StorageEngineUpgradeTests (new): which shipped primary and audit storage engines can be upgraded.
  • ServiceControlInstaller.Engine.UnitTests/Services/TryStopServiceTests (new): a stop succeeds when a DLL stays locked for 7 seconds.
  • ServiceControl.Config.Tests/UpgradeMaintenancePortTests (new): which primary storage engines are asked for a maintenance port.

…e validation

- Introduced UpgradeMaintenancePortTests to verify maintenance port settings for primary persisters.
- Added TryStopServiceTests to ensure service stops correctly when files are locked.
- Created StorageEngineUpgradeTests to validate upgrade capabilities of primary and audit storage engines.
- Updated BaseService to extend wait time for service stop operations.
- Refactored AbstractCommandChecks to improve upgrade compatibility checks for storage engines.
@warwickschroeder
warwickschroeder merged commit 0411685 into master Sep 25, 2026
36 checks passed
@warwickschroeder
warwickschroeder deleted the warwick/ef-upgrade-storage-gate branch September 25, 2026 08:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants