Tags: MerlinDMC/kine
Tags
Fix bad check in compact query * Fix issue where compact_rev_key was protected from deletion, instead of the row it points to. Honestly we should have stored the compact_rev marker in the value instead of the prev_revision column. Signed-off-by: Brad Davidson <[email protected]>
Switch to single-transaction native SQL compaction (k3s-io#51) * Wrap compaction in a database transaction Also adds additional debug logging * Add additional indexes to optimize deletes * Clean up SQL strings * Add single-query native SQL compact * Switch to using one-shot native SQL compact Incorporates compactor/compact function layout and logic cribbed from k8s.io/apiserver/pkg/storage/etcd3/compact.go * Move interval to const; fix compact SQL for sqlite * Add verified compact SQL queries for each supported DB * Log driver in startup message * Clean up CompactSQL strings * Log DDL commands executed during driver startup * Add transaction batching and time limit Break transactions into smaller batches to avoid excessive locking, and use a deadlined context on the transaction to enforce an upper bound on the time spent locked. * Don't overshoot target when moving iteration target forward * Move compact progress message to debug * Add Info-level messages around startup DDL commands * Fix nit about mysql variable naming Bring mysql schema creation in line with other drivers * Update SQL drivers There appears to be an issue with github.com/go-sql-driver/mysql v1.5.0 on arm so I'm skipping that for now. Signed-off-by: Brad Davidson <[email protected]>
PreviousNext