mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-20 13:30:46 +02:00
Durability mode implementation (sync_all, sync_quorum, best_effort): - DurabilityMode type with superblock persistence, parse/validate/string - MakeDistributedSync mode-aware barrier enforcement in dist_group_commit - blockerr sentinel package (ErrDurabilityBarrierFailed, ErrDurabilityQuorumLost) - gRPC create path: mode validation, idempotent create consistency, partial cleanup - F1: strict mode rejects partial replica provisioning with cleanup - F3: empty heartbeat does not overwrite persisted strict mode - F4: SCSI error mapping uses errors.Is sentinels (not string matching) - Proto/wire/blockapi/CLI/UI plumbing for durability_mode field - Observability dashboard: cluster health cards + per-volume columns Testrunner platform (YAML-driven integration test framework): - Engine, parser, registry, reporter (JUnit XML + HTML), metrics scraping - 52 registered actions: block, iSCSI, I/O, fault injection, assertions - Baseline regression framework with 7 hard-fail conditions - 15 YAML scenarios (smoke, crash, HA, fault, consistency, snapshot) - 49 unit tests for testrunner internals QA adversarial suite (21 tests, all PASS): - Idempotent create mode/RF mismatch detection - Heartbeat mode downgrade prevention (F3) - sync_all/sync_quorum partial replica enforcement (F1) - Concurrent create race safety - Failover/expand mode preservation - Cleanup resilience when delete fails - Master restart auto-register mode handling - Superblock roundtrip all 3 modes - Validate edge cases (mode×RF matrix) - RequiredReplicas quorum math verification - Sentinel error categorization Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
819 B
PowerShell
24 lines
819 B
PowerShell
# unblock-windows.ps1 — Unblock downloaded binaries and add Defender exclusion.
|
|
# Run as Administrator: powershell -ExecutionPolicy Bypass -File .\unblock-windows.ps1
|
|
#
|
|
# This is needed because Windows SmartScreen blocks unsigned binaries downloaded
|
|
# from the internet. Code signing is future work (requires certificate).
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
$dir = (Get-Location).Path
|
|
|
|
Write-Host "Unblocking binaries in $dir ..."
|
|
|
|
$binaries = @("sw-test-runner.exe", "iscsi-target.exe", "weed.exe")
|
|
foreach ($bin in $binaries) {
|
|
$path = Join-Path $dir $bin
|
|
if (Test-Path $path) {
|
|
Unblock-File $path
|
|
Write-Host " Unblocked: $bin"
|
|
}
|
|
}
|
|
|
|
Write-Host "Adding Defender exclusion for $dir ..."
|
|
Add-MpPreference -ExclusionPath $dir
|
|
Write-Host "Done. Binaries should no longer trigger SmartScreen."
|