Documentation
¶
Overview ¶
Package qualification contains operational release-evidence runners. It is separate from storage tests so receipts are produced by the same VCS-stamped executable that performs the work.
Index ¶
- Constants
- func ValidateSoakOptions(options SoakOptions) error
- type AnchorHistory
- type AnchorHistoryCheck
- type AnchorHistoryOperation
- type AnchorHistoryOperationKind
- type AnchorHistoryOutcome
- type AnchorHistoryStep
- type AnchorHistoryValue
- type SoakOptions
- type SoakPhaseReceipt
- type SoakProgress
- type SoakProgressStage
- type SoakReceipt
- type VolumeIdentity
Constants ¶
View Source
const MaxAnchorHistoryOperations = 24
View Source
const RaceEnabled = false
View Source
const SoakReceiptSchemaVersion uint32 = 4
Variables ¶
This section is empty.
Functions ¶
func ValidateSoakOptions ¶
func ValidateSoakOptions(options SoakOptions) error
Types ¶
type AnchorHistory ¶
type AnchorHistory struct {
Initial AnchorHistoryValue `json:"initial"`
Operations []AnchorHistoryOperation `json:"operations"`
}
type AnchorHistoryCheck ¶
type AnchorHistoryCheck struct {
Linearizable bool `json:"linearizable"`
ExploredStates uint64 `json:"exploredStates"`
Linearization []AnchorHistoryStep `json:"linearization"`
Violation string `json:"violation,omitempty"`
}
func CheckAnchorHistory ¶
func CheckAnchorHistory(history AnchorHistory) (AnchorHistoryCheck, error)
CheckAnchorHistory checks a bounded monotonic-register history. Failed advances are ambiguous: each may linearize as either a durable transition or a no-op. Failed loads are observational no-ops. Invoke/Return are unique controller-assigned event ordinals, not wall-clock timestamps.
type AnchorHistoryOperation ¶
type AnchorHistoryOperation struct {
ID string `json:"id"`
Kind AnchorHistoryOperationKind `json:"kind"`
Outcome AnchorHistoryOutcome `json:"outcome"`
Invoke uint64 `json:"invoke"`
Return uint64 `json:"return"`
Value AnchorHistoryValue `json:"value"`
}
type AnchorHistoryOperationKind ¶
type AnchorHistoryOperationKind string
const ( AnchorHistoryLoad AnchorHistoryOperationKind = "load" AnchorHistoryAdvance AnchorHistoryOperationKind = "advance" )
type AnchorHistoryOutcome ¶
type AnchorHistoryOutcome string
const ( AnchorHistorySucceeded AnchorHistoryOutcome = "succeeded" AnchorHistoryFailed AnchorHistoryOutcome = "failed" )
type AnchorHistoryStep ¶
type AnchorHistoryValue ¶
type SoakOptions ¶
type SoakPhaseReceipt ¶
type SoakPhaseReceipt struct {
Ordinal int `json:"ordinal"`
Duration time.Duration `json:"durationNanos"`
ConcurrentDuration time.Duration `json:"concurrentDurationNanos"`
Writes uint64 `json:"writes"`
SnapshotReads uint64 `json:"snapshotReads"`
IndexBuildBatches uint64 `json:"indexBuildBatches"`
ReclamationAttempts uint64 `json:"reclamationAttempts"`
ReclamationConflicts uint64 `json:"reclamationConflicts"`
CommitSequence uint64 `json:"commitSequence"`
PhysicalPages uint64 `json:"physicalPages"`
ReusablePages uint64 `json:"reusablePages"`
IndexBuildPhase uint8 `json:"indexBuildPhase"`
}
type SoakProgress ¶
type SoakProgressStage ¶
type SoakProgressStage string
const ( SoakProgressStarted SoakProgressStage = "started" SoakProgressPhaseRunning SoakProgressStage = "phase_running" SoakProgressPhaseVerifying SoakProgressStage = "phase_verifying" SoakProgressPhaseVerified SoakProgressStage = "phase_verified" SoakProgressShadowVerifying SoakProgressStage = "shadow_verifying" SoakProgressShadowVerified SoakProgressStage = "shadow_verified" SoakProgressFinalVerifying SoakProgressStage = "final_verifying" SoakProgressComplete SoakProgressStage = "complete" )
type SoakReceipt ¶
type SoakReceipt struct {
SchemaVersion uint32 `json:"schemaVersion"`
FormatRevision uint16 `json:"formatRevision"`
Engine string `json:"engine"`
Profile string `json:"profile"`
RaceEnabled bool `json:"raceEnabled"`
GOOS string `json:"goos"`
GOARCH string `json:"goarch"`
GoVersion string `json:"goVersion"`
SourceRevision string `json:"sourceRevision,omitempty"`
BuildRevision string `json:"buildRevision,omitempty"`
BuildModified bool `json:"buildModified"`
Device uint64 `json:"device"`
FilesystemType string `json:"filesystemType"`
FilesystemName string `json:"filesystemName"`
BlockSize uint64 `json:"blockSize"`
StartedAt time.Time `json:"startedAt"`
FinishedAt time.Time `json:"finishedAt"`
RequestedSeconds int `json:"requestedSeconds"`
ConcurrentDuration time.Duration `json:"concurrentDurationNanos"`
ActualDuration time.Duration `json:"actualDurationNanos"`
Documents int `json:"documents"`
RequestedReopens int `json:"requestedReopens"`
CompletedReopens int `json:"completedReopens"`
Writes uint64 `json:"writes"`
SnapshotReads uint64 `json:"snapshotReads"`
IndexBuildBatches uint64 `json:"indexBuildBatches"`
ReclamationAttempts uint64 `json:"reclamationAttempts"`
ReclamationConflicts uint64 `json:"reclamationConflicts"`
FinalCommitSequence uint64 `json:"finalCommitSequence"`
FinalFileBytes uint64 `json:"finalFileBytes"`
FinalPhysicalPages uint64 `json:"finalPhysicalPages"`
FinalReachablePages uint64 `json:"finalReachablePages"`
FinalReclaimablePages uint64 `json:"finalReclaimablePages"`
FinalFileSHA256 string `json:"finalFileSha256"`
PersistentFreeSpace bool `json:"persistentFreeSpace"`
FreeSpaceValid bool `json:"freeSpaceValid"`
SemanticIndexes bool `json:"semanticIndexesVerified"`
SemanticIndexBuilds bool `json:"semanticIndexBuildsVerified"`
FinalIndexBuildAbsent bool `json:"finalIndexBuildAbsent"`
Phases []SoakPhaseReceipt `json:"phases"`
}
func RunStorageSoak ¶
func RunStorageSoak(ctx context.Context, options SoakOptions) (_ SoakReceipt, resultErr error)
Click to show internal directories.
Click to hide internal directories.