Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: microsoft/dcp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.24.1
Choose a base ref
...
head repository: microsoft/dcp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.24.2
Choose a head ref
  • 1 commit
  • 89 files changed
  • 2 contributors

Commits on May 14, 2026

  1. Add SQLite state store for persistent resources (#142) (#152)

    * Add SQLite state store for persistent resources
    
    Add a local SQLite-backed state store for persistent process metadata and cross-instance resource leases. Wire the store into controller startup and persistent executable/container/network coordination, and manage schema updates through embedded golang-migrate migrations with compatibility authoring guidance.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    
    * Improve persistent executable lifecycle handling
    
    
    
    * Preserve process identity times in state store
    
    
    
    * Update dependency notices
    
    
    
    * Use structured executable lifecycle key hashing
    
    
    
    * Simplify container startup retry handling
    
    
    
    * Refactor container startup orchestration
    
    
    
    * Handle persistent executable adoption before start gating
    
    
    
    * Simplify resource lease persistence
    
    Remove persisted lease expiration state and use updated-at only for leaseholder revalidation. Also make SQLite file DSNs compatible with Windows drive-letter paths.
    
    
    
    * Require leasable resources for resource leases
    
    Add a GetLeaseKey interface for resource lease operations and implement it on Container and ContainerNetwork. Remove the redundant statestore key helpers and normalize touched file headers.
    
    
    
    * Clarify persistence API documentation
    
    Describe persistent executable API and state-store behavior at a high level instead of copying source declarations into docs.
    
    
    
    * Describe executable persistence as feature docs
    
    Remove branch-oriented change wording so the documentation describes executable persistence as stable behavior.
    
    
    
    * Use resource leases for persistent executables
    
    Coordinate persistent Executable reconciliation through resource leases, use Executable.GetLeaseKey for process records, and add interface guards for leasable API resources.
    
    
    
    * Extract executable persistence helpers
    
    
    
    * Clarify resource lease contention logs
    
    
    
    * Preserve reusable persistent executable records
    
    
    
    * Configure state store WAL checkpointing
    
    
    
    * Use executable spec lifecycle keys for persistence
    
    
    
    * Require lease ownership on release
    
    
    
    * Use effective executable lifecycle inputs
    
    
    
    * Store process PID for adopted runs
    
    
    
    * Guard persistent container setup with leases
    
    
    
    * Flush shutdown response before stopping apiserver
    
    
    
    * Gate persistent container startup with leases
    
    
    
    * Close state store migration runner
    
    
    
    * Align persistent executable lease handling
    
    
    
    * Fix persistent container lease retries
    
    
    
    * Format process identity values safely
    
    
    
    * Harden persistent resource cleanup
    
    Treat persistent network lease configuration failures as terminal startup errors instead of retrying indefinitely, and close process run output files when persistent runs are released.
    
    
    
    * Simplify state store file setup
    
    Remove the point-in-time SQLite file restriction pass and let SQLite own database and sidecar file creation. The state store now only ensures the parent directory exists before opening the database.
    
    
    
    * Trim persistent state metadata
    
    Remove unused metadata from resource leases and persistent process records while this schema is still in draft. Persistent process records now keep only durable process state, and lifecycle diagnostics sort changed executable environment names for stable logs.
    
    
    
    * Clarify lease owner identity logging
    
    Rename the lease contention log field from LeaseOwnerStartTime to LeaseOwnerIdentityTime because the value is a process identity discriminator and is not necessarily a wall-clock start time.
    
    
    
    * Persist executable output files
    
    
    
    * Skip timestamp pipe for persistent output
    
    
    
    * Release persistent container lease after reuse
    
    
    
    * Harden persistent output directory setup
    
    
    
    * Format io platform files
    
    
    
    * Simplify persistent process PID check
    
    
    
    * Release persistent executable leases on stable states
    
    
    
    * Use process abstraction for executable stop
    
    
    
    * Release persistent resource leases on stable states
    
    
    
    * Validate restricted directory owners on Windows
    
    
    
    * Release executable leases for unknown state
    
    
    
    * Add lifecycle-bound persistent monitors
    
    
    
    * Fix restricted directory test on Windows
    
    
    
    * Validate monitor timestamp in dcpproc helper
    
    
    
    * Remove duplicate executable display start time
    
    
    
    * Refine persistent lease release handling
    
    
    
    * Respect state store migration busy timeout
    
    
    
    * Use test contexts in lease tests
    
    
    
    * Move persistent lease coverage to integration tests
    
    
    
    * Remove unused container lease helper
    
    
    
    * Return lifecycle env file read errors
    
    
    
    * Use computed executable lease owner in tests
    
    
    
    * Avoid chmodding explicit state store parents
    
    
    
    * Use restricted integration state store dirs
    
    
    
    * Guard adopted process watcher cleanup
    
    
    
    * Validate restricted directory ACLs on Windows
    
    
    
    * Secure statestore test directories on Windows
    
    
    
    * Clean invalid persistent executable records on startup
    
    
    
    * Reject deny ACEs in restricted directory validation
    
    
    
    * Relax Windows restricted directory validation
    
    
    
    * Separate elevated state store directory
    
    
    
    * Rename comparable sync map
    
    
    
    * Run invalid persistent cleanup asynchronously
    
    
    
    * Simplify persistent cleanup lease skip
    
    
    
    * Reload persistent record before cleanup
    
    
    
    ---------
    
    Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
    danegsta and Copilot authored May 14, 2026
    Configuration menu
    Copy the full SHA
    8b93907 View commit details
    Browse the repository at this point in the history
Loading